From 44c916b4c831f1e81d3cc686ddb030e363b7e90b Mon Sep 17 00:00:00 2001 From: Clemens Buchacher Date: Fri, 24 Feb 2017 16:05:05 +0100 Subject: FindMatlab: always handle uncaught exception If runtests('$unittest_file') throws an exception it is ignored. It is easy to produce such an exception by passing a nonexistent file as UNITTEST_FILE. We already handle exceptions if the option NO_UNITTEST_FRAMEWORK is set. Use the same method to handle exceptions thrown by runtests or by a custom_Matlab_test_command. Fixes #16660. --- Modules/MatlabTestsRedirect.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Modules/MatlabTestsRedirect.cmake b/Modules/MatlabTestsRedirect.cmake index 64d580d..fc36fc3 100644 --- a/Modules/MatlabTestsRedirect.cmake +++ b/Modules/MatlabTestsRedirect.cmake @@ -55,11 +55,12 @@ endif() if(no_unittest_framework) - set(unittest_to_run "try, ${unittest_file_to_run_name}, catch err, disp('An exception has been thrown during the execution'), disp(err), disp(err.stack), exit(1), end, exit(0)") + set(unittest_to_run "${unittest_file_to_run_name}") endif() +set(command_to_run "try, ${unittest_to_run}, catch err, disp('An exception has been thrown during the execution'), disp(err), disp(err.stack), exit(1), end, exit(0)") set(Matlab_SCRIPT_TO_RUN - "addpath(${concat_string}); ${cmd_to_run_before_test}; ${unittest_to_run}" + "addpath(${concat_string}); ${cmd_to_run_before_test}; ${command_to_run}" ) # if the working directory is not specified then default # to the output_directory because the log file will go there -- cgit v0.12