Skip to content
Snippets Groups Projects
Commit f0ff846c authored by Lemmer, Jan's avatar Lemmer, Jan Committed by Hock, Martin
Browse files

Dev/ci testing

parent b9aa3d93
No related branches found
No related tags found
2 merge requests!30Fix CI,!26Dev/ci testing
#!/bin/bash
matlab -nodisplay -nodesktop -r "CI_files/failrunner;exit(ans)"
exitstatus=$?
if [[$exitstatus -eq '0']]
then
echo "matlab succeed. Exitstatus: $exitstatus"
exit $exitstatus
else
echo "matlab failed. Exitstatus: $exitstatus"
exit $exitstatus
fi
\ No newline at end of file
......@@ -5,5 +5,16 @@ Test Code:
stage: Run
tags:
- matlab
- bash
script:
- ./CI_files/runtest.ps1
- cd ./CI_files
- chmod +x ./runner_linux.sh
- ./runner_linux.sh
- cat ./log.txt
artifacts:
paths:
- ./CI_files/log.txt
- ./CI_files/matlab_log.txt
when: always
expire_in: 1 week
......@@ -4,28 +4,45 @@ function [result] = default_test()
clear; clc; close all;
% set path
% starting path of gitlab runner is in CI_files
if contains(pwd,'CI_files')
cd .. % move one directory up
end
% clean up, if previous run failed
try
delete CI_files/export/* CI_files/*.mat CI_files/*.h5
rmdir('CI_files/export','s');
delete(['CI_files' filesep 'export' filesep '*']);
delete(['CI_files' filesep '*.mat']);
delete(['CI_files' filesep '*.h5']);
rmdir(['CI_files' filesep 'export'],'s');
end
% initialise
numberOfTests = 2;
testResults = zeros(numberOfTests,1);
%start log
fid = fopen(fullfile('CI_files','log.txt'),'w');
txt = ['default test started ' newline];
fprintf(fid,txt);
try
ProjectID = 'Test01';
%% Data
% some random data
x = linspace(0,7);
y = rand(1,100)+2;
dataset1 = 'test_data.mat';
pwd
save('CI_files/test_data.mat','x','y');
dataset1 = fullfile('CI_files','test_data.mat');
save(dataset1,'x','y');
% some data as .h5
x1 = linspace(0,2*pi);
y1 = sin(x1)+2;
% define file path & name
fpath = "CI_files/testdata2.h5";
dataset2 = 'CI_files/testdata2.h5';
fpath = fullfile("CI_files","testdata2.h5");
dataset2 = fullfile('CI_files','testdata2.h5');
% create hdf5 file and dataset > write data to hdf5 file / dataset
h5create(fpath, "/x1", size(x1), "Datatype", class(x1))
......@@ -39,19 +56,22 @@ try
plot(x,y,'-k');
hold on
plot(x1,y1,'-r');
msg = 'simple_test succeed stage 1';
catch
result = false;
warning('simple_test failed in Stage 1');
exit;
testResults(1) = 1; %test fails
msg = 'simple_test failed in Stage 1';
warning(msg);
end
fprintf(fid,[msg newline]);
%% Tag the plot
try
[figs, ID] = PlotID.TagPlot(fig,'ProjectID', ProjectID);
%% call a dummy function
a=1;
a = example_fcn(a);
%a=1;
%a = example_fcn(a);
%% publishing
......@@ -63,19 +83,33 @@ try
rdata = {dataset1,dataset2} ; % don't forget the extension
PlotID.Publish(rdata,script, figs, 'Location', 'CI-Test')
result = true;
% clean up
delete CI_files/export/* CI_files/*.mat CI_files/*.h5
rmdir('CI_files/export','s');
clc;
msg = 'simple_test succeed Stage 2';
catch
result = false;
warning('simple_test failed in Stage 2');
testResults(2) = 1; %fail
msg = 'simple_test failed in Stage 2';
warning(msg);
end
fprintf(fid,[msg newline]); %log
%% Test result
if any(testResults)
result = 1; %fail
warning('test failed');
else
result = 0; % pass
disp('test succeed');
end
fclose(fid);
% final clean up
try
delete(['CI_files' filesep 'export' filesep '*']);
delete(['CI_files' filesep '*.mat']);
delete(['CI_files' filesep '*.h5']);
rmdir(['CI_files' filesep 'export'],'s');
end
end
function [retVal] = fail_runner()
%RUNNER_TESTING testing function to test, if the runner is set up properly
retVal = 1; % test should fail !
fid = fopen(fullfile('log.txt'),'w');
txt = ['This is a test, Errorstate: ', num2str(retVal)];
fprintf(fid,txt);
fclose(fid);
end
function [retVal] = pass_runner()
%pass_runner testing function to test, if the runner is set up properly
retVal = 0; % test should succeed !
fid = fopen(fullfile('log.txt'),'w');
txt = ['This is a test, Errorstate: ', num2str(retVal)];
fprintf(fid,txt);
fclose(fid);
end
#!/bin/bash
#matlab -r "disp(['Current folder: ' pwd])"
matlab $@ -nodisplay -nodesktop -nosplash -logfile matlab_log.txt -r "default_test;exit(ans);"
exitstatus=$?
if [[ $exitstatus -eq '0' ]]
then
echo "matlab succeed. Exitstatus: $exitstatus"
exit $exitstatus
else
echo "matlab failed. Exitstatus: $exitstatus"
exit $exitstatus
fi
%Test 1
try
resultt = runner_testing
catch
warning("Error in Test1");
end
exit(resultt)
function [result] = runner_testing()
%RUNNER_TESTING testing function to test, if the runner is set up properly
result = true;
disp(pwd);
result = version; disp(result); result = isempty(result); disp(result); result = int8(result); disp(result); pause(5);
end
......@@ -5,7 +5,7 @@ $wd = pwd;
$LOGFILE = $("$wd" + "\" + "$LOGFILE")
$CIfolder = "$wd" + "\" + "CI_files\"
# $MFILE='"C:\git\NFDI4ing\plot_ID_matlab\CI_files\runner_test.m"'
$arguments = "-nodesktop", "-nosplash","-minimize","-wait","-sd", "$wd", "-logfile", "$LOGFILE","-batch","CI_files\default_test"
$arguments = "-nodesktop", "-nosplash","-minimize","-wait","-sd", "$wd", "-logfile", "$LOGFILE","-batch","CI_files\test_runner_STFS.m"
$Returnvalue = & 'C:\Program Files\MATLAB\R2021b\bin\matlab.exe' $arguments
#$CODE = $?
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment