Skip to content

Commit

Permalink
Add support for <fullTestName>_SET_RUN_SERIAL=[ON|OFF] (trilinos/Tril…
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlettroscoe committed Sep 18, 2020
1 parent cae55bc commit c42eb66
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 13 deletions.
2 changes: 1 addition & 1 deletion test/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ TRIBITS_ADD_ADVANCED_TEST( TestingFunctionMacro_UnitTests
-D${PROJECT_NAME}_TRIBITS_DIR=${${PROJECT_NAME}_TRIBITS_DIR}
-P "${CMAKE_CURRENT_SOURCE_DIR}/TestingFunctionMacro_UnitTests.cmake"
PASS_REGULAR_EXPRESSION_ALL
"Final UnitTests Result: num_run = 620"
"Final UnitTests Result: num_run = 641"
"Final UnitTests Result: PASSED"
)

Expand Down
84 changes: 83 additions & 1 deletion test/core/TestingFunctionMacro_UnitTests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -978,6 +978,55 @@ FUNCTION(UNITTEST_TRIBITS_ADD_TEST_BASIC)
UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT
"DISABLED")

MESSAGE("<fullTestName>_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")

MESSAGE("Set RUN_SERIAL input argument")
SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON)
SET(${PACKEXEN}_SET_RUN_SERIAL "")
TRIBITS_ADD_TEST( ${EXEN} RUN_SERIAL
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")


MESSAGE("Set RUN_SERIAL input argument but set <fullTestName>_SET_RUN_SERIAL=OFF")
SET(TRIBITS_SET_TEST_PROPERTIES_CAPTURE_INPUT ON)
SET(${PACKEXEN}_SET_RUN_SERIAL OFF)
TRIBITS_ADD_TEST( ${EXEN} RUN_SERIAL
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)!" )
UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT
"RUN_SERIAL")

MESSAGE("EXCLUDE_IF_NOT_TRUE <true> <false>")
SET(VAR_THAT_IS_TRUE TRUE)
SET(VAR_THAT_IS_FALSE FALSE)
Expand Down Expand Up @@ -3548,6 +3597,39 @@ FUNCTION(UNITTEST_TRIBITS_ADD_ADVANCED_TEST_EXCLUDES)
UNITTEST_NOT_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT
"DISABLED")

MESSAGE("***\n*** <fullTestName>_SET_RUN_SERIAL=ON\n***")
TRIBITS_ADD_ADVANCED_TEST_UNITTEST_RESET()
SET(${PACKAGE_NAME}_TAAT_mpi_cmnd_0_cmnd_1_SET_RUN_SERIAL ON)
TRIBITS_ADD_ADVANCED_TEST( TAAT_mpi_cmnd_0_cmnd_1
TEST_0 CMND someCmnd TEST_1 CMND someOtherCmnd )
UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT
"-- PackageA_TAAT_mpi_cmnd_0_cmnd_1: Added test (BASIC, PROCESSORS=1, RUN_SERIAL)!" )
UNITTEST_COMPARE_CONST(TRIBITS_ADD_ADVANCED_TEST_NUM_CMNDS "2")
UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT
"RUN_SERIAL;ON")

MESSAGE("***\n*** Set RUN_SERIAL argument\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
TEST_0 CMND someCmnd TEST_1 CMND someOtherCmnd )
UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT
"-- PackageA_TAAT_mpi_cmnd_0_cmnd_1: Added test (BASIC, PROCESSORS=1, RUN_SERIAL)!" )
UNITTEST_COMPARE_CONST(TRIBITS_ADD_ADVANCED_TEST_NUM_CMNDS "2")
UNITTEST_HAS_SUBSTR_CONST(TRIBITS_SET_TEST_PROPERTIES_INPUT
"RUN_SERIAL;ON")

MESSAGE("***\n*** Set RUN_SERIAL input argument but set <fullTestName>_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
TEST_0 CMND someCmnd TEST_1 CMND someOtherCmnd )
UNITTEST_COMPARE_CONST( MESSAGE_WRAPPER_INPUT
"-- 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")

ENDFUNCTION()


Expand Down Expand Up @@ -4065,4 +4147,4 @@ MESSAGE("*** Determine final result of all unit tests")
MESSAGE("***\n")

# Pass in the number of expected tests that must pass!
UNITTEST_FINAL_RESULT(620)
UNITTEST_FINAL_RESULT(641)
7 changes: 5 additions & 2 deletions tribits/core/package_arch/TribitsAddAdvancedTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -910,6 +910,9 @@ FUNCTION(TRIBITS_ADD_ADVANCED_TEST TEST_NAME_IN)
RETURN()
ENDIF()

TRIBITS_SET_RUN_SERIAL(${TEST_NAME} "${PARSE_RUN_SERIAL}"
SET_RUN_SERIAL)

TRIBITS_SET_DISABLED_AND_MSG(${TEST_NAME} "${PARSE_DISABLED}"
SET_DISABLED_AND_MSG) # Adds the test but sets DISABLED test prop!

