56 lines
1.7 KiB
CMake
56 lines
1.7 KiB
CMake
file(
|
|
GLOB TEST_OPS
|
|
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
"test_*.py")
|
|
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
|
|
|
|
foreach(TEST_OP ${TEST_OPS})
|
|
if(${TEST_OP} STREQUAL "test_strategy_conversion")
|
|
set(WORKFLOW_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_OP}.py)
|
|
|
|
execute_process(
|
|
COMMAND ${PYTHON_EXECUTABLE} ${WORKFLOW_SCRIPT} --list_tests
|
|
OUTPUT_VARIABLE TEST_CASE_LIST
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
string(REPLACE "\n" ";" TEST_CASE_LIST "${TEST_CASE_LIST}")
|
|
|
|
foreach(TEST_CASE ${TEST_CASE_LIST})
|
|
string(REPLACE "__main__.TestStrategyConversion.test_" "" TEST_CASE_ALIAS
|
|
${TEST_CASE})
|
|
|
|
add_test(NAME ${TEST_OP}.${TEST_CASE_ALIAS}
|
|
COMMAND ${PYTHON_EXECUTABLE} -m unittest ${TEST_CASE})
|
|
endforeach()
|
|
else()
|
|
py_test_modules(${TEST_OP} MODULES ${TEST_OP})
|
|
endif()
|
|
endforeach()
|
|
|
|
set(GPU_ONLY_DISTRIBUTED_TESTS
|
|
test_sharded_state_dict test_strategy_conversion
|
|
test_load_state_dict_transpose test_model_full_param)
|
|
|
|
if(TEST test_sharded_state_dict)
|
|
set_tests_properties(test_sharded_state_dict PROPERTIES TIMEOUT 480)
|
|
endif()
|
|
|
|
if(TEST test_model_full_param)
|
|
set_tests_properties(test_model_full_param PROPERTIES TIMEOUT 480)
|
|
endif()
|
|
|
|
if(NOT (WITH_DISTRIBUTE AND WITH_GPU))
|
|
get_property(
|
|
ALL_TESTS
|
|
DIRECTORY
|
|
PROPERTY TESTS)
|
|
foreach(CURRENT_TEST_NAME ${ALL_TESTS})
|
|
foreach(SUITE_NAME ${GPU_ONLY_DISTRIBUTED_TESTS})
|
|
if("${CURRENT_TEST_NAME}" STREQUAL "${SUITE_NAME}"
|
|
OR "${CURRENT_TEST_NAME}" MATCHES "^${SUITE_NAME}\\.")
|
|
message(STATUS "Disabling GPU/Dist test: ${CURRENT_TEST_NAME}")
|
|
set_tests_properties("${CURRENT_TEST_NAME}" PROPERTIES DISABLED TRUE)
|
|
endif()
|
|
endforeach()
|
|
endforeach()
|
|
endif()
|