CMakeLists.txt 48.4 KB
Newer Older
1 2
file(GLOB TEST_OPS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "test_*.py")
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
3
set(GC_ENVS FLAGS_eager_delete_tensor_gb=0.0 FLAGS_fast_eager_deletion_mode=1 FLAGS_memory_fraction_of_eager_deletion=1.0)
4
set(dist_ENVS http_proxy="" https_proxy="")
5

6
file(GLOB DIST_TEST_OPS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "test_dist_*.py")
7
list(REMOVE_ITEM DIST_TEST_OPS "test_dist_op")
8
if ((NOT WITH_NCCL) AND (NOT WITH_RCCL))
9 10
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_dgc_nccl")
endif()
11
string(REPLACE ".py" "" DIST_TEST_OPS "${DIST_TEST_OPS}")
12
list(APPEND DIST_TEST_OPS test_parallel_dygraph_mnist)
13
list(APPEND DIST_TEST_OPS test_pipeline)
14
list(APPEND DIST_TEST_OPS test_parallel_dygraph_se_resnext)
15
list(APPEND DIST_TEST_OPS test_parallel_dygraph_sparse_embedding)
16
list(APPEND DIST_TEST_OPS test_parallel_dygraph_sparse_embedding_over_height)
17
list(APPEND DIST_TEST_OPS test_parallel_dygraph_transformer)
18
list(APPEND DIST_TEST_OPS test_fleet_pipeline_meta_optimizer)
19
list(APPEND DIST_TEST_OPS test_fleet_graph_execution_meta_optimizer)
W
WangXi 已提交
20
list(APPEND DIST_TEST_OPS test_gen_nccl_id_op)
21
list(APPEND DIST_TEST_OPS test_parallel_dygraph_unused_variables)
22 23
list(APPEND DIST_TEST_OPS test_parallel_dygraph_control_flow)
list(APPEND DIST_TEST_OPS test_parallel_dygraph_dataparallel)
S
ShenLiang 已提交
24
#list(APPEND DIST_TEST_OPS test_parallel_dygraph_hybrid_parallel)
25 26 27
set(MIXED_DIST_TEST_OPS ${DIST_TEST_OPS})
#remove distribute unittests.
list(APPEND MIXED_DIST_TEST_OPS test_dgc_op)
28 29
list(APPEND MIXED_DIST_TEST_OPS test_dgc_momentum_op)
list(APPEND MIXED_DIST_TEST_OPS test_dgc_optimizer)
30
list(APPEND MIXED_DIST_TEST_OPS test_simple_dist_transpiler)
T
tangwei12 已提交
31
list(APPEND MIXED_DIST_TEST_OPS test_recv_save_op)
32
list(APPEND MIXED_DIST_TEST_OPS test_c_comm_init_op)
33
list(APPEND MIXED_DIST_TEST_OPS test_communicator_async)
T
Thunderbrook 已提交
34
list(APPEND MIXED_DIST_TEST_OPS test_communicator_ps_gpu)
35 36
list(APPEND MIXED_DIST_TEST_OPS test_communicator_geo)
list(APPEND MIXED_DIST_TEST_OPS test_communicator_half_async)
T
tangwei12 已提交
37
list(APPEND MIXED_DIST_TEST_OPS test_communicator_sync)
38 39 40 41 42 43
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_ps)
list(APPEND MIXED_DIST_TEST_OPS test_launch_coverage)
list(APPEND MIXED_DIST_TEST_OPS test_fleetrun)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_run_random_port)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_async)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_cloud)
44 45
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_ascend)
list(APPEND MIXED_DIST_TEST_OPS test_ascend_group)
46
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_nproc)
47
list(APPEND MIXED_DIST_TEST_OPS test_fleet_api_input)
M
mapingshuo 已提交
48
list(APPEND MIXED_DIST_TEST_OPS test_collective_optimizer)
49
list(APPEND MIXED_DIST_TEST_OPS test_fleet_base)
50 51
list(APPEND MIXED_DIST_TEST_OPS test_fleet_base_2)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_base_3)
52
list(APPEND MIXED_DIST_TEST_OPS test_fleet_recompute_meta_optimizer)
53
list(APPEND MIXED_DIST_TEST_OPS test_fleet_pipeline_meta_optimizer)
54
list(APPEND MIXED_DIST_TEST_OPS test_fleet_amp_meta_optimizer)
55
list(APPEND MIXED_DIST_TEST_OPS test_fleet_amp_init)
56
list(APPEND MIXED_DIST_TEST_OPS test_fleet_gradient_merge_meta_optimizer)
57
list(APPEND MIXED_DIST_TEST_OPS test_fleet_sharding_meta_optimizer)
Y
Yi Liu 已提交
58
list(APPEND MIXED_DIST_TEST_OPS test_fleet_localsgd_meta_optimizer)
59
list(APPEND MIXED_DIST_TEST_OPS test_fleet_lars_meta_optimizer)
60
list(APPEND MIXED_DIST_TEST_OPS test_fleet_lamb_meta_optimizer)
61
list(APPEND MIXED_DIST_TEST_OPS test_fleet_dgc_meta_optimizer)
62
list(APPEND MIXED_DIST_TEST_OPS test_fleet_fp16_allreduce_meta_optimizer)
63
list(APPEND MIXED_DIST_TEST_OPS test_fleet_private_function)
64
list(APPEND MIXED_DIST_TEST_OPS test_fleet_graph_executor)
65
list(APPEND MIXED_DIST_TEST_OPS test_fleet_meta_optimizer_base)
66
list(APPEND MIXED_DIST_TEST_OPS test_fleet_distributed_strategy)
67
list(APPEND MIXED_DIST_TEST_OPS test_fleet_auto)
68 69 70
foreach(TEST_OP ${MIXED_DIST_TEST_OPS})
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
endforeach()
71

72
if(((NOT WITH_ROCM) AND (NOT WITH_GPU)) OR WIN32)
73
    LIST(REMOVE_ITEM TEST_OPS test_c_comm_init_all_op)
L
lilong12 已提交
74 75
    LIST(REMOVE_ITEM TEST_OPS test_c_concat)
    LIST(REMOVE_ITEM TEST_OPS test_c_split)
76
    LIST(REMOVE_ITEM TEST_OPS test_allgather)
L
lilong12 已提交
77
    LIST(REMOVE_ITEM TEST_OPS test_c_identity)
78 79
    LIST(REMOVE_ITEM TEST_OPS test_allreduce)
    LIST(REMOVE_ITEM TEST_OPS test_broadcast)
L
lilong12 已提交
80 81
    LIST(REMOVE_ITEM TEST_OPS test_collective_reduce)
    LIST(REMOVE_ITEM TEST_OPS test_collective_scatter)
L
lilong12 已提交
82
    LIST(REMOVE_ITEM TEST_OPS test_collective_sendrecv)
83
    LIST(REMOVE_ITEM TEST_OPS test_reducescatter)
84
    LIST(REMOVE_ITEM TEST_OPS test_reducescatter_api)
85 86 87 88
    LIST(REMOVE_ITEM TEST_OPS test_collective_split_embedding)
    LIST(REMOVE_ITEM TEST_OPS test_collective_split_embedding_none_divisible)
    LIST(REMOVE_ITEM TEST_OPS test_collective_split_row_linear)
    LIST(REMOVE_ITEM TEST_OPS test_collective_split_col_linear)
L
lilong12 已提交
89 90 91 92
    LIST(REMOVE_ITEM TEST_OPS test_collective_reduce_api)
    LIST(REMOVE_ITEM TEST_OPS test_collective_scatter_api)
    LIST(REMOVE_ITEM TEST_OPS test_collective_barrier_api)
    LIST(REMOVE_ITEM TEST_OPS test_collective_allreduce_api)
K
kuizhiqing 已提交
93
    LIST(REMOVE_ITEM TEST_OPS test_new_group_api)
L
lilong12 已提交
94 95
    LIST(REMOVE_ITEM TEST_OPS test_collective_broadcast_api)
    LIST(REMOVE_ITEM TEST_OPS test_collective_allgather_api)
W
WangXi 已提交
96
    LIST(REMOVE_ITEM TEST_OPS test_collective_wait)
J
JZ-LIANG 已提交
97
    LIST(REMOVE_ITEM TEST_OPS test_memcpy_op)
98 99
endif()

100 101 102 103
if(WIN32)
    LIST(REMOVE_ITEM TEST_OPS test_multiprocess_reader_exception)
    LIST(REMOVE_ITEM TEST_OPS test_trainer_desc)
    LIST(REMOVE_ITEM TEST_OPS test_checkpoint_notify_op)
104 105 106 107 108 109 110
    LIST(REMOVE_ITEM TEST_OPS test_downpoursgd)
    LIST(REMOVE_ITEM TEST_OPS test_fleet)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_nocvm_1)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_rolemaker)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_rolemaker_3)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_unitaccessor)
    LIST(REMOVE_ITEM TEST_OPS test_ps_dispatcher)
111 112
    LIST(REMOVE_ITEM TEST_OPS test_ir_memory_optimize_nlp)
    LIST(REMOVE_ITEM TEST_OPS test_nvprof)
113

114 115
    # TODO: Fix these unittests failed on Windows
    LIST(REMOVE_ITEM TEST_OPS test_debugger)
H
huangxu96 已提交
116 117 118
    if (WITH_GPU)
        LIST(REMOVE_ITEM TEST_OPS test_update_loss_scaling_op)
    endif()
119 120 121 122 123 124 125 126 127 128 129 130
endif()

if(NOT WITH_DISTRIBUTE OR WIN32)
    # DISTRIBUTE related
    LIST(REMOVE_ITEM TEST_OPS test_avoid_twice_initialization)
    LIST(REMOVE_ITEM TEST_OPS test_distributed_strategy)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_metric)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_ps)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_rolemaker_2)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_utils)

    # TODO: Fix these unittests failed on Windows
131
    list(REMOVE_ITEM TEST_OPS test_fake_init_op)
H
hutuxian 已提交
132 133
endif()

134 135 136 137 138
if(NOT WITH_DISTRIBUTE)
    LIST(REMOVE_ITEM TEST_OPS test_fleet_rolemaker_new)
    LIST(REMOVE_ITEM TEST_OPS test_desc_clone_dist)
endif()

139 140 141 142
if(WIN32)
    LIST(REMOVE_ITEM TEST_OPS test_complex_matmul)
endif()

G
gongweibao 已提交
143
LIST(REMOVE_ITEM TEST_OPS test_fleet_checkpoint)
144
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint)
145
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint1)
146
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint2)
147 148 149 150 151 152
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint3)
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint_multiple)
LIST(REMOVE_ITEM TEST_OPS test_auto_checkpoint_dist_basic)
LIST(REMOVE_ITEM TEST_OPS test_hdfs1)
LIST(REMOVE_ITEM TEST_OPS test_hdfs2)
LIST(REMOVE_ITEM TEST_OPS test_hdfs3)
153
LIST(REMOVE_ITEM TEST_OPS test_checkpoint_saver)
T
tangwei12 已提交
154

G
gongweibao 已提交
155 156
if(APPLE OR WIN32)
    LIST(REMOVE_ITEM TEST_OPS test_fs_interface)
157
    LIST(REMOVE_ITEM TEST_OPS test_fleet_metric)
G
gongweibao 已提交
158 159
endif()

S
ShenLiang 已提交
160 161
list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_hybrid_parallel)

162
if ((NOT WITH_GPU) AND (NOT WITH_ROCM))
Y
Yu Yang 已提交
163
    LIST(REMOVE_ITEM TEST_OPS test_conv2d_fusion_op)
S
ShenLiang 已提交
164
    LIST(REMOVE_ITEM TEST_OPS test_rank_attention_op) # TODO(shenliang03): rank_attention_op support CPU device in future
S
ShenLiang 已提交
165
    LIST(REMOVE_ITEM TEST_OPS test_batch_fc_op) # TODO(shenliang03): batch_fc_op support CPU device in future
166
    LIST(REMOVE_ITEM TEST_OPS test_parallel_dygraph_mnist) # TODO(Yancey1989): parallel dygraph support CPU device in future
167
    list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_unused_variables)
168 169
    list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_se_resnext)
    LIST(REMOVE_ITEM TEST_OPS test_parallel_dygraph_sparse_embedding)
170
    LIST(REMOVE_ITEM TEST_OPS test_parallel_dygraph_sparse_embedding_over_height)
171
    LIST(REMOVE_ITEM TEST_OPS test_parallel_dygraph_transformer)
C
ceci3 已提交
172
    LIST(REMOVE_ITEM TEST_OPS test_parallel_dygraph_sync_batch_norm)
173 174
    list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_control_flow)
    list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_dataparallel)
175
    LIST(REMOVE_ITEM TEST_OPS test_imperative_auto_mixed_precision)
176
    LIST(REMOVE_ITEM TEST_OPS test_fleet_base_single)
177 178 179 180
elseif(WITH_GPU)
    if (${CUDNN_VERSION} VERSION_LESS 7100)
        LIST(REMOVE_ITEM TEST_OPS test_conv2d_fusion_op)
    endif()
D
Dang Qingqing 已提交
181 182
endif()

183 184 185
if (WITH_NCCL)
    if (${NCCL_VERSION} VERSION_LESS 2212)
        LIST(REMOVE_ITEM DIST_TEST_OPS test_parallel_dygraph_sparse_embedding)
186
        LIST(REMOVE_ITEM DIST_TEST_OPS test_parallel_dygraph_sparse_embedding_over_height)
187 188 189 190
        LIST(REMOVE_ITEM DIST_TEST_OPS test_parallel_dygraph_transformer)
    endif()
endif()

191
if ((NOT WITH_NCCL) AND (NOT WITH_RCCL))
192
    list(REMOVE_ITEM TEST_OPS test_imperative_group)
K
kuizhiqing 已提交
193
    LIST(REMOVE_ITEM TEST_OPS test_new_group_api)
194 195
endif()

196
if(((NOT WITH_ROCM) AND (NOT WITH_GPU)) OR WIN32)
H
hutuxian 已提交
197
    LIST(REMOVE_ITEM TEST_OPS test_boxps)
198
endif()
199 200 201
list(REMOVE_ITEM TEST_OPS test_seq_concat_op) # FIXME(helin): https://github.com/PaddlePaddle/Paddle/issues/8290
list(REMOVE_ITEM TEST_OPS test_lstm_unit_op) # # FIXME(qijun) https://github.com/PaddlePaddle/Paddle/issues/5185
list(REMOVE_ITEM TEST_OPS test_cond_op) # FIXME(qijun): https://github.com/PaddlePaddle/Paddle/issues/5101#issuecomment-339814957
H
Hongyu Liu 已提交
202

203
list(REMOVE_ITEM TEST_OPS op_test) # op_test is a helper python file, not a test
204
list(REMOVE_ITEM TEST_OPS decorator_helper) # decorator_helper is a helper python file, not a test
205

206
if(APPLE)
207 208 209 210
    if(NOT WITH_DISTRIBUTE)
        list(REMOVE_ITEM TEST_OPS test_desc_clone)
        list(REMOVE_ITEM TEST_OPS test_program_code)
    endif(NOT WITH_DISTRIBUTE)
211
    message(WARNING "These tests has been disabled in OSX before being fixed:\n test_fuse_elewise_add_act_pass \n test_detection_map_op \n test_dist_se_resnext_*")
212 213
    # this op is not support on mac
    list(REMOVE_ITEM TEST_OPS test_fusion_seqexpand_concat_fc_op)
214
    list(REMOVE_ITEM TEST_OPS test_detection_map_op)
215
    list(REMOVE_ITEM TEST_OPS test_fuse_elewise_add_act_pass)
216
endif()
T
Tao Luo 已提交
217 218 219 220
if(NOT WITH_MKLML)
    # this op is not support on openblas
    list(REMOVE_ITEM TEST_OPS test_fusion_seqexpand_concat_fc_op)
endif()
221

222
if(NOT WITH_MKL OR NOT WITH_AVX)
A
Aurelius84 已提交
223
  list(REMOVE_ITEM TEST_OPS test_match_matrix_tensor_op)
K
Kevin 已提交
224
  list(REMOVE_ITEM TEST_OPS test_var_conv_2d)
225
endif()
226

227
if(WITH_COVERAGE OR WIN32 OR WITH_NV_JETSON)
A
Aurelius84 已提交
228
  list(REMOVE_ITEM TEST_OPS test_pyramid_hash_op)
229 230
endif()

T
tangwei12 已提交
231
list(REMOVE_ITEM TEST_OPS test_fleet_pyramid_hash)
K
Kevin 已提交
232

233
if((WITH_ROCM OR WITH_GPU) OR NOT WITH_MKLML)
234 235 236 237
    # matmul with multiple heads need MKL support
    LIST(REMOVE_ITEM TEST_OPS test_matmul_op_with_head)
endif()

Y
Yanghello 已提交
238 239 240 241
if(NOT WITH_CRYPTO)
    LIST(REMOVE_ITEM TEST_OPS test_crypto)
endif()

242 243
function(py_test_modules TARGET_NAME)
  if(WITH_TESTING)
244
    set(options SERIAL)
245
    set(oneValueArgs "")
246
    set(multiValueArgs MODULES DEPS ENVS)
247
    cmake_parse_arguments(py_test_modules "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
248

249
    if(WITH_COVERAGE AND NOT (WITH_INCREMENTAL_COVERAGE AND "$ENV{PADDLE_GIT_DIFF_PY_FILE}" STREQUAL ""))
250
        add_test(NAME ${TARGET_NAME}
251 252 253 254
                COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python ${py_test_modules_ENVS}
                COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
                ${PYTHON_EXECUTABLE} -m coverage run --branch -p ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
255
    else()
256 257 258 259
        add_test(NAME ${TARGET_NAME}
                COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python ${py_test_modules_ENVS}
                ${PYTHON_EXECUTABLE} ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
260 261 262
    endif()

    if (py_test_modules_SERIAL)
263
        set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
264
    endif()
265 266 267
    if(WIN32)
        set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 150)
    endif()
268 269
  endif()
endfunction()
G
gongweibao 已提交
270

271

G
gongweibao 已提交
272 273 274 275 276 277
function(bash_test_modules TARGET_NAME)
    if(NOT WITH_TESTING)
        return()
    endif()

    set(options SERIAL)
278 279
    set(oneValueArgs TIMEOUT START_BASH)
    set(multiValueArgs DEPS ENVS LABELS)
G
gongweibao 已提交
280 281
    cmake_parse_arguments(bash_test_modules "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

282

283 284 285 286
    set(timeout 350)
    if(${bash_test_modules_TIMEOUT})
        set(timeout ${bash_test_modules_TIMEOUT})
    endif()
G
gongweibao 已提交
287

288 289 290 291 292
    if(WITH_COVERAGE)
        add_test(NAME ${TARGET_NAME}
            COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python 
            TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout} ${bash_test_modules_ENVS}
            WITH_COVERAGE=ON COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
293
            bash ${CMAKE_CURRENT_BINARY_DIR}/${bash_test_modules_START_BASH}
294 295 296 297 298
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
    else()
        add_test(NAME ${TARGET_NAME}
            COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python 
            TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout} ${bash_test_modules_ENVS}
299
            bash ${CMAKE_CURRENT_BINARY_DIR}/${bash_test_modules_START_BASH}
300 301
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
    endif()
302

G
gongweibao 已提交
303 304 305
    if (bash_test_modules_SERIAL)
        set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
    endif()
306 307

    if(bash_test_modules_LABELS)
308
        set_tests_properties(${TARGET_NAME} PROPERTIES LABELS ${bash_test_modules_LABELS})
309
    endif()
G
gongweibao 已提交
310 311
endfunction()

312 313 314 315 316 317 318 319 320 321 322
function(parallel_bash_test_modules TARGET_NAME)
    if(NOT WITH_TESTING)
        return()
    endif()

    set(options SERIAL)
    set(oneValueArgs TIMEOUT START_BASH)
    set(multiValueArgs DEPS ENVS LABELS UnitTests)
    cmake_parse_arguments(parallel_bash_test_modules "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})


Y
YUNSHEN XIE 已提交
323
    set(timeout 120)
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
    if(${parallel_bash_test_modules_TIMEOUT})
        set(timeout ${parallel_bash_test_modules_TIMEOUT})
    endif()

    list(JOIN  parallel_bash_test_modules_UnitTests " " uts_string)

    if(WITH_COVERAGE)
        add_test(NAME ${TARGET_NAME}
            COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python 
            TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout} ${parallel_bash_test_modules_ENVS} UnitTests=${uts_string}
            WITH_COVERAGE=ON COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
            bash ${CMAKE_CURRENT_BINARY_DIR}/${parallel_bash_test_modules_START_BASH}
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
    else()
        add_test(NAME ${TARGET_NAME}
            COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python 
            TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout} ${parallel_bash_test_modules_ENVS} UnitTests=${uts_string}
            bash ${CMAKE_CURRENT_BINARY_DIR}/${parallel_bash_test_modules_START_BASH}
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
    endif()

    if (parallel_bash_test_modules_SERIAL)
        set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
    endif()

    if(parallel_bash_test_modules_LABELS)
350
        set_tests_properties(${TARGET_NAME} PROPERTIES LABELS ${parallel_bash_test_modules_LABELS})
351 352 353
    endif()
endfunction()

H
Huihuang Zheng 已提交
354
list(REMOVE_ITEM TEST_OPS test_feed_data_check_shape_type)
355
list(REMOVE_ITEM TEST_OPS test_fetch_lod_tensor_array)
356
list(REMOVE_ITEM TEST_OPS test_warpctc_op)
Y
yuyang18 已提交
357
list(REMOVE_ITEM TEST_OPS test_parallel_executor_crf)
358
list(REMOVE_ITEM TEST_OPS test_parallel_executor_profiler)
H
hutuxian 已提交
359
list(REMOVE_ITEM TEST_OPS test_data_norm_op)
360
list(REMOVE_ITEM TEST_OPS test_parallel_executor_fetch_feed)
361
list(REMOVE_ITEM TEST_OPS test_parallel_executor_transformer)
362
list(REMOVE_ITEM TEST_OPS test_parallel_executor_transformer_auto_growth)
D
dengkaipeng 已提交
363 364
list(REMOVE_ITEM TEST_OPS test_bilinear_interp_op)
list(REMOVE_ITEM TEST_OPS test_nearest_interp_op)
365
list(REMOVE_ITEM TEST_OPS test_imperative_resnet)
366 367
list(REMOVE_ITEM TEST_OPS test_imperative_resnet_sorted_gradient)
list(REMOVE_ITEM TEST_OPS test_imperative_mnist_sorted_gradient)
Y
Yan Xu 已提交
368
list(REMOVE_ITEM TEST_OPS test_imperative_se_resnext)
M
minqiyang 已提交
369
list(REMOVE_ITEM TEST_OPS test_imperative_mnist)
D
dzhwinter 已提交
370
list(REMOVE_ITEM TEST_OPS test_ir_memory_optimize_transformer)
L
lujun 已提交
371
list(REMOVE_ITEM TEST_OPS test_layers)
372 373 374
list(REMOVE_ITEM TEST_OPS test_parallel_executor_seresnext_base_cpu)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_seresnext_with_reduce_cpu)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_seresnext_with_fuse_all_reduce_cpu)
375
list(REMOVE_ITEM TEST_OPS test_imperative_ocr_attention_model)
376
list(REMOVE_ITEM TEST_OPS test_async_ssa_graph_executor_mnist)
377
list(REMOVE_ITEM TEST_OPS test_install_check)
378 379 380 381
list(REMOVE_ITEM TEST_OPS test_basic_gru_api)
list(REMOVE_ITEM TEST_OPS test_basic_gru_unit_op)
list(REMOVE_ITEM TEST_OPS test_basic_lstm_api)
list(REMOVE_ITEM TEST_OPS test_basic_lstm_unit_op)
H
Huihuang Zheng 已提交
382
list(REMOVE_ITEM TEST_OPS test_fuse_all_reduce_pass)
Z
Zhen Wang 已提交
383
list(REMOVE_ITEM TEST_OPS test_fuse_bn_act_pass)
Z
Zhang Ting 已提交
384
list(REMOVE_ITEM TEST_OPS test_fuse_bn_add_act_pass)
385 386
list(REMOVE_ITEM TEST_OPS test_imperative_static_runner_mnist)
list(REMOVE_ITEM TEST_OPS test_imperative_static_runner_while)
Y
YUNSHEN XIE 已提交
387
# disable test_cumsum_op temporaily
388
# list(REMOVE_ITEM TEST_OPS test_cumsum_op)
Z
Zeng Jinle 已提交
389

390 391
# disable this unittest temporarily
list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_exception)
Y
YUNSHEN XIE 已提交
392

Z
Zeng Jinle 已提交
393 394 395
if (APPLE OR WIN32)
  list(REMOVE_ITEM TEST_OPS test_dataset)
  list(REMOVE_ITEM TEST_OPS test_dataset_dataloader)
396
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_base)
397
  # list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_exception)
