| #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() |