function(train_test TARGET_NAME) set(options "") set(oneValueArgs "") set(multiValueArgs ARGS) cmake_parse_arguments(train_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) set(arg_list "") if(train_test_ARGS) foreach(arg ${train_test_ARGS}) list(APPEND arg_list "_${arg}") endforeach() else() list(APPEND arg_list "_") endif() foreach(arg ${arg_list}) string(REGEX REPLACE "^_$" "" arg "${arg}") if (NOT APPLE AND NOT WIN32) cc_test(test_train_${TARGET_NAME}${arg} SRCS test_train_${TARGET_NAME}.cc DEPS paddle_fluid_shared ARGS --dirname=${PYTHON_TESTS_DIR}/book/${TARGET_NAME}${arg}.train.model/) else() cc_test(test_train_${TARGET_NAME}${arg} SRCS test_train_${TARGET_NAME}.cc DEPS paddle_fluid_api ARGS --dirname=${PYTHON_TESTS_DIR}/book/${TARGET_NAME}${arg}.train.model/) endif() set_tests_properties(test_train_${TARGET_NAME}${arg} PROPERTIES FIXTURES_REQUIRED test_${TARGET_NAME}_infer_model) if(NOT WIN32 AND NOT APPLE) set_tests_properties(test_train_${TARGET_NAME}${arg} PROPERTIES TIMEOUT 150) endif() endforeach() endfunction(train_test) if(WITH_TESTING) train_test(recognize_digits ARGS mlp conv) endif()