From 3f57a6ac515c628f480f570d8e66ff2e157b2495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Sat, 23 Oct 2010 10:41:56 +0200 Subject: [PATCH] =?UTF-8?q?Testsuite:=C2=A0adding=20missing=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/.gitignore | 2 + .../block_bytecode/run_block_bytecode_tests.m | 61 +++++++++++++++++++ tests/block_bytecode/run_ls2003.m | 29 +++++++++ 3 files changed, 92 insertions(+) create mode 100644 tests/block_bytecode/run_block_bytecode_tests.m create mode 100644 tests/block_bytecode/run_ls2003.m diff --git a/tests/.gitignore b/tests/.gitignore index aa9af0d98..ecf434c22 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -21,6 +21,8 @@ !/AIM/fsdat.m !/block_bytecode/MARK3_endo.dat !/block_bytecode/MARK3_exo.dat +!/block_bytecode/run_block_bytecode_tests.m +!/block_bytecode/run_ls2003.m !/bvar_a_la_sims/bvar_sample.m !/external_function/extFunDeriv.m !/external_function/extFunNoDerivs.m diff --git a/tests/block_bytecode/run_block_bytecode_tests.m b/tests/block_bytecode/run_block_bytecode_tests.m new file mode 100644 index 000000000..00c02af5e --- /dev/null +++ b/tests/block_bytecode/run_block_bytecode_tests.m @@ -0,0 +1,61 @@ +## Copyright (C) 2010 Dynare Team +## +## This file is part of Dynare. +## +## Dynare is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## Dynare is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Dynare. If not, see . + +addpath(argv(){1}) + +if !strcmp(dynare_version(), argv(){2}) + error("Incorrect version of Dynare is being tested") +endif + +## Ask gnuplot to create graphics in text mode +## Note that setenv() was introduced in Octave 3.0.2, for compatibility +## with MATLAB +putenv("GNUTERM", "dumb") + +for block = 0:1 + for bytecode = 0:1 + ## Recall that solve_algo={0,7} and stack_solve_algo=2 are not supported + ## under Octave + default_solve_algo = 2; + default_stack_solve_algo = 0; + if !block && !bytecode + solve_algos = 1:4; + stack_solve_algos = 0; + elseif block && !bytecode + solve_algos = [1:4 6 8]; + stack_solve_algos = [0 1 3 4]; + else + solve_algos = [1:6 8]; + stack_solve_algos = [0 1 3:5]; + endif + + for i = 1:length(solve_algos) + save ws + run_ls2003(block, bytecode, solve_algos(i), default_stack_solve_algo) + load ws + endfor + for i = 1:length(stack_solve_algos) + save ws + run_ls2003(block, bytecode, default_solve_algo, stack_solve_algos(i)) + load ws + endfor + endfor +endfor + +## Local variables: +## mode: Octave +## End: diff --git a/tests/block_bytecode/run_ls2003.m b/tests/block_bytecode/run_ls2003.m new file mode 100644 index 000000000..61d7fd838 --- /dev/null +++ b/tests/block_bytecode/run_ls2003.m @@ -0,0 +1,29 @@ +## Copyright (C) 2010 Dynare Team +## +## This file is part of Dynare. +## +## Dynare is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## Dynare is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Dynare. If not, see . + +function run_ls2003(block, bytecode, solve_algo, stack_solve_algo) + printf("\nTEST: ls2003 (block=%d, bytecode=%d, solve_algo=%d, stack_solve_algo=%d)...\n", block, bytecode, solve_algo, stack_solve_algo); + fid = fopen("ls2003_tmp.mod", "w"); + assert(fid > 0); + fprintf(fid, "@#define block = %d\n@#define bytecode = %d\n@#define solve_algo = %d\n@#define stack_solve_algo = %d\n@#include \"ls2003.mod\"\n", block, bytecode, solve_algo, stack_solve_algo) + fclose(fid); + dynare("ls2003_tmp.mod") +endfunction + +## Local variables: +## mode: Octave +## End: