#1st TEST RESULT_VARIABLE ONLY execute_process(COMMAND ${EXIT_CODE_EXE} "zero_exit" RESULT_VARIABLE r0 ) message(STATUS " 1 - 1 RESULT_VARIABLE: ${r0}") if(NOT r0 EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() execute_process(COMMAND ${EXIT_CODE_EXE} "non_zero_exit" RESULT_VARIABLE r01 ERROR_QUIET ) message(STATUS " 1 - 2 RESULT_VARIABLE: ${r01}") if(r01 EQUAL 0) message(FATAL_ERROR "non-zero exit code expected") endif() #2nd TEST RESULT_VARIABLE and RESULTS_VARIABLE execute_process(COMMAND ${EXIT_CODE_EXE} "zero_exit" RESULT_VARIABLE r1 RESULTS_VARIABLE r1s ) message(STATUS " 2 - 1 RESULT_VARIABLE: ${r1}") message(STATUS " 2 - 1 RESULTS_VARIABLE: ${r1s}") if(NOT r1 EQUAL 0 OR NOT r1s EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() execute_process(COMMAND ${EXIT_CODE_EXE} "non_zero_exit" RESULT_VARIABLE r11 RESULTS_VARIABLE r11s ERROR_QUIET ) message(STATUS " 2 - 2 RESULT_VARIABLE: ${r11}") message(STATUS " 2 - 2 RESULTS_VARIABLE: ${r11s}") if(r11 EQUAL 0 OR r11s EQUAL 0) message(FATAL_ERROR "non-zero exit code expected") endif() #3rd TEST RESULTS_VARIABLE execute_process(COMMAND ${EXIT_CODE_EXE} "zero_exit" RESULTS_VARIABLE r2s ) message(STATUS " 3 - 1 RESULTS_VARIABLE: ${r2s}") if(NOT r2s EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() execute_process(COMMAND ${EXIT_CODE_EXE} "non_zero_exit" RESULTS_VARIABLE r21s ERROR_QUIET ) message(STATUS " 3 - 2 RESULTS_VARIABLE: ${r21s}") if(r21s EQUAL 0) message(FATAL_ERROR "non-zero exit code expected") endif() #4th TEST RESULT_VARIABLE and RESULTS_VARIABLE WITH MULTICOMMAND execute_process(COMMAND ${EXIT_CODE_EXE} "non_zero_exit" COMMAND ${EXIT_CODE_EXE} "zero_exit" COMMAND ${EXIT_CODE_EXE} "non_zero_exit" COMMAND ${EXIT_CODE_EXE} "zero_exit" COMMAND ${EXIT_CODE_EXE} "non_zero_exit" COMMAND ${EXIT_CODE_EXE} "zero_exit" RESULT_VARIABLE r31 RESULTS_VARIABLE r31s OUTPUT_QUIET ERROR_QUIET ) message(STATUS " 4 - 1 RESULT_VARIABLE: ${r31}") message(STATUS " 4 - 1 RESULTS_VARIABLE: ${r31s}") if(NOT r31 EQUAL 0) message(FATAL_ERROR "zero exit code expected for last command") endif() list(LENGTH r31s r31sLen) message(STATUS " 4 - 1 RESULTS_VARIABLE_LENGTH: ${r31sLen}") if(NOT r31sLen EQUAL 6) message(FATAL_ERROR "length of RESULTS_VARIABLE is not as expected") else() foreach(loop_var RANGE 5) list(GET r31s ${loop_var} rsLocal) math(EXPR isOdd "${loop_var} % 2") if(isOdd) if(NOT rsLocal EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() else() if(rsLocal EQUAL 0) message(FATAL_ERROR "non-zero exit code expected") endif() endif() endforeach() endif() #5th TEST RESULT_VARIABLE and RESULTS_VARIABLE WITH MULTICOMMAND execute_process(COMMAND ${EXIT_CODE_EXE} "zero_exit" COMMAND ${EXIT_CODE_EXE} "zero_exit" COMMAND ${EXIT_CODE_EXE} "non_zero_exit" RESULT_VARIABLE r41 RESULTS_VARIABLE r41s OUTPUT_QUIET ERROR_QUIET ) message(STATUS " 5 - 1 RESULT_VARIABLE: ${r41}") message(STATUS " 5 - 1 RESULTS_VARIABLE: ${r41s}") if(r41 EQUAL 0) message(FATAL_ERROR "non-zero exit code expected for last command") endif() list(LENGTH r41s r41sLen) message(STATUS " 5 - 1 RESULTS_VARIABLE_LENGTH: ${r41sLen}") if(NOT r31sLen EQUAL 6) message(FATAL_ERROR "length of RESULTS_VARIABLE is not as expected") else() list(GET r41s 0 rsLocal) if(NOT rsLocal EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() list(GET r41s 1 rsLocal) if(NOT rsLocal EQUAL 0) message(FATAL_ERROR "zero exit code expected") endif() list(GET r41s 2 rsLocal) if(rsLocal EQUAL 0) message(FATAL_ERROR "non-zero exit code expected") endif() endif()