Expand Down Expand Up @@ -1386,7 +1389,7 @@ FUNCTION(TRIBITS_ADD_ADVANCED_TEST TEST_NAME_IN)
LIST(REMOVE_DUPLICATES TEST_EXE_LIST)
TRIBITS_SET_TEST_PROPERTY(${TEST_NAME} PROPERTY REQUIRED_FILES ${TEST_EXE_LIST})

IF(PARSE_RUN_SERIAL)
IF(SET_RUN_SERIAL)
TRIBITS_SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES RUN_SERIAL ON)
ENDIF()

Expand Down Expand Up @@ -1431,7 +1434,7 @@ FUNCTION(TRIBITS_ADD_ADVANCED_TEST TEST_NAME_IN)
TRIBITS_PRIVATE_ADD_TEST_PRINT_ADDED(${TEST_NAME}
"${PARSE_CATEGORIES}" "${MAX_NUM_MPI_PROCS_USED_TO_PRINT}"
"${MAX_NUM_PROCESSORS_USED}" "${TIMEOUT_USED}"
"${SET_DISABLED_AND_MSG}")
"${SET_RUN_SERIAL}" "${SET_DISABLED_AND_MSG}")

#
# F.2) Write the cmake -P script
Expand Down
7 changes: 5 additions & 2 deletions tribits/core/package_arch/TribitsAddTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -886,6 +886,9 @@ FUNCTION(TRIBITS_ADD_TEST EXE_NAME)
RETURN()
ENDIF()

TRIBITS_SET_RUN_SERIAL(${TEST_NAME} "${PARSE_RUN_SERIAL}"
SET_RUN_SERIAL)

TRIBITS_SET_DISABLED_AND_MSG(${TEST_NAME} "${PARSE_DISABLED}"
SET_DISABLED_AND_MSG) # Adds the test but sets DISABLED test prop!

Expand Down Expand Up @@ -970,7 +973,7 @@ FUNCTION(TRIBITS_ADD_TEST EXE_NAME)
TRIBITS_ADD_TEST_ADD_TEST_ALL( ${TEST_NAME_INSTANCE}
"${EXECUTABLE_PATH}" "${PARSE_CATEGORIES}" "${NUM_PROCS_USED}"
"${NUM_TOTAL_CORES_USED}"
${PARSE_RUN_SERIAL} "${SET_DISABLED_AND_MSG}" ADDED_TEST_NAME ${INARGS}
"${SET_RUN_SERIAL}" "${SET_DISABLED_AND_MSG}" ADDED_TEST_NAME ${INARGS}
"${${TEST_NAME_INSTANCE}_EXTRA_ARGS}" )
IF(PARSE_ADDED_TESTS_NAMES_OUT AND ADDED_TEST_NAME)
LIST(APPEND ADDED_TESTS_NAMES_OUT ${ADDED_TEST_NAME})
Expand Down Expand Up @@ -1006,7 +1009,7 @@ FUNCTION(TRIBITS_ADD_TEST EXE_NAME)
"${EXECUTABLE_PATH}" "${PARSE_CATEGORIES}" "${NUM_PROCS_USED}"
"${NUM_TOTAL_CORES_USED}"
${PARSE_CREATE_WORKING_DIR}
${PARSE_RUN_SERIAL} "${SET_DISABLED_AND_MSG}" ADDED_TEST_NAME ${INARGS}
"${SET_RUN_SERIAL}" "${SET_DISABLED_AND_MSG}" ADDED_TEST_NAME ${INARGS}
"${${TEST_NAME_INSTANCE}_EXTRA_ARGS}"
)
IF(PARSE_ADDED_TESTS_NAMES_OUT AND ADDED_TEST_NAME)
Expand Down
47 changes: 40 additions & 7 deletions tribits/core/package_arch/TribitsAddTestHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ ENDFUNCTION()
#
# TRIBITS_SET_DISABLED_AND_MSG(
# <testName> # The full test name passed to add_test()
# "${PARSE_DISABLED}" # From the input arg DISABLED <msg>
# "${PARSE_DISABLED}" # From the input arg "DISABLED <msg>"
# <setDisabledAndMsgOut> # Sets var of this name
# )
#
Expand All @@ -617,6 +617,32 @@ FUNCTION(TRIBITS_SET_DISABLED_AND_MSG TEST_NAME_IN PARSE_DISABLED
ENDFUNCTION()


#
# Read ${TEST_NAME_IN}_SET_RUN_SERIAL and set output
# var SET_RUN_SERIAL_OUT
#
# Usage:
#
# TRIBITS_SET_RUN_SERIAL(
# <testName> # The full test name passed to add_test()
# "${PARSE_RUN_SERIAL}" # From the input option "RUN_SERIAL"
# <setRunSerial> # Sets var of this name
# )
#
FUNCTION(TRIBITS_SET_RUN_SERIAL TEST_NAME_IN PARSE_RUN_SERIAL
SET_RUN_SERIAL_OUT
)

SET(SET_RUN_SERIAL "${PARSE_RUN_SERIAL}")
IF (NOT "${${TEST_NAME_IN}_SET_RUN_SERIAL}" STREQUAL "")
SET(SET_RUN_SERIAL "${${TEST_NAME_IN}_SET_RUN_SERIAL}")
ENDIF()

SET(${SET_RUN_SERIAL_OUT} "${SET_RUN_SERIAL}" PARENT_SCOPE)

ENDFUNCTION()


#
# Determine if the test should be skipped due to a disable var set
#
Expand Down Expand Up @@ -777,7 +803,7 @@ ENDFUNCTION()
# Print test added message!
#
FUNCTION(TRIBITS_PRIVATE_ADD_TEST_PRINT_ADDED TEST_NAME_IN CATEGORIES_IN
NUM_MPI_PROCS_IN PROCESSORS_IN TIMEOUT_IN DISABLED_MSG_IN
NUM_MPI_PROCS_IN PROCESSORS_IN TIMEOUT_IN RUN_SERIAL_IN DISABLED_MSG_IN
)

SET(ADDED_TEST_PROPS "")
Expand All @@ -797,6 +823,11 @@ FUNCTION(TRIBITS_PRIVATE_ADD_TEST_PRINT_ADDED TEST_NAME_IN CATEGORIES_IN
", " "TIMEOUT=${TIMEOUT_IN}")
ENDIF()

IF (RUN_SERIAL_IN)
APPEND_STRING_VAR_WITH_SEP(ADDED_TEST_PROPS
", " "RUN_SERIAL")
ENDIF()

IF (DISABLED_MSG_IN)
APPEND_STRING_VAR_WITH_SEP(ADDED_TEST_PROPS
", " "DISABLED")
Expand All @@ -823,7 +854,7 @@ ENDFUNCTION()
#
FUNCTION(TRIBITS_ADD_TEST_ADD_TEST_ALL TEST_NAME_IN
EXECUTABLE_PATH_IN CATEGORIES_IN NUM_PROCS_USED_IN NUM_TOTAL_CORES_USED_IN
RUN_SERIAL_IN DISABLED_MSG_IN
RUN_SERIAL_IN DISABLED_MSG_IN
ADDED_TEST_NAME_OUT
)

Expand All @@ -839,7 +870,7 @@ FUNCTION(TRIBITS_ADD_TEST_ADD_TEST_ALL TEST_NAME_IN

TRIBITS_PRIVATE_ADD_TEST_POST_PROCESS_ADDED_TEST(${TEST_NAME_IN}
"${CATEGORIES_IN}" ${NUM_PROCS_USED_IN} "${NUM_TOTAL_CORES_USED_IN}"
"${DISABLED_MSG_IN}")
"${RUN_SERIAL_IN}" "${DISABLED_MSG_IN}")

ELSE()

Expand Down Expand Up @@ -873,7 +904,8 @@ ENDFUNCTION()

FUNCTION(TRIBITS_PRIVATE_ADD_TEST_POST_PROCESS_ADDED_TEST TEST_NAME_IN
CATEGORIES_IN NUM_PROCS_USED_IN NUM_TOTAL_CORES_USED_IN
DISABLED_MSG_IN)
RUN_SERIAL_IN DISABLED_MSG_IN
)

TRIBITS_PRIVATE_ADD_TEST_SET_PASSFAIL_PROPERTIES(${TEST_NAME_IN})
TRIBITS_PRIVATE_ADD_TEST_SET_ENVIRONMENT(${TEST_NAME_IN})
Expand All @@ -889,13 +921,14 @@ FUNCTION(TRIBITS_PRIVATE_ADD_TEST_POST_PROCESS_ADDED_TEST TEST_NAME_IN
TRIBITS_SET_TESTS_PROPERTIES(${TEST_NAME_IN} PROPERTIES DISABLED ON)
ENDIF()

TRIBITS_PRIVATE_ADD_TEST_ADD_ENVIRONMENT_AND_RESOURCE(${TEST_NAME_IN} ${NUM_PROCS_USED_IN})
TRIBITS_PRIVATE_ADD_TEST_ADD_ENVIRONMENT_AND_RESOURCE(${TEST_NAME_IN}
${NUM_PROCS_USED_IN})

TRIBITS_PRIVATE_ADD_TEST_ADD_LABEL_AND_KEYWORDS(${TEST_NAME_IN})

TRIBITS_PRIVATE_ADD_TEST_PRINT_ADDED(${TEST_NAME_IN}
"${CATEGORIES_IN}" "${NUM_PROCS_USED_IN}" "${PROCESSORS_USED}"
"${TIMEOUT_USED}" "${DISABLED_MSG_IN}")
"${TIMEOUT_USED}" "${RUN_SERIAL_IN}" "${DISABLED_MSG_IN}")

ENDFUNCTION()

Expand Down

0 comments on commit c42eb66

Please sign in to comment.