Newer
Older
function [passed,results] = run_gdat_tests(test_case)
% F. Felici, EPFL federico.felici@epfl.ch
if nargin==0 || isempty(test_case)
test_case = 'basic'; % default
end
%% populate suite
% add path with tests
addpath(genpath(fullfile(fileparts(mfilename('fullpath')),'tests')));
suite_all = [matlab.unittest.TestSuite.fromClass(?test_requestnames_TCV),...
matlab.unittest.TestSuite.fromClass(?test_requestnames_AUG)];
switch test_case
case 'all'
suite = suite_all; % run all
case 'basic'
import matlab.unittest.selectors.HasParameter;
import matlab.unittest.selectors.HasName;
import matlab.unittest.constraints.ContainsSubstring;
suite = suite_all.selectIf(HasParameter('Value','TCV') & ...
(HasParameter('Value','ip') | HasParameter('Value','q_rho')));
case 'TCV'
suite = suite_all.selectIf(HasParameter('machine',IsEqualTo('TCV')));
case 'AUG'
suite = suite_all.selectIf(HasParameter('machine',IsEqualTo('AUG')));
otherwise
error('not yet implemented')
end
%% run it
fprintf('Start test case: %s\n%s\n\n',test_case,datestr(now));
results = run(suite);
disp(table(results));
fprintf('\nTotal test duration: %5.2fs\n',sum(table(results).Duration))
%% display results
if all([results.Passed])
fprintf('\nPassed all tests\n')
passed = true;
else
fprintf('\nSome tests Failed or Incomplete\n')
if any([results.Incomplete])
fprintf('\nIncomplete:\n')
disp(table(results([results.Incomplete])))
end
if any([results.Failed])
fprintf('\nFailed:\n')
disp(table(results([results.Failed])));
end
passed = false;
end
end
function [shots,request_list] = get_gdat_test_params(machine)
% get requests for this machine
[gd0,~] = gdat('machine',machine);
request_list = gd0.gdat_request;
% get test shot list for this machine
shots = get_shots(machine);
end
function shots = get_shots(machine)
switch machine
case 'AUG'
shots = {num2str(30594)}; % use strings for display purposes
case 'TCV'
shots = {num2str(48836)};
otherwise
error('no shot defined for this machine')
end
end