test suite: add timing, report 10 slowest tests. #298
parent
268384572b
commit
5c006a4370
|
@ -8,6 +8,7 @@ declare -a failed_tests=("");
|
||||||
declare -a xpassed_tests=("");
|
declare -a xpassed_tests=("");
|
||||||
|
|
||||||
# Parse TRS Files
|
# Parse TRS Files
|
||||||
|
tosort=""
|
||||||
for file in $1 ; do
|
for file in $1 ; do
|
||||||
# Find number of tests run in trs file
|
# Find number of tests run in trs file
|
||||||
((total += `grep number-tests $file | cut -d: -f3`))
|
((total += `grep number-tests $file | cut -d: -f3`))
|
||||||
|
@ -20,6 +21,9 @@ for file in $1 ; do
|
||||||
failed_tests=("${failed_tests[@]}" "$failedfile");
|
failed_tests=("${failed_tests[@]}" "$failedfile");
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
time=`grep cputime $file | cut -d: -f3`
|
||||||
|
tosort=`echo $tosort\| $file ' - ' $time:`
|
||||||
done
|
done
|
||||||
((passed=$total-$failed));
|
((passed=$total-$failed));
|
||||||
|
|
||||||
|
@ -37,10 +41,15 @@ for file in $2 ; do
|
||||||
xpassed_tests=("${xpassed_tests[@]}" "$xpassedfile");
|
xpassed_tests=("${xpassed_tests[@]}" "$xpassedfile");
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
time=`grep cputime $file | cut -d: -f3`
|
||||||
|
tosort=`echo $tosort\| $file ' - ' $time:`
|
||||||
done
|
done
|
||||||
((xfailed=$total_xfail-$xpassed));
|
((xfailed=$total_xfail-$xpassed));
|
||||||
((total+=$total_xfail));
|
((total+=$total_xfail));
|
||||||
|
|
||||||
|
timing=`echo $tosort | tr ":" "\n" | sort -rn -k4 | sed -e 's/$/:/' | head -n10`
|
||||||
|
|
||||||
# Determine if we are parsing Matlab or Octave trs files
|
# Determine if we are parsing Matlab or Octave trs files
|
||||||
if [ `grep -c '.m.trs' <<< $1` -eq 0 ]; then
|
if [ `grep -c '.m.trs' <<< $1` -eq 0 ]; then
|
||||||
prg='OCTAVE';
|
prg='OCTAVE';
|
||||||
|
@ -81,4 +90,12 @@ if [ $xpassed -gt 0 ] ; then
|
||||||
echo '| * '$modfile >> $outfile
|
echo '| * '$modfile >> $outfile
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
echo '|' >> $outfile
|
||||||
|
echo '| LIST OF 10 SLOWEST TESTS:' >> $outfile
|
||||||
|
if [ "$prg" == "MATLAB" ]; then
|
||||||
|
timing=`sed 's/\.m\.trs/\.mod/g' <<< $timing`
|
||||||
|
else
|
||||||
|
timing=`sed 's/\.o\.trs/\.mod/g' <<< $timing`
|
||||||
|
fi
|
||||||
|
echo $timing | tr ':' '\n' | sed -e 's/^[ \t]*//' | sed '/^$/d' >> $outfile
|
||||||
echo >> $outfile
|
echo >> $outfile
|
||||||
|
|
|
@ -43,5 +43,6 @@ else
|
||||||
fprintf(fid,':number-tests: %d\n', counter);
|
fprintf(fid,':number-tests: %d\n', counter);
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n',0.0);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
exit
|
exit
|
||||||
|
|
|
@ -38,6 +38,7 @@ failedBlock = {};
|
||||||
num_block_tests = 0;
|
num_block_tests = 0;
|
||||||
cd([top_test_dir filesep 'block_bytecode']);
|
cd([top_test_dir filesep 'block_bytecode']);
|
||||||
has_optimization_toolbox = user_has_matlab_license('optimization_toolbox');
|
has_optimization_toolbox = user_has_matlab_license('optimization_toolbox');
|
||||||
|
cput = cputime;
|
||||||
for blockFlag = 0:1
|
for blockFlag = 0:1
|
||||||
for bytecodeFlag = 0:1
|
for bytecodeFlag = 0:1
|
||||||
default_solve_algo = 2;
|
default_solve_algo = 2;
|
||||||
|
@ -128,6 +129,7 @@ for blockFlag = 0:1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
ecput = cputime - cput;
|
||||||
delete('wsMat.mat')
|
delete('wsMat.mat')
|
||||||
cd(getenv('TOP_TEST_DIR'));
|
cd(getenv('TOP_TEST_DIR'));
|
||||||
fid = fopen('run_block_byte_tests_matlab.m.trs', 'w+');
|
fid = fopen('run_block_byte_tests_matlab.m.trs', 'w+');
|
||||||
|
@ -141,5 +143,6 @@ else
|
||||||
fprintf(fid,':number-tests: %d\n', num_block_tests);
|
fprintf(fid,':number-tests: %d\n', num_block_tests);
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n', ecput);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
exit;
|
exit;
|
||||||
|
|
|
@ -40,6 +40,7 @@ putenv("GNUTERM", "dumb")
|
||||||
failedBlock = {};
|
failedBlock = {};
|
||||||
num_block_tests = 0;
|
num_block_tests = 0;
|
||||||
cd([top_test_dir filesep 'block_bytecode']);
|
cd([top_test_dir filesep 'block_bytecode']);
|
||||||
|
cput = cputime;
|
||||||
for blockFlag = 0:1
|
for blockFlag = 0:1
|
||||||
for bytecodeFlag = 0:1
|
for bytecodeFlag = 0:1
|
||||||
## Recall that solve_algo=7 and stack_solve_algo=2 are not supported
|
## Recall that solve_algo=7 and stack_solve_algo=2 are not supported
|
||||||
|
@ -130,8 +131,8 @@ for blockFlag = 0:1
|
||||||
endfor
|
endfor
|
||||||
endfor
|
endfor
|
||||||
endfor
|
endfor
|
||||||
|
ecput = cputime - cput;
|
||||||
delete('wsOct');
|
delete('wsOct');
|
||||||
|
|
||||||
cd(getenv('TOP_TEST_DIR'));
|
cd(getenv('TOP_TEST_DIR'));
|
||||||
fid = fopen('run_block_byte_tests_octave.o.trs', 'w+');
|
fid = fopen('run_block_byte_tests_octave.o.trs', 'w+');
|
||||||
if size(failedBlock,2) > 0
|
if size(failedBlock,2) > 0
|
||||||
|
@ -144,6 +145,7 @@ else
|
||||||
fprintf(fid,':number-tests: %d\n', num_block_tests);
|
fprintf(fid,':number-tests: %d\n', num_block_tests);
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n', ecput);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
## Local variables:
|
## Local variables:
|
||||||
## mode: Octave
|
## mode: Octave
|
||||||
|
|
|
@ -57,5 +57,6 @@ else
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
fprintf(fid,':list-of-passed-tests: run_reporting_test_matlab.m\n');
|
fprintf(fid,':list-of-passed-tests: run_reporting_test_matlab.m\n');
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n',0.0);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
exit;
|
exit;
|
||||||
|
|
|
@ -61,6 +61,7 @@ else
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
fprintf(fid,':list-of-passed-tests: run_reporting_test_octave.m\n');
|
fprintf(fid,':list-of-passed-tests: run_reporting_test_octave.m\n');
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n',0.0);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
|
|
||||||
## Local variables:
|
## Local variables:
|
||||||
|
|
|
@ -31,6 +31,9 @@ cd(directory);
|
||||||
|
|
||||||
disp('');
|
disp('');
|
||||||
disp(['*** TESTING: ' modfile ' ***']);
|
disp(['*** TESTING: ' modfile ' ***']);
|
||||||
|
|
||||||
|
cput = cputime;
|
||||||
|
save(['wsMat' testfile '.mat']);
|
||||||
try
|
try
|
||||||
dynare([testfile ext], 'console')
|
dynare([testfile ext], 'console')
|
||||||
testFailed = false;
|
testFailed = false;
|
||||||
|
@ -38,8 +41,14 @@ catch exception
|
||||||
printMakeCheckMatlabErrMsg(strtok(getenv('FILESTEM')), exception);
|
printMakeCheckMatlabErrMsg(strtok(getenv('FILESTEM')), exception);
|
||||||
testFailed = true;
|
testFailed = true;
|
||||||
end
|
end
|
||||||
|
top_test_dir = getenv('TOP_TEST_DIR');
|
||||||
|
[modfile, name] = strtok(getenv('FILESTEM'));
|
||||||
|
[directory, testfile, ext] = fileparts([top_test_dir '/' modfile]);
|
||||||
|
load(['wsMat' testfile '.mat']);
|
||||||
|
ecput = cputime - cput;
|
||||||
|
delete(['wsMat' testfile '.mat']);
|
||||||
|
|
||||||
cd(getenv('TOP_TEST_DIR'));
|
cd(top_test_dir);
|
||||||
name = strtok(getenv('FILESTEM'));
|
name = strtok(getenv('FILESTEM'));
|
||||||
fid = fopen([name '.m.trs'], 'w');
|
fid = fopen([name '.m.trs'], 'w');
|
||||||
if fid < 0
|
if fid < 0
|
||||||
|
@ -58,5 +67,6 @@ else
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
fprintf(fid,':list-of-passed-tests: %s\n', [name '.mod']);
|
fprintf(fid,':list-of-passed-tests: %s\n', [name '.mod']);
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n', ecput);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
exit;
|
exit;
|
||||||
|
|
|
@ -38,8 +38,11 @@ setenv("GNUTERM", "dumb");
|
||||||
name = getenv("FILESTEM");
|
name = getenv("FILESTEM");
|
||||||
[directory, testfile, ext] = fileparts([top_test_dir '/' name]);
|
[directory, testfile, ext] = fileparts([top_test_dir '/' name]);
|
||||||
cd(directory);
|
cd(directory);
|
||||||
|
|
||||||
printf("\n*** TESTING: %s ***\n", name);
|
printf("\n*** TESTING: %s ***\n", name);
|
||||||
|
|
||||||
|
cput = cputime;
|
||||||
|
save(['wsOct' testfile '.mat']);
|
||||||
try
|
try
|
||||||
dynare([testfile ext])
|
dynare([testfile ext])
|
||||||
testFailed = false;
|
testFailed = false;
|
||||||
|
@ -47,10 +50,14 @@ catch
|
||||||
printMakeCheckOctaveErrMsg(getenv("FILESTEM"), lasterror);
|
printMakeCheckOctaveErrMsg(getenv("FILESTEM"), lasterror);
|
||||||
testFailed = true;
|
testFailed = true;
|
||||||
end_try_catch
|
end_try_catch
|
||||||
|
|
||||||
top_test_dir = getenv('TOP_TEST_DIR');
|
top_test_dir = getenv('TOP_TEST_DIR');
|
||||||
cd(top_test_dir);
|
|
||||||
name = getenv("FILESTEM");
|
name = getenv("FILESTEM");
|
||||||
|
[directory, testfile, ext] = fileparts([top_test_dir '/' name]);
|
||||||
|
load(['wsOct' testfile '.mat']);
|
||||||
|
ecput = cputime - cput;
|
||||||
|
delete(['wsOct' testfile '.mat']);
|
||||||
|
|
||||||
|
cd(top_test_dir);
|
||||||
fid = fopen([name '.o.trs'], 'w+');
|
fid = fopen([name '.o.trs'], 'w+');
|
||||||
if testFailed
|
if testFailed
|
||||||
fprintf(fid,':test-result: FAIL\n');
|
fprintf(fid,':test-result: FAIL\n');
|
||||||
|
@ -63,6 +70,7 @@ else
|
||||||
fprintf(fid,':number-failed-tests: 0\n');
|
fprintf(fid,':number-failed-tests: 0\n');
|
||||||
fprintf(fid,':list-of-passed-tests: %s\n', [name '.mod']);
|
fprintf(fid,':list-of-passed-tests: %s\n', [name '.mod']);
|
||||||
end
|
end
|
||||||
|
fprintf(fid,':cputime: %f\n', ecput);
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
|
|
||||||
## Local variables:
|
## Local variables:
|
||||||
|
|
Loading…
Reference in New Issue