398
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_process)
399 400
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_fds_clear)
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_exit_func)
401
  list(REMOVE_ITEM TEST_OPS test_imperative_signal_handler)
402 403
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_static)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_dynamic)
404
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_exception)
405
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_iterable_dataset)
406
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_dataset)
Z
Zeng Jinle 已提交
407 408
endif()

409 410 411 412
if(NOT WITH_GPU OR WIN32 OR APPLE)
  list(REMOVE_ITEM TEST_OPS test_build_strategy_fusion_group_pass)
endif()

413
# Some ops need to check results when gc is enabled
414
# Currently, only ops that register NoNeedBufferVarsInference need to do this test
415 416
set(TEST_OPS_WITH_GC
  test_affine_channel_op
417 418 419 420 421
  test_concat_op
  test_elementwise_add_op
  test_elementwise_sub_op
  test_fill_zeros_like2_op
  test_gather_op
422
  test_gather_nd_op
423 424 425 426 427 428 429 430
  test_linear_chain_crf_op
  test_lod_reset_op
  test_lookup_table_op
  test_mean_op
  test_pad2d_op
  test_scatter_op
  test_slice_op
  test_space_to_depth_op
431
  test_squared_l2_distance_op)
432 433 434 435 436 437

foreach(TEST_OP ${TEST_OPS_WITH_GC})
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
  py_test_modules(${TEST_OP} MODULES ${TEST_OP} ENVS ${GC_ENVS})
endforeach()

Y
yuyang18 已提交
438 439 440
foreach(TEST_OP ${TEST_OPS})
    py_test_modules(${TEST_OP} MODULES ${TEST_OP})
endforeach(TEST_OP)
441
py_test_modules(test_adam_op_multi_thread MODULES test_adam_op ENVS FLAGS_inner_op_parallelism=4)
L
Li Fuchen 已提交
442
py_test_modules(test_warpctc_op MODULES test_warpctc_op)
443 444
py_test_modules(test_bilinear_interp_op MODULES test_bilinear_interp_op ENVS ${GC_ENVS})
py_test_modules(test_nearest_interp_op MODULES test_nearest_interp_op ENVS ${GC_ENVS})
445
py_test_modules(test_imperative_resnet MODULES test_imperative_resnet ENVS
446
    FLAGS_cudnn_deterministic=1 SERIAL)
447
set_tests_properties(test_imperative_resnet PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
448
py_test_modules(test_imperative_resnet_sorted_gradient MODULES test_imperative_resnet_sorted_gradient ENVS
449
        FLAGS_cudnn_deterministic=1 SERIAL)
450
set_tests_properties(test_imperative_resnet_sorted_gradient PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
M
minqiyang 已提交
451
py_test_modules(test_imperative_mnist MODULES test_imperative_mnist ENVS
452
    FLAGS_cudnn_deterministic=1)
453
py_test_modules(test_imperative_mnist_sorted_gradient MODULES test_imperative_mnist_sorted_gradient ENVS
454
        FLAGS_cudnn_deterministic=1)
Y
Yan Xu 已提交
455
py_test_modules(test_imperative_se_resnext MODULES test_imperative_se_resnext ENVS
456
    FLAGS_cudnn_deterministic=1 SERIAL)
457
set_tests_properties(test_imperative_se_resnext PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
458 459
py_test_modules(test_imperative_ocr_attention_model MODULES test_imperative_ocr_attention_model ENVS
        FLAGS_cudnn_deterministic=1 SERIAL)
460 461 462
py_test_modules(test_install_check MODULES test_install_check ENVS
        FLAGS_cudnn_deterministic=1 SERIAL)
set_tests_properties(test_install_check PROPERTIES LABELS "RUN_TYPE=DIST")
463 464 465 466
py_test_modules(test_imperative_static_runner_mnist MODULES test_imperative_static_runner_mnist ENVS
    FLAGS_cudnn_deterministic=1)
py_test_modules(test_imperative_static_runner_while MODULES test_imperative_static_runner_while ENVS
    FLAGS_cudnn_deterministic=1)
467
set_tests_properties(test_conv2d_op PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
468
if(WITH_DISTRIBUTE)
469 470 471 472
    # FIXME(typhoonzero): add these tests back
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_transformer")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_transpiler")

473 474 475
    # TODO(sandyhouse): fix and add the ut back
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_hallreduce")

476 477 478 479
    #not need
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_base")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_base")

T
tangwei12 已提交
480

481 482 483 484 485 486 487 488
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_ctr")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_lars")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_train")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_save_load")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_text_classification")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_train")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_word2vec")

