CMakeLists.txt 2.7 KB
Newer Older
1 2 3 4
file(
  GLOB TEST_OPS
  RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
  "test_*.py")
5 6
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")

7 8 9 10
file(
  GLOB DIST_TEST_OPS
  RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
  "test_dist_*.py")
11 12 13
string(REPLACE ".py" "" DIST_TEST_OPS "${DIST_TEST_OPS}")

foreach(TEST_OP ${DIST_TEST_OPS})
14
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
15 16
endforeach()

17
if(NOT WITH_COVERAGE)
18
  list(REMOVE_ITEM TEST_OPS test_hapi_hub)
19 20
endif()

21
foreach(src ${TEST_OPS})
22
  py_test(${src} SRCS ${src}.py)
23
endforeach()
24 25 26 27 28 29

function(py_dist_test TARGET_NAME)
  if(WITH_TESTING)
    set(options "")
    set(oneValueArgs "")
    set(multiValueArgs SRCS DEPS ARGS ENVS)
30 31
    cmake_parse_arguments(py_dist_test "${options}" "${oneValueArgs}"
                          "${multiValueArgs}" ${ARGN})
32

33 34 35 36 37 38 39 40 41 42 43 44 45 46
    if(WITH_COVERAGE
       AND (WITH_GPU OR WITH_ROCM)
       AND (WITH_NCCL OR WITH_RCCL)
       AND NOT WIN32)
      add_test(
        NAME ${TARGET_NAME}
        COMMAND
          ${CMAKE_COMMAND} -E env FLAGS_init_allocated_mem=true
          FLAGS_cudnn_deterministic=true FLAGS_cpu_deterministic=true
          NCCL_P2P_DISABLE=1 NCCL_SHM_DISABLE=1
          PYTHONPATH=${PADDLE_BINARY_DIR}/python ${py_dist_test_ENVS}
          COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
          ${PYTHON_EXECUTABLE} -u ${py_dist_test_SRCS} ${py_dist_test_ARGS}
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
47
      # No unit test should exceed 10 minutes.
48 49
      set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600 LABELS
                                                     "RUN_TYPE=DIST")
50 51 52 53 54 55
    endif()

  endif()
endfunction()

foreach(src ${DIST_TEST_OPS})
56 57
  message(STATUS ${src})
  py_dist_test(${src} SRCS ${src}.py)
58
endforeach()
Y
YUNSHEN XIE 已提交
59 60
set_tests_properties(test_dataset_cifar PROPERTIES TIMEOUT 120)
set_tests_properties(test_pretrained_model PROPERTIES TIMEOUT 120)
61
set_tests_properties(test_model PROPERTIES TIMEOUT 300)
Y
YUNSHEN XIE 已提交
62
set_tests_properties(test_dataset_movielens PROPERTIES TIMEOUT 120)
W
wanghuancoder 已提交
63
set_tests_properties(test_datasets PROPERTIES TIMEOUT 300)
Y
YUNSHEN XIE 已提交
64 65 66
set_tests_properties(test_dataset_wmt PROPERTIES TIMEOUT 120)
set_tests_properties(test_vision_models PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataset_uci_housing PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
67
set_tests_properties(test_dataset_imdb PROPERTIES TIMEOUT 300)
68
set_tests_properties(test_pretrained_model PROPERTIES TIMEOUT 600)
69
if(WITH_COVERAGE)
70
  set_tests_properties(test_hapi_hub PROPERTIES TIMEOUT 300)
W
Wenyu 已提交
71
endif()
J
Jiabin Yang 已提交
72 73 74

if(APPLE)
  set_tests_properties(test_callback_early_stop PROPERTIES TIMEOUT 300)
75 76
  set_tests_properties(test_callback_reduce_lr_on_plateau PROPERTIES TIMEOUT
                                                                     300)
J
Jiabin Yang 已提交
77 78
  set_tests_properties(test_vision_models PROPERTIES TIMEOUT 300)
endif()