diff --git a/test/core/TestingFunctionMacro_UnitTests.cmake b/test/core/TestingFunctionMacro_UnitTests.cmake index 119991648..b1bee36b8 100644 --- a/test/core/TestingFunctionMacro_UnitTests.cmake +++ b/test/core/TestingFunctionMacro_UnitTests.cmake @@ -687,6 +687,10 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) SET(MESSAGE_WRAPPER_UNIT_TEST_MODE TRUE) + # + # Add basic test with and without tracing + # + MESSAGE("Unconditionally add test (no tracing)") TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) UNITTEST_COMPARE_CONST( @@ -722,6 +726,168 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) ) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) + # + # _ENABLE_TESTS=OFF + # + + MESSAGE("Tests not enabled") + SET(${PACKAGE_NAME}_ENABLE_TESTS OFF) + TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + MESSAGE_WRAPPER_INPUT + "-- PackageA_SomeExec: NOT added test because PackageA_ENABLE_TESTS='OFF'." + ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "" ) + SET(${PACKAGE_NAME}_ENABLE_TESTS ON) + + # + # Test different nubmers and types of arguments + # + + MESSAGE("Add a single basic test with no arguments") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH}" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) + + MESSAGE("Add a single basic test with a single argument") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS arg1 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};arg1" + ) + + MESSAGE("Add a single basic test with a single argument that is '0'") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS 0 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};0" + ) + + MESSAGE("Add a single basic test with a single argument that is 'N'") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS N ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};N" + ) + + MESSAGE("Add a single basic test with two arguments") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS "arg1 arg2" ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};arg1;arg2" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) + + MESSAGE("Add two tests with simple arguments") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS "arg1" "arg2 arg3" + ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN}_0;${PACKEXEN_PATH};arg1;${PACKEXEN}_1;${PACKEXEN_PATH};arg2;arg3" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_0;${PACKEXEN}_1" ) + + MESSAGE("Add a double quoted input argument") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS "--arg1=\"bob and cats\"" ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};--arg1=\"bob and cats\"" + ) + + MESSAGE("Add a double quoted with single quotes input argument") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} ARGS "--arg1=\"'bob' and 'cats'\"" ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${PACKEXEN_PATH};--arg1=\"'bob' and 'cats'\"" + ) + + MESSAGE("Add two tests with different postfixes and arguments") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} + POSTFIX_AND_ARGS_0 pf_arg1 arg1 + POSTFIX_AND_ARGS_1 pf_arg23 arg2 arg3 + ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES + ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN}_pf_arg1;${PACKEXEN_PATH};arg1;${PACKEXEN}_pf_arg23;${PACKEXEN_PATH};arg2;arg3" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_pf_arg1;${PACKEXEN}_pf_arg23" ) + + MESSAGE("Add two tests with different postfixes and arguments with '0' and 'N'") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} + POSTFIX_AND_ARGS_0 pf_arg1 0 + POSTFIX_AND_ARGS_1 pf_arg23 N 0 + ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES + ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN}_pf_arg1;${PACKEXEN_PATH};0;${PACKEXEN}_pf_arg23;${PACKEXEN_PATH};N;0" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_pf_arg1;${PACKEXEN}_pf_arg23" ) + + MESSAGE("Add an executable with no prefix") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} NOEXEPREFIX ARGS arg1 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${EXEN}.exe;arg1" + ) + + MESSAGE("Add an executable with no suffix") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} NOEXESUFFIX ARGS arg1 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${PACKEXEN};arg1" + ) + + MESSAGE("Add an executable with no prefix and no suffix") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} NOEXEPREFIX NOEXESUFFIX ARGS arg1 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${EXEN};arg1" + ) + + MESSAGE("Add a test with a different name from the executable") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} NAME SomeOtherName ARGS arg1 ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKAGE_NAME}_SomeOtherName;${PACKEXEN_PATH};arg1" + ) + + MESSAGE("Add a test with with a postfix appended to the executable name") + GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) + TRIBITS_ADD_TEST( ${EXEN} NAME_POSTFIX somePostfix ARGS arg1 + ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "${PACKEXEN}_somePostfix;${PACKEXEN_PATH};arg1" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_somePostfix" ) + + # + # HOST, XHOST, HOSTTYPE, XHOSTTYPE + # + MESSAGE("Test in HOST") SET(${PROJECT_NAME}_HOSTNAME MyHost) TRIBITS_ADD_TEST( ${EXEN} HOST MyHost ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) @@ -830,6 +996,10 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) ) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) + # + # EXCLUDE_IF_NOT_TRUE + # + MESSAGE("EXCLUDE_IF_NOT_TRUE ") SET(VAR_THAT_IS_TRUE TRUE) TRIBITS_ADD_TEST( ${EXEN} EXCLUDE_IF_NOT_TRUE VAR_THAT_IS_TRUE @@ -888,6 +1058,25 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) ) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "" ) + MESSAGE("EXCLUDE_IF_NOT_TRUE ") + SET(VAR_THAT_IS_TRUE TRUE) + SET(VAR_THAT_IS_FALSE FALSE) + TRIBITS_ADD_TEST( ${EXEN} EXCLUDE_IF_NOT_TRUE VAR_THAT_IS_TRUE VAR_THAT_IS_FALSE + ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( + MESSAGE_WRAPPER_INPUT + "-- ${PACKEXEN}: NOT added test because EXCLUDE_IF_NOT_TRUE VAR_THAT_IS_FALSE='FALSE'!" + ) + UNITTEST_COMPARE_CONST( + TRIBITS_ADD_TEST_ADD_TEST_INPUT + "" + ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "" ) + + # + # DISABLED, DISABLED_AND_MSG + # + MESSAGE("DISABLED (trace add test)") SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) TRIBITS_ADD_TEST( ${EXEN} @@ -978,9 +1167,9 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "DISABLED;ON") - MESSAGE("DISABLED and then _SET_DISABLED_AND_MSG=false") + MESSAGE("DISABLED input arg and _SET_DISABLED_AND_MSG=false") SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) - SET(${PACKEXEN}_SET_DISABLED_AND_MSG false) + SET(${PACKEXEN}_SET_DISABLED_AND_MSG false) # Ovesrrides DISABLED option to TAT()! TRIBITS_ADD_TEST( ${EXEN} DISABLED "Disabled by default (but this will be re-enabled by var)" ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) @@ -993,25 +1182,9 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1)!" ) UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT - "DISABLED") - - MESSAGE("_SET_RUN_SERIAL=ON") - SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) - SET(${PACKEXEN}_SET_RUN_SERIAL ON) - TRIBITS_ADD_TEST( ${EXEN} - ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES - "PackageA_SomeExec" ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH}" - ) - UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT - "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1, RUN_SERIAL)!" ) - UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT - "RUN_SERIAL") + "DISABLED") # Make sure DISABLED prop not even set! - MESSAGE("_SET_RUN_SERIAL=ON with NAME_POSTFIX and POSTFIX_AND_ARGS_") + MESSAGE("_SET_DISABLED_AND_MSG with NAME_POSTFIX and POSTFIX_AND_ARGS_") SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) SET(THIS_TEST_NAME ${PACKEXEN}_mypostfix_argpostfix0) SET(${THIS_TEST_NAME}_SET_DISABLED_AND_MSG "Disabled because of H and I") @@ -1028,10 +1201,14 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "DISABLED;ON") - MESSAGE("Set RUN_SERIAL input argument") + # + # RUN_SERIAL + # + + MESSAGE("_SET_RUN_SERIAL=ON") SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) - SET(${PACKEXEN}_SET_RUN_SERIAL "") - TRIBITS_ADD_TEST( ${EXEN} RUN_SERIAL + SET(${PACKEXEN}_SET_RUN_SERIAL ON) + TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "PackageA_SomeExec" ) @@ -1042,12 +1219,11 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1, RUN_SERIAL)!" ) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT - "RUN_SERIAL") - + "RUN_SERIAL;ON") - MESSAGE("Set RUN_SERIAL input argument but set _SET_RUN_SERIAL=OFF") + MESSAGE("Set RUN_SERIAL input option") SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) - SET(${PACKEXEN}_SET_RUN_SERIAL OFF) + SET(${PACKEXEN}_SET_RUN_SERIAL "") TRIBITS_ADD_TEST( ${EXEN} RUN_SERIAL ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES @@ -1057,160 +1233,29 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) "${PACKEXEN};${PACKEXEN_PATH}" ) UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT - "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1)!" ) - UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT - "RUN_SERIAL") + "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1, RUN_SERIAL)!" ) + UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT + "RUN_SERIAL;ON") - MESSAGE("EXCLUDE_IF_NOT_TRUE ") - SET(VAR_THAT_IS_TRUE TRUE) - SET(VAR_THAT_IS_FALSE FALSE) - TRIBITS_ADD_TEST( ${EXEN} EXCLUDE_IF_NOT_TRUE VAR_THAT_IS_TRUE VAR_THAT_IS_FALSE + MESSAGE("Set RUN_SERIAL input option but set _SET_RUN_SERIAL=OFF") + SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) + SET(${PACKEXEN}_SET_RUN_SERIAL OFF) # Overrides the input option RUN_SERIAL! + TRIBITS_ADD_TEST( ${EXEN} RUN_SERIAL ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( - MESSAGE_WRAPPER_INPUT - "-- ${PACKEXEN}: NOT added test because EXCLUDE_IF_NOT_TRUE VAR_THAT_IS_FALSE='FALSE'!" - ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "" ) - - MESSAGE("Add a single basic test with no arguments") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) + UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES + "PackageA_SomeExec" ) UNITTEST_COMPARE_CONST( TRIBITS_ADD_TEST_ADD_TEST_INPUT "${PACKEXEN};${PACKEXEN_PATH}" ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) - - MESSAGE("Add a single basic test with a single argument") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS arg1 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};arg1" - ) - - MESSAGE("Add a single basic test with a single argument that is '0'") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS 0 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};0" - ) - - MESSAGE("Add a single basic test with a single argument that is 'N'") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS N ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};N" - ) - - MESSAGE("Add a single basic test with two arguments") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS "arg1 arg2" ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};arg1;arg2" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}" ) - - MESSAGE("Add two tests with simple arguments") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS "arg1" "arg2 arg3" - ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN}_0;${PACKEXEN_PATH};arg1;${PACKEXEN}_1;${PACKEXEN_PATH};arg2;arg3" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_0;${PACKEXEN}_1" ) - - MESSAGE("Add a double quoted input argument") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS "--arg1=\"bob and cats\"" ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};--arg1=\"bob and cats\"" - ) - - MESSAGE("Add a double quoted with single quotes input argument") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} ARGS "--arg1=\"'bob' and 'cats'\"" ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${PACKEXEN_PATH};--arg1=\"'bob' and 'cats'\"" - ) - - MESSAGE("Add two tests with different postfixes and arguments") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} - POSTFIX_AND_ARGS_0 pf_arg1 arg1 - POSTFIX_AND_ARGS_1 pf_arg23 arg2 arg3 - ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES - ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN}_pf_arg1;${PACKEXEN_PATH};arg1;${PACKEXEN}_pf_arg23;${PACKEXEN_PATH};arg2;arg3" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_pf_arg1;${PACKEXEN}_pf_arg23" ) - - MESSAGE("Add two tests with different postfixes and arguments with '0' and 'N'") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} - POSTFIX_AND_ARGS_0 pf_arg1 0 - POSTFIX_AND_ARGS_1 pf_arg23 N 0 - ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES - ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN}_pf_arg1;${PACKEXEN_PATH};0;${PACKEXEN}_pf_arg23;${PACKEXEN_PATH};N;0" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_pf_arg1;${PACKEXEN}_pf_arg23" ) - - MESSAGE("Add an executable with no prefix") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} NOEXEPREFIX ARGS arg1 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${EXEN}.exe;arg1" - ) - - MESSAGE("Add an executable with no suffix") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} NOEXESUFFIX ARGS arg1 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${PACKEXEN};arg1" - ) - - MESSAGE("Add an executable with no prefix and no suffix") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} NOEXEPREFIX NOEXESUFFIX ARGS arg1 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN};${CMAKE_CURRENT_BINARY_DIR}/${EXEN};arg1" - ) - - MESSAGE("Add a test with a different name from the executable") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} NAME SomeOtherName ARGS arg1 ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKAGE_NAME}_SomeOtherName;${PACKEXEN_PATH};arg1" - ) + UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT + "-- PackageA_SomeExec: Added test (BASIC, PROCESSORS=1)!" ) + UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT + "RUN_SERIAL") # Make sure that RUN_SERIAL prop not even set! - MESSAGE("Add a test with with a postfix appended to the executable name") - GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) - TRIBITS_ADD_TEST( ${EXEN} NAME_POSTFIX somePostfix ARGS arg1 - ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "${PACKEXEN}_somePostfix;${PACKEXEN_PATH};arg1" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_somePostfix" ) + # + # DIRECTORY + # MESSAGE("Add a test with the relative directory overridden") GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) @@ -1228,19 +1273,9 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC) "${PACKEXEN};/some/abs/path/${PACKEXEN}.exe;arg1" ) - MESSAGE("Tests not enabled") - SET(${PACKAGE_NAME}_ENABLE_TESTS OFF) - TRIBITS_ADD_TEST( ${EXEN} ADDED_TESTS_NAMES_OUT ${EXEN}_TEST_NAMES ) - UNITTEST_COMPARE_CONST( - MESSAGE_WRAPPER_INPUT - "-- PackageA_SomeExec: NOT added test because PackageA_ENABLE_TESTS='OFF'." - ) - UNITTEST_COMPARE_CONST( - TRIBITS_ADD_TEST_ADD_TEST_INPUT - "" - ) - UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "" ) - SET(${PACKAGE_NAME}_ENABLE_TESTS ON) + # + # _EXTRA_ARGS + # MESSAGE("Test _EXTRA_ARGS with on ARGS") SET(${PACKEXEN}_EXTRA_ARGS "--extra_arg1;something;-extra_arg2;-R") @@ -1956,6 +1991,10 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_COMM) UNITTEST_COMPARE_CONST( ${EXEN}_TEST_NAMES "${PACKEXEN}_mypostfix3_0_MPI_${MPI_EXEC_DEFAULT_NUMPROCS};${PACKEXEN}_mypostfix3_1_MPI_${MPI_EXEC_DEFAULT_NUMPROCS}" ) + # + # RUN_SERIAL + # + MESSAGE("_SET_RUN_SERIAL=ON with MPI enabled") SET(${PACKEXEN}_MPI_1_SET_RUN_SERIAL ON) GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) @@ -1992,9 +2031,13 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_COMM) "${THIS_TEST_NAME};${MPI_EXEC};${MPI_EXEC_PRE_NUMPROCS_FLAGS};${MPI_EXEC_NUMPROCS_FLAG};1;${MPI_EXEC_POST_NUMPROCS_FLAGS};${CMAKE_CURRENT_BINARY_DIR}/${PACKEXEN}.exe;arg0" ) + # + # DISABLED, DISABLED_AND_MSG + # + MESSAGE("_SET_DISABLED_AND_MSG with MPI enabled") SET(THIS_TEST_NAME ${PACKEXEN}_MPI_1) - SET(${THIS_TEST_NAME}_SET_RUN_SERIAL "") + SET(${THIS_TEST_NAME}_SET_RUN_SERIAL "") # Turn off for DISABLED tests SET(${THIS_TEST_NAME}_SET_DISABLED_AND_MSG "Disabled because of DAM and MPI") GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) TRIBITS_ADD_TEST( ${EXEN} NUM_MPI_PROCS 1) @@ -2013,7 +2056,6 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_COMM) MESSAGE("_SET_DISABLED_AND_MSG with NAME_POSTFIX, POSTFIX_AND_ARGS_ and MPI enabled") SET(THIS_TEST_NAME ${PACKEXEN}_mypostfix4_argpostfix0_MPI_1) - SET(${THIS_TEST_NAME}_SET_RUN_SERIAL "") SET(${THIS_TEST_NAME}_SET_DISABLED_AND_MSG "Disabled because of DAM, NP, PAA, and MPI") GLOBAL_SET(TRIBITS_ADD_TEST_ADD_TEST_INPUT) TRIBITS_ADD_TEST( ${EXEN} NUM_MPI_PROCS 1 @@ -3586,6 +3628,10 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "${PACKAGE_NAME}_TAAT_mpi_cmnd_0_cmnd_1;PROPERTIES;PROCESSORS;1") + # + # EXCLUDE_IF_NOT_TRUE + # + MESSAGE("***\n*** EXCLUDE_IF_NOT_TRUE \n***") SET(VAR_THAT_IS_TRUE1 TRUE) SET(VAR_THAT_IS_TRUE2 TRUE) @@ -3637,6 +3683,10 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "") + # + # DISABLED, DISABLED_AND_MSG + # + MESSAGE("***\n*** DISABLED (trace add test on)\n***") TRIBITS_ADD_ADVANCED_TEST_UNITTEST_RESET() TRIBITS_ADD_ADVANCED_TEST( TAAT_mpi_cmnd_0_cmnd_1 @@ -3706,6 +3756,29 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "DISABLED") +ENDFUNCTION() + + +FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_RUN_SERIAL) + + MESSAGE("\n***") + MESSAGE("*** Testing excluding TRIBITS_ADD_ADVANCED_TEST(...) with RUN_SERIAL") + MESSAGE("***\n") + + # Needed by TRIBITS_ADD_TEST(...) + SET(PACKAGE_NAME PackageA) + SET(${PACKAGE_NAME}_ENABLE_TESTS ON) + + # Turn on tracing for the rest of the tests! + SET(${PROJECT_NAME}_TRACE_ADD_TEST ON) + SET(MESSAGE_WRAPPER_UNIT_TEST_MODE TRUE) + SET(TRIBITS_ADD_ADVANCED_TEST_SKIP_SCRIPT TRUE) + SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON) + + # Used locally + SET(EXEN SomeExec) + SET(PACKEXEN ${PACKAGE_NAME}_${EXEN}.exe) + MESSAGE("***\n*** _SET_RUN_SERIAL=ON\n***") TRIBITS_ADD_ADVANCED_TEST_UNITTEST_RESET() SET(${PACKAGE_NAME}_TAAT_mpi_cmnd_0_cmnd_1_SET_RUN_SERIAL ON) @@ -3717,7 +3790,7 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "RUN_SERIAL;ON") - MESSAGE("***\n*** Set RUN_SERIAL argument\n***") + MESSAGE("***\n*** Set RUN_SERIAL input option\n***") TRIBITS_ADD_ADVANCED_TEST_UNITTEST_RESET() SET(${PACKAGE_NAME}_TAAT_mpi_cmnd_0_cmnd_1_SET_RUN_SERIAL "") TRIBITS_ADD_ADVANCED_TEST( TAAT_mpi_cmnd_0_cmnd_1 RUN_SERIAL @@ -3728,7 +3801,7 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT "RUN_SERIAL;ON") - MESSAGE("***\n*** Set RUN_SERIAL input argument but set _SET_RUN_SERIAL=OFF\n***") + MESSAGE("***\n*** Set RUN_SERIAL input option but set _SET_RUN_SERIAL=OFF\n***") TRIBITS_ADD_ADVANCED_TEST_UNITTEST_RESET() SET(${PACKAGE_NAME}_TAAT_mpi_cmnd_0_cmnd_1_SET_RUN_SERIAL OFF) TRIBITS_ADD_ADVANCED_TEST( TAAT_mpi_cmnd_0_cmnd_1 RUN_SERIAL @@ -3737,7 +3810,7 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES) "-- PackageA_TAAT_mpi_cmnd_0_cmnd_1: Added test (BASIC, PROCESSORS=1)!" ) UNITTEST_COMPARE_CONST(TRIBITS_ADD_ADVANCED_TEST_NUM_CMNDS "2") UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT - "RUN_SERIAL;ON") + "RUN_SERIAL") # Make sure RUN_SERIAL prop not even set! ENDFUNCTION() @@ -4231,6 +4304,7 @@ UNITTEST_TRIBITS_ADD_ADVANCED_TEST_PROPERTIES() UNITTEST_TRIBITS_ADD_TEST_CUDA_GPU_CTEST_RESOURCES() UNITTEST_TRIBITS_ADD_ADVANCED_TEST_COPY_FILES_TO_TEST_DIR() UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES() +UNITTEST_TRIBITS_ADD_ADVANCED_TEST_RUN_SERIAL() MESSAGE("\n***") MESSAGE("*** Testing TRIBITS_ADD_EXECUTABLE_AND_TEST(...)")