From 094be65b10fd2a16e38446e040abbd43e7f7862d Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Mon, 4 Apr 2011 16:18:38 +0200 Subject: [PATCH] build system: print last err msg to stdout when an error is encountered --- tests/printMakeCheckErrMsg.m | 14 ++++++++++++++ tests/run_test_octave.m | 6 ++++++ 2 files changed, 20 insertions(+) create mode 100644 tests/printMakeCheckErrMsg.m diff --git a/tests/printMakeCheckErrMsg.m b/tests/printMakeCheckErrMsg.m new file mode 100644 index 000000000..528650ac1 --- /dev/null +++ b/tests/printMakeCheckErrMsg.m @@ -0,0 +1,14 @@ +function printMakeCheckErrMsg(modfilename, err) + printf("\n"); + printf("*************************************\n"); + printf("*** DYNARE-TEST ERROR ENCOUNTERED ***\n"); + printf("*************************************\n"); + printf(" WHILE RUNNING MODFILE: %s\n", modfilename); + printf(" MSG: %s\n", err.message); + if (size(err.stack, 1) > 0) + printf(" IN FILE: %s\n", err.stack(1).file); + printf(" IN FUNCTION: %s\n", err.stack(1).name); + printf(" ON LINE and COLUMN: %d and %d\n",err.stack(1).line,err.stack(1).column); + end + printf("*************************************\n\n\n"); +end \ No newline at end of file diff --git a/tests/run_test_octave.m b/tests/run_test_octave.m index 8349c9d1a..d3116c260 100644 --- a/tests/run_test_octave.m +++ b/tests/run_test_octave.m @@ -107,6 +107,7 @@ putenv("GNUTERM", "dumb") failed = {}; top_test_dir = [pwd '/']; +addpath(top_test_dir); for i=1:size(name,2) save('makecheck.mat', 'name', 'failed', 'i', 'top_test_dir'); @@ -120,6 +121,7 @@ for i=1:size(name,2) dynare([testfile ext], 'noclearall') catch failed{size(failed,2)+1} = name{i}; + printMakeCheckErrMsg(name{i}, lasterror); end_try_catch end @@ -157,6 +159,7 @@ for block = 0:1 save('test.mat','y_ref'); catch failed{size(failed,2)+1} = ['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')']; + printMakeCheckErrMsg(['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')'], lasterror); end_try_catch else try @@ -166,9 +169,11 @@ for block = 0:1 diff = oo_.endo_simul - y_ref; if (abs(diff) <= options_.dynatol) failed{size(failed,2)+1} = ['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')']; + printMakeCheckErrMsg(['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')'], lasterror); end catch failed{size(failed,2)+1} = ['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')']; + printMakeCheckErrMsg(['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')'], lasterror); end_try_catch endif load ws @@ -180,6 +185,7 @@ for block = 0:1 run_ls2003(block, bytecode, default_solve_algo, stack_solve_algos(i)) catch failed{size(failed,2)+1} = ['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')']; + printMakeCheckErrMsg(['block_bytecode/run_ls2003.m(' num2str(block) num2str(bytecode) num2str(solve_algos(i)) num2str(default_stack_solve_algo) ')'], lasterror); end_try_catch load ws endfor