Mercurial > hg > ltpda
diff m-toolbox/classes/tests/@ltpda_test_runner/run_tests.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/tests/@ltpda_test_runner/run_tests.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,68 @@ +% RUN_TESTS runs different configurations of units tests. +% +% CALL: +% runner = ltpda_test_runner(); +% +% The following calls are supported: +% runner.run_tests() % all tests under the current directory +% runner.run_tests('all') % all +% runner.run_tests('models') % only models +% runner.run_tests('classes') % only models +% runner.run_tests(<test_class>) % all tests in test class +% runner.run_tests(<test_class>, {... methods ...}) % only particular tests in test class +% +% VERSION: $Id: run_tests.m,v 1.3 2010/10/08 07:01:01 hewitson Exp $ +% +function varargout = run_tests(varargin) + + runner = varargin{1}; + tests = []; + + vlvl = LTPDAprefs.verboseLevel; + LTPDAprefs('Display', 'verboseLevel', 0); + + current_path = path(); + + % Buil test list + switch nargin + case 1 % run all under this directory + tests = [tests runner.get_tests_in_dir('.')]; + case 2 + str = lower(varargin{2}); + switch str + case 'all' + tests = [tests runner.get_builtin_model_tests()]; + tests = [tests runner.get_class_tests()]; + case 'models' + tests = [tests runner.get_builtin_model_tests()]; + case 'classes' + tests = [tests runner.get_class_tests()]; + otherwise + tests = [tests runner.get_tests_for_class(varargin{2})]; + end + + case 3 + + % all tests for this test class + tests = runner.get_tests_for_class(varargin{2}); + % then set the requested methods + methods = varargin{3}; + if ischar(methods) + methods = {methods}; + end + tests.methods = methods; + + otherwise + help(mfilename); + error('incorrect inputs'); + end + + % run tests + runner.run_test_list(tests); + + path(current_path); + savepath; + + LTPDAprefs('Display', 'verboseLevel', vlvl); + +end \ No newline at end of file