From 479cf5bf8b0fed731f259db806b317b9fd9dd6bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Thu, 4 Jul 2013 14:36:31 +0200 Subject: [PATCH] Added routines to run matlab's unitary tests. --- matlab/utilities/tests/run_unitary_tests.m | 38 +++++++++++++++++++ .../tests/run_unitary_tests_in_directory.m | 21 ++++++++++ 2 files changed, 59 insertions(+) create mode 100644 matlab/utilities/tests/run_unitary_tests.m create mode 100644 matlab/utilities/tests/run_unitary_tests_in_directory.m diff --git a/matlab/utilities/tests/run_unitary_tests.m b/matlab/utilities/tests/run_unitary_tests.m new file mode 100644 index 000000000..ca435fd5f --- /dev/null +++ b/matlab/utilities/tests/run_unitary_tests.m @@ -0,0 +1,38 @@ +function report = run_unitary_tests(listoffiles) + +% Copyright (C) 2013 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 . + +report = {}; + +for f=1:length(listoffiles) + if iscell(listoffiles{f}) + info = run_all_unitary_tests(listoffiles{f}); + report = [report; info]; + else + if isequal(listoffiles{f}(end-1:end),'.m') && ~isequal(listoffiles{f}(1:2),'.#') + if is_unitary_test_available(listoffiles{f}) + fprintf(['***** Process unitary tests in ' listoffiles{f} ' ... ']) + [check, info] = mtest(listoffiles{f}); + report = [report; info]; + fprintf(['Done!\n']) + else + disp(['Booh! No unitay tests available in ' listoffiles{f}]) + end + end + end +end \ No newline at end of file diff --git a/matlab/utilities/tests/run_unitary_tests_in_directory.m b/matlab/utilities/tests/run_unitary_tests_in_directory.m new file mode 100644 index 000000000..34c17169c --- /dev/null +++ b/matlab/utilities/tests/run_unitary_tests_in_directory.m @@ -0,0 +1,21 @@ +function report = run_unitary_tests_in_directory(dirname) + +% Copyright (C) 2013 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 . + +listoffiles = get_directory_description(dirname); +report = run_unitary_tests(listoffiles); \ No newline at end of file