function unit_init(verbosity, global_vars) ## Initialize the global structure unittest_results, which is needed ## in all functions of the *unittest module. Debugging information ## is printed if verbosity==1. global_vars is a cell array of the ## names of the global variables used in the tests. ## ## e.g. unit_init(1, {"g", "a", "x"}) global unittest_results; unittest_results.verbose = 0; unittest_results.eval_globals = {}; if (nargin > 0) if (!isscalar(verbosity) || verbosity < 0 || verbosity > 1) warning("unit_init: verbose must be 0 or 1"); else unittest_results.verbose = verbosity; endif if (nargin == 2 && iscell(global_vars)) for i = 1:length(global_vars) unittest_results.eval_globals{i} = strcat("global ", global_vars{i}, ";"); endfor else error("global_vars must be a cell array"); endif if (nargin > 2) usage("expecting 2 arguments only"); end endif unittest_results.total = 0; # number of testcases attempted unittest_results.pass = 0; # number of expected passed unittest_results.fail = 0; # number of unexpected failures unittest_results.upass = 0; # number of unexpected passes unittest_results.xfail = 0; # number of expected failures unittest_results.unresolved = 0; # number of unresolved testcases default_eval_print_flag = 0; endfunction