T
tangwei12 已提交
489 490
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_gloo")

T
tangwei12 已提交
491
    py_test_modules(test_recv_save_op MODULES test_recv_save_op ENVS ${dist_ENVS})
492
    py_test_modules(test_communicator_async MODULES test_communicator_async ENVS ${dist_ENVS})
T
Thunderbrook 已提交
493
    py_test_modules(test_communicator_ps_gpu MODULES test_communicator_ps_gpu ENVS ${dist_ENVS})
494 495
    py_test_modules(test_communicator_geo MODULES test_communicator_geo ENVS ${dist_ENVS})
    py_test_modules(test_communicator_half_async MODULES test_communicator_half_async ENVS ${dist_ENVS} FLAGS_communicator_send_queue_size=1 FLAGS_communicator_max_merge_var_num=1)
T
tangwei12 已提交
496
    py_test_modules(test_communicator_sync MODULES test_communicator_sync ENVS ${dist_ENVS} FLAGS_communicator_send_queue_size=1 FLAGS_communicator_max_merge_var_num=1)
M
mapingshuo 已提交
497
    py_test_modules(test_collective_optimizer MODULES test_collective_optimizer)
498
    if(NOT APPLE)
499
    	   py_test_modules(test_fleet_base MODULES test_fleet_base ENVS ${dist_ENVS})
500 501
    	   py_test_modules(test_fleet_base_2 MODULES test_fleet_base_2 ENVS ${dist_ENVS})
    	   py_test_modules(test_fleet_base_3 MODULES test_fleet_base_3 ENVS ${dist_ENVS})
502
    	   py_test_modules(test_fleet_recompute_meta_optimizer MODULES test_fleet_recompute_meta_optimizer ENVS ${dist_ENVS})
503
	       py_test_modules(test_fleet_graph_executor MODULES test_fleet_graph_executor ENVS ${dist_ENVS})
504
           py_test_modules(test_fleet_gradient_merge_meta_optimizer MODULES test_fleet_gradient_merge_meta_optimizer ENVS ${dist_ENVS})
505
           py_test_modules(test_fleet_sharding_meta_optimizer MODULES test_fleet_sharding_meta_optimizer ENVS ${dist_ENVS})
506
           py_test_modules(test_fleet_amp_meta_optimizer MODULES test_fleet_amp_meta_optimizer ENVS ${dist_ENVS})
507
           py_test_modules(test_fleet_amp_init MODULES test_fleet_amp_init ENVS ${dist_ENVS})
508
           py_test_modules(test_fleet_fp16_allreduce_meta_optimizer MODULES test_fleet_fp16_allreduce_meta_optimizer ENVS ${dist_ENVS})
509
    	   py_test_modules(test_fleet_private_function MODULES test_fleet_private_function ENVS ${dist_ENVS})
510
	   py_test_modules(test_fleet_meta_optimizer_base MODULES test_fleet_meta_optimizer_base ENVS ${dist_ENVS})
511
	   py_test_modules(test_fleet_distributed_strategy MODULES test_fleet_distributed_strategy)
512
	   #py_test_modules(test_fleet_auto MODULES test_fleet_auto ENVS ${dist_ENVS})
Y
Yi Liu 已提交
513 514
        if(NOT WIN32)
            py_test_modules(test_fleet_localsgd_meta_optimizer MODULES test_fleet_localsgd_meta_optimizer ENVS ${dist_ENVS})
Y
YUNSHEN XIE 已提交
515 516
            py_test_modules(test_fleet_lars_meta_optimizer MODULES test_fleet_lars_meta_optimizer ENVS ${dist_ENVS})
            py_test_modules(test_fleet_lamb_meta_optimizer MODULES test_fleet_lamb_meta_optimizer ENVS ${dist_ENVS})
Y
Yi Liu 已提交
517
        endif(NOT WIN32)
518
    endif(NOT APPLE)
G
gongweibao 已提交
519
    if(WITH_DGC)
W
WangXi 已提交
520 521
        # if with dgc, test all dgc tests.
        # NOTE. dist dgc tests is already in DIST_TEST_OPS
G
gongweibao 已提交
522
        py_test_modules(test_dgc_op MODULES test_dgc_op)
523 524
        py_test_modules(test_dgc_momentum_op MODULES test_dgc_momentum_op)
        py_test_modules(test_dgc_optimizer MODULES test_dgc_optimizer)
525
        py_test_modules(test_fleet_dgc_meta_optimizer MODULES test_fleet_dgc_meta_optimizer)
W
WangXi 已提交
526 527 528 529
    else()
        # if not with dgc, must close all dgc tests
        list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_dgc_nccl")
        list(REMOVE_ITEM DIST_TEST_OPS "test_dist_se_resnext_dgc")
G
gongweibao 已提交
530
    endif()
J
JiabinYang 已提交
531
    if(NOT APPLE)
532
        if(WITH_GPU OR WITH_ROCM)
533
            bash_test_modules(test_c_comm_init_op START_BASH test_c_comm_init_op.sh  ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
534
            py_test_modules(test_launch_coverage MODULES test_launch_coverage)
W
WangXi 已提交
535
        endif()
536

537 538 539 540 541
        bash_test_modules(test_fleetrun START_BASH test_fleetrun.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
        bash_test_modules(test_fleet_run_random_port START_BASH test_fleet_run_random_port.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
        bash_test_modules(test_fleet_launch_async START_BASH test_fleet_launch_async.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
        bash_test_modules(test_fleet_launch_cloud START_BASH test_fleet_launch_cloud.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
        bash_test_modules(test_fleet_launch_nproc START_BASH test_fleet_launch_nproc.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
542
        if(WITH_ASCEND OR WITH_ASCEND_CL)
543 544 545
            bash_test_modules(test_fleet_launch_ascend START_BASH test_fleet_launch_ascend.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
            bash_test_modules(test_ascend_group START_BASH test_ascend_group.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
        endif()
546

547
        # port range (20000, 23000) is reserved for dist-ops
G
gongweibao 已提交
548
        set(dist_ut_port 20001)
549
        foreach(TEST_OP ${DIST_TEST_OPS})
550
            bash_test_modules(${TEST_OP} START_BASH dist_test.sh SERIAL LABELS "RUN_TYPE=EXCLUSIVE" ENVS "PADDLE_DIST_UT_PORT=${dist_ut_port}")
551 552 553 554
            MATH(EXPR dist_ut_port "${dist_ut_port}+40")
            if(dist_ut_port GREATER_EQUAL 22998)
                message(FATAL_ERROR "available ports have been exhausted:${dist_ut_port}")
            endif()
555
        endforeach(TEST_OP)
556 557
        # solve it later.
        # bash_test_modules(test_fleet_launch_ps START_BASH test_fleet_launch_ps.sh SERIAL LABELS "RUN_TYPE=EXCLUSIVE" ENVS "PADDLE_DIST_UT_PORT=${dist_ut_port}" PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR} )
558
        bash_test_modules(test_new_group START_BASH test_new_group.sh SERIAL LABELS "RUN_TYPE=EXCLUSIVE" ENVS "PADDLE_DIST_UT_PORT=${dist_ut_port}+20" PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR} )
559
    endif(NOT APPLE)
560
endif()
561

562
py_test_modules(test_parallel_executor_crf MODULES test_parallel_executor_crf)
563 564 565 566 567 568 569 570 571
# Coverage pipeline use cuda 10.1 now, profiler will random hang in cuda 10.1,
# see https://github.com/PaddlePaddle/Paddle/issues/29082 for details.
# We guess there are some bugs in cuda 10.1 or 10.2, 
# since this unittest is stable in cuda 11 (py3 pipeline) now.
if(NOT WITH_COVERAGE)
  py_test_modules(test_parallel_executor_profiler MODULES test_parallel_executor_profiler)
  set_tests_properties(test_parallel_executor_profiler PROPERTIES LABELS "RUN_TYPE=DIST")
  set_tests_properties(test_parallel_executor_profiler PROPERTIES TIMEOUT 120)
endif()
572
py_test_modules(test_parallel_executor_transformer MODULES test_parallel_executor_transformer)
573 574
if(WIN32)
    py_test_modules(test_parallel_executor_transformer_auto_growth MODULES test_parallel_executor_transformer_auto_growth ENVS FLAGS_allocator_strategy=auto_growth CUDA_VISIBLE_DEVICES=0)
H
Huihuang Zheng 已提交
575 576
    py_test_modules(test_fuse_all_reduce_pass MODULES test_fuse_all_reduce_pass ENVS CUDA_VISIBLE_DEVICES=0)
    py_test_modules(test_feed_data_check_shape_type MODULES test_feed_data_check_shape_type ENVS CUDA_VISIBLE_DEVICES=0)
577
    py_test_modules(test_fetch_lod_tensor_array MODULES test_fetch_lod_tensor_array ENVS CUDA_VISIBLE_DEVICES=0)
578 579
else()
    py_test_modules(test_parallel_executor_transformer_auto_growth MODULES test_parallel_executor_transformer_auto_growth ENVS FLAGS_allocator_strategy=auto_growth)
H
Huihuang Zheng 已提交
580 581
    py_test_modules(test_fuse_all_reduce_pass MODULES test_fuse_all_reduce_pass)
    py_test_modules(test_feed_data_check_shape_type MODULES test_feed_data_check_shape_type)
582
    py_test_modules(test_fetch_lod_tensor_array MODULES test_fetch_lod_tensor_array)
583
endif()
584

H
hutuxian 已提交
585
py_test_modules(test_data_norm_op MODULES test_data_norm_op)
Z
Zhen Wang 已提交
586
py_test_modules(test_fuse_bn_act_pass MODULES test_fuse_bn_act_pass ENVS FLAGS_cudnn_deterministic=1 FLAGS_cudnn_batchnorm_spatial_persistent=1 FLAGS_conv_workspace_size_limit=1000)
Z
Zhang Ting 已提交
587
py_test_modules(test_fuse_bn_add_act_pass MODULES test_fuse_bn_add_act_pass ENVS FLAGS_cudnn_deterministic=1 FLAGS_cudnn_batchnorm_spatial_persistent=1 FLAGS_conv_workspace_size_limit=1000)
588

589 590 591 592 593
# NOTE: These unittests will appear NaN steadily in windows CI. After analysis,
# it is found that windows CI will run all the training unittests with the ON_INFER option turned on, 
# which will not appear in other CIs. The calculation behavior of some ops in inference mode is 
# inconsistent with that in non-inference mode.
if(NOT ON_INFER)
594 595 596 597 598 599
    py_test_modules(test_parallel_executor_seresnext_base_cpu MODULES test_parallel_executor_seresnext_base_cpu)
    py_test_modules(test_parallel_executor_seresnext_with_reduce_cpu MODULES test_parallel_executor_seresnext_with_reduce_cpu)
    py_test_modules(test_parallel_executor_seresnext_with_fuse_all_reduce_cpu MODULES test_parallel_executor_seresnext_with_fuse_all_reduce_cpu)
    set_tests_properties(test_parallel_executor_seresnext_base_cpu PROPERTIES TIMEOUT 900)
    set_tests_properties(test_parallel_executor_seresnext_with_reduce_cpu PROPERTIES TIMEOUT 750)
    set_tests_properties(test_parallel_executor_seresnext_with_fuse_all_reduce_cpu PROPERTIES TIMEOUT 750)
600
endif()
601

602 603 604
if(NOT WIN32)
    # TODO: fix these unittests failure on Windows
    py_test_modules(test_layers MODULES test_layers ENVS FLAGS_cudnn_deterministic=1)
605
    py_test_modules(test_ir_memory_optimize_transformer MODULES test_ir_memory_optimize_transformer)
606 607 608
    # FIXME(zcd): temporally disable test_parallel_executor_fetch_feed in Windows CI because of the random failure.
    py_test_modules(test_parallel_executor_fetch_feed MODULES test_parallel_executor_fetch_feed)
    set_tests_properties(test_parallel_executor_fetch_feed PROPERTIES TIMEOUT 450)
D
dzhwinter 已提交
609
endif()
610

611
if(WITH_DISTRIBUTE AND NOT APPLE AND NOT WIN32)
G
gongweibao 已提交
612 613 614 615 616 617 618 619 620 621 622 623
    py_test_modules(test_fleet_checkpoint MODULES test_fleet_checkpoint)
    set_tests_properties(test_fleet_checkpoint PROPERTIES TIMEOUT 200)
    set_tests_properties(test_fleet_checkpoint PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint START_BASH dist_test.sh TIMEOUT 200 LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint1 START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint2 START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint3 START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint_multiple START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_auto_checkpoint_dist_basic START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_hdfs1 START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_hdfs2 START_BASH dist_test.sh TIMEOUT 200   LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
    bash_test_modules(test_hdfs3 START_BASH dist_test.sh TIMEOUT 200  LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
624 625
endif()

626
add_subdirectory(sequence)
627
add_subdirectory(dygraph_to_static)
F
Feiyu Chan 已提交
628
add_subdirectory(rnn)
629

T
tianshuo78520a 已提交
630 631 632 633
if (WITH_XPU)
    add_subdirectory(xpu)
endif()

634 635 636 637 638 639
# dist xpu tests: 
if (WITH_XPU_BKCL)
    py_test(test_collective_reduce_api_xpu SRCS "test_collective_reduce_api.py")
    py_test(test_collective_allreduce_api_xpu SRCS "test_collective_allreduce_api.py")
endif()

640 641 642 643
if (WITH_ASCEND_CL)
    add_subdirectory(npu)
endif()

644 645 646
if (WITH_MKLDNN)
    add_subdirectory(mkldnn)
endif()
647

648 649
add_subdirectory(ir)

650
if (WITH_TESTING)
Z
Zeng Jinle 已提交
651
    set_property(TEST test_parallel_executor_mnist PROPERTY ENVIRONMENT GLOG_vmodule=all_reduce_deps_pass=10)
652 653
endif()

654
set_tests_properties(test_parallel_executor_test_while_train test_parallel_executor_mnist
655
        test_parallel_executor_feed_persistable_var
656
        test_buffer_shared_memory_reuse_pass_and_fuse_optimization_op_pass
657
        test_data_norm_op
658
        test_dataloader_keep_order
659 660
        test_dataloader_unkeep_order
        test_parallel_executor_inference_feed_partial_data
661
        test_parallel_ssa_graph_inference_feed_partial_data
662
        test_fetch_unmerged
663
        test_buffer_shared_memory_reuse_pass PROPERTIES LABELS "RUN_TYPE=DIST")
664 665
# disable test_parallel_executor_fetch_isolated_var
# set_tests_properties(test_parallel_executor_fetch_isolated_var PROPERTIES LABELS "RUN_TYPE=DIST")
K
Kaipeng Deng 已提交
666
set_tests_properties(test_parallel_executor_crf test_sync_batch_norm_op test_inplace_abn_op
667 668 669
        test_parallel_executor_seresnext_base_gpu
        test_parallel_executor_seresnext_with_reduce_gpu
        test_parallel_executor_seresnext_with_fuse_all_reduce_gpu
670
        test_parallel_executor_fetch_isolated_var
C
chalsliu 已提交
671
        PROPERTIES LABELS "RUN_TYPE=DIST")
672

673
if(NOT WIN32 AND NOT APPLE)
674
    set_tests_properties(test_imperative_signal_handler PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
C
chalsliu 已提交
675 676 677 678 679 680
    set_tests_properties(test_imperative_data_loader_base PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    set_tests_properties(test_imperative_data_loader_fds_clear PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    # set_tests_properties(test_imperative_data_loader_exception PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    set_tests_properties(test_multiprocess_dataloader_static PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    set_tests_properties(test_multiprocess_dataloader_dynamic PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    set_tests_properties(test_multiprocess_dataloader_exception PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
681 682
    set_tests_properties(test_multiprocess_dataloader_iterable_dataset_static PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
    set_tests_properties(test_multiprocess_dataloader_iterable_dataset_dynamic PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
683
    set_tests_properties(test_multiprocess_dataloader_dataset PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
684
    set_tests_properties(test_multiprocess_dataloader_static PROPERTIES TIMEOUT 120)
685
endif()
Y
YUNSHEN XIE 已提交
686

687
if (NOT WIN32)
688
    set_tests_properties(test_multiprocess_reader_exception PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
689 690
    set_tests_properties(test_layers PROPERTIES TIMEOUT 120)
    set_tests_properties(test_ir_memory_optimize_transformer PROPERTIES TIMEOUT 120)
691 692 693
endif()

if (WITH_DISTRIBUTE AND NOT WIN32)
694 695 696 697 698
    set_tests_properties(test_fleet_utils PROPERTIES TIMEOUT 120)
endif()

if (WITH_DISTRIBUTE)
    set_tests_properties(test_communicator_half_async PROPERTIES TIMEOUT 120)
699 700
    set_tests_properties(test_dist_fleet_ctr2 PROPERTIES TIMEOUT 200)
    set_tests_properties(test_dist_fleet_sparse_embedding_ctr PROPERTIES TIMEOUT 200)
701
    set_tests_properties(test_dist_fleet_infer PROPERTIES TIMEOUT 200)
702
endif()
703

704
if (WITH_DISTRIBUTE AND NOT APPLE)
705
    if(WITH_GPU OR WITH_ROCM)
706
        set_tests_properties(test_c_comm_init_op PROPERTIES TIMEOUT 120)
707
        set_tests_properties(test_dist_mnist_gradient_merge PROPERTIES TIMEOUT 120)
708
    endif()
Y
YUNSHEN XIE 已提交
709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729
endif()

# setting timeout value as 15S
set_tests_properties(test_sync_batch_norm_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cross_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_lod_tensor_to_selected_rows PROPERTIES TIMEOUT 120)
set_tests_properties(test_lstm_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_star_gan_with_gradient_penalty PROPERTIES TIMEOUT 120)
set_tests_properties(test_warpctc_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bicubic_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_deformable_conv_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nearest_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_profiler PROPERTIES TIMEOUT 120)
set_tests_properties(test_inplace_softmax_with_cross_entropy PROPERTIES TIMEOUT 120)
set_tests_properties(test_cross_entropy2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_fetch_unmerged PROPERTIES TIMEOUT 120)
set_tests_properties(test_gru_unit_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_activation_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_empty_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_transformer PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_div_op PROPERTIES TIMEOUT 120)
730
set_tests_properties(test_regularizer_api PROPERTIES TIMEOUT 150)
Y
YUNSHEN XIE 已提交
731
set_tests_properties(test_multiclass_nms_op PROPERTIES TIMEOUT 120)
732 733 734
if(NOT WIN32)
    set_tests_properties(test_ir_memory_optimize_nlp PROPERTIES TIMEOUT 120)
endif()
Y
YUNSHEN XIE 已提交
735 736 737 738 739 740 741 742 743 744 745
set_tests_properties(test_add_reader_dependency PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilateral_slice_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_buffer_shared_memory_reuse_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_relu_depthwise_conv_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_fleet_util PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_transformer_sorted_gradient PROPERTIES TIMEOUT 120)
set_tests_properties(test_matmul_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nearest_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_trilinear_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bicubic_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_gather_op PROPERTIES TIMEOUT 120)
746
set_tests_properties(test_static_save_load PROPERTIES TIMEOUT 250)
747
set_tests_properties(test_pylayer_op PROPERTIES TIMEOUT 120)
748
set_tests_properties(test_paddle_save_load_binary PROPERTIES TIMEOUT 120)
W
WeiXin 已提交
749
if (WIN32)
W
WeiXin 已提交
750
    set_tests_properties(test_static_save_load_large PROPERTIES TIMEOUT 900)
W
WeiXin 已提交
751 752
    set_tests_properties(test_paddle_save_load PROPERTIES TIMEOUT 250)
else()
W
WeiXin 已提交
753
    set_tests_properties(test_static_save_load_large PROPERTIES TIMEOUT 600)
754
    set_tests_properties(test_paddle_save_load PROPERTIES TIMEOUT 250)
W
WeiXin 已提交
755
endif()
Y
YUNSHEN XIE 已提交
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783
set_tests_properties(test_imperative_selected_rows_to_lod_tensor PROPERTIES TIMEOUT 120)
set_tests_properties(test_index_select_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_ssa_graph_inference_feed_partial_data PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_crf PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_save_load PROPERTIES TIMEOUT 120)
set_tests_properties(test_concat_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_partial_eager_deletion_transformer PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_seresnext_with_reduce_gpu PROPERTIES TIMEOUT 120)
set_tests_properties(test_dropout_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_argsort_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_gather_nd_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_sub_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_row_conv_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_seresnext_with_fuse_all_reduce_gpu PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_min_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nan_inf PROPERTIES TIMEOUT 120)
set_tests_properties(test_deformable_conv_v1_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_transformer_auto_growth PROPERTIES TIMEOUT 120)
set_tests_properties(test_py_reader_using_executor PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_add_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_weight_decay PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ptb_rnn_sorted_gradient PROPERTIES TIMEOUT 120)
set_tests_properties(test_crop_tensor_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_eager_deletion_lstm_net PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_mnist PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ptb_rnn PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_save_load_v2 PROPERTIES TIMEOUT 120)
K
Kaipeng Deng 已提交
784
set_tests_properties(test_conv2d_transpose_op PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
785
set_tests_properties(test_conv3d_transpose_part2_op PROPERTIES TIMEOUT 120)
K
Kaipeng Deng 已提交
786
set_tests_properties(test_conv3d_transpose_op PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821
set_tests_properties(test_prroi_pool_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_multiprocess_dataloader_iterable_dataset_static PROPERTIES TIMEOUT 120)
set_tests_properties(test_lstm_cudnn_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_stack_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilinear_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_deformable_psroi_pooling PROPERTIES TIMEOUT 120)
set_tests_properties(test_trilinear_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_static_runner_mnist PROPERTIES TIMEOUT 120)
set_tests_properties(test_masked_select_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_sigmoid_cross_entropy_with_logits_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_optimizer_v2 PROPERTIES TIMEOUT 120)
set_tests_properties(test_partial_sum_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cond PROPERTIES TIMEOUT 120)
set_tests_properties(test_space_to_depth_op PROPERTIES TIMEOUT 200)
set_tests_properties(test_dyn_rnn PROPERTIES TIMEOUT 120)
set_tests_properties(test_sgd_op PROPERTIES TIMEOUT 250)
set_tests_properties(test_parallel_executor_seresnext_base_gpu PROPERTIES TIMEOUT 120)
set_tests_properties(test_norm_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_matrix_nms_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_generator_dataloader PROPERTIES TIMEOUT 120)
set_tests_properties(test_partial_concat_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_optimizer_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_softmax_with_cross_entropy_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_reduce_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_adam_optimizer_fp32_fp64 PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_buffer_shared_memory_reuse_pass_and_fuse_optimization_op_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv3d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_program_prune_backward PROPERTIES TIMEOUT 120)
set_tests_properties(test_group_norm_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_optimizer PROPERTIES TIMEOUT 120)
set_tests_properties(test_pool2d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_transpose_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_eager_deletion_gru_net PROPERTIES TIMEOUT 120)
S
Shang Zhizhou 已提交
822
set_tests_properties(test_activation_op PROPERTIES TIMEOUT 180)
Y
YUNSHEN XIE 已提交
823 824 825 826 827 828 829 830 831 832 833 834 835
set_tests_properties(test_normal PROPERTIES TIMEOUT 120)
set_tests_properties(test_lstmp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilinear_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_decoupled_py_reader PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_bn_act_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv2d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_mul_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cyclic_cifar_dataset PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_all_reduce_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_dygraph_multi_forward PROPERTIES TIMEOUT 120)
set_tests_properties(test_norm_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ocr_attention_model PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_mnist PROPERTIES TIMEOUT 120)
836 837 838 839 840
set_tests_properties(test_fused_elemwise_activation_op PROPERTIES TIMEOUT 150)
set_tests_properties(test_gru_op PROPERTIES TIMEOUT 200)
set_tests_properties(test_layer_norm_op PROPERTIES TIMEOUT 150)
set_tests_properties(test_pool3d_op PROPERTIES TIMEOUT 150)
set_tests_properties(test_regularizer PROPERTIES TIMEOUT 150)
Y
YUNSHEN XIE 已提交
841 842 843 844 845
set_tests_properties(test_imperative_resnet PROPERTIES TIMEOUT 200)
set_tests_properties(test_imperative_resnet_sorted_gradient PROPERTIES TIMEOUT 200)
set_tests_properties(test_imperative_se_resnext PROPERTIES TIMEOUT 200)
set_tests_properties(test_matmul_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_slice_op PROPERTIES TIMEOUT 120)
846 847 848 849 850 851 852
set_tests_properties(test_strided_slice_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_translated_layer PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_inference_feed_partial_data PROPERTIES TIMEOUT 120)
set_tests_properties(test_pad3d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataloader_keep_order PROPERTIES TIMEOUT 120)
set_tests_properties(test_mean_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataloader_unkeep_order PROPERTIES TIMEOUT 120)
853 854
set_tests_properties(test_reader_reset PROPERTIES TIMEOUT 120)
set_tests_properties(test_pool3d_api PROPERTIES TIMEOUT 120)
855
if(WITH_DISTRIBUTE AND WITH_GPU AND WITH_NCCL)
856 857 858
    set_tests_properties(test_parallel_dygraph_dataparallel PROPERTIES TIMEOUT 120)
    set_tests_properties(test_parallel_dygraph_unused_variables PROPERTIES TIMEOUT 120)
    set_tests_properties(test_parallel_dygraph_control_flow PROPERTIES TIMEOUT 120)
S
ShenLiang 已提交
859
    #set_tests_properties(test_parallel_dygraph_hybrid_parallel PROPERTIES TIMEOUT 200 LABELS "RUN_TYPE=DIST")
860 861 862 863
    if(${NCCL_VERSION} VERSION_GREATER_EQUAL 2212)
        set_tests_properties(test_parallel_dygraph_sparse_embedding PROPERTIES TIMEOUT 120)
        set_tests_properties(test_parallel_dygraph_transformer PROPERTIES TIMEOUT 120)
    endif()
Y
YUNSHEN XIE 已提交
864
endif()
865
if((WITH_ROCM OR WITH_GPU) AND NOT WIN32)
Y
YUNSHEN XIE 已提交
866
    set_tests_properties(test_collective_allgather_api PROPERTIES TIMEOUT 120)
867 868
    set_tests_properties(test_collective_broadcast_api PROPERTIES TIMEOUT 120)
    set_tests_properties(test_collective_allreduce_api PROPERTIES TIMEOUT 120)
K
kuizhiqing 已提交
869
    set_tests_properties(test_new_group_api PROPERTIES TIMEOUT 120)
870 871 872
    if(WITH_DISTRIBUTE)
        set_tests_properties(test_pipeline PROPERTIES TIMEOUT 120)
    endif()
873 874 875 876 877 878
    set_tests_properties(test_reducescatter_api PROPERTIES TIMEOUT 120)
    set_tests_properties(test_broadcast PROPERTIES TIMEOUT 120)
    set_tests_properties(test_reducescatter PROPERTIES TIMEOUT 120)
    set_tests_properties(test_collective_reduce_api PROPERTIES TIMEOUT 120)
    set_tests_properties(test_collective_reduce PROPERTIES TIMEOUT 120)
    set_tests_properties(test_allreduce PROPERTIES TIMEOUT 120)
L
lilong12 已提交
879 880
    set_tests_properties(test_c_concat PROPERTIES TIMEOUT 120)
    set_tests_properties(test_c_split PROPERTIES TIMEOUT 120)
881
    set_tests_properties(test_allgather PROPERTIES TIMEOUT 120)
L
lilong12 已提交
882
    set_tests_properties(test_c_identity PROPERTIES TIMEOUT 120)
883 884
    set_tests_properties(test_collective_scatter_api PROPERTIES TIMEOUT 120)
    set_tests_properties(test_collective_barrier_api PROPERTIES TIMEOUT 120)
885 886
    set_tests_properties(test_collective_scatter PROPERTIES TIMEOUT 120)
    set_tests_properties(test_collective_sendrecv PROPERTIES TIMEOUT 120)
887 888 889 890 891 892 893 894
    set_tests_properties(test_collective_split_embedding
        test_collective_split_embedding_none_divisible
        test_collective_split_row_linear
        test_collective_split_col_linear
        test_collective_scatter_api
        test_collective_barrier_api
        test_collective_reduce_api
        test_collective_allreduce_api
K
kuizhiqing 已提交
895
        test_new_group_api
896 897 898
        test_collective_broadcast_api
        test_collective_allgather_api
        PROPERTIES LABELS "RUN_TYPE=DIST")
Y
YUNSHEN XIE 已提交
899
endif()
900
if(WITH_GPU OR WITH_ROCM)
Y
YUNSHEN XIE 已提交
901
    set_tests_properties(test_imperative_auto_mixed_precision PROPERTIES TIMEOUT 120)
902
    set_tests_properties(test_parallel_dygraph_sync_batch_norm PROPERTIES TIMEOUT 120)
903
    set_tests_properties(test_rank_attention_op PROPERTIES TIMEOUT 120)
904
endif()
Y
YUNSHEN XIE 已提交
905
set_tests_properties(test_inplace_addto_strategy PROPERTIES TIMEOUT 120)