Files
paddlepaddle--paddle/test/cinn/CMakeLists.txt
T
2026-07-13 12:40:42 +08:00

129 lines
4.1 KiB
CMake

set(CINN_PYTHON_TEST_DIR ${CMAKE_BINARY_DIR}/test/cinn)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/test/__init__.py POST_BUILD
COMMAND cp -rf --remove-destination ${PROJECT_SOURCE_DIR}/test/cinn
${CMAKE_BINARY_DIR}/test/
COMMAND cd ${CMAKE_BINARY_DIR}/test/ && touch __init__.py)
add_custom_target(COPY_CINN_PYTHON_TESTS ALL
DEPENDS ${CMAKE_BINARY_DIR}/test/__init__.py)
set(BASIC_TEST_NAMES)
foreach(basic_test_name ${BASIC_TEST_NAMES})
add_test(
NAME ${basic_test_name}
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}
python3 ${CMAKE_CURRENT_SOURCE_DIR}/${basic_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
if(WITH_GPU)
file(
GLOB CINN_OP_TEST
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"ops/test_*.py")
set(EXCLUDE_OP test_conv2d_op)
foreach(op_test_name ${EXCLUDE_OP})
list(REMOVE_ITEM CINN_OP_TEST ops/${op_test_name}.py)
endforeach()
foreach(op_test_name ${CINN_OP_TEST})
string(REGEX REPLACE ".py" "" op_test_name ${op_test_name})
add_test(
NAME ${op_test_name}
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${op_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
# test op mapper
file(
GLOB CINN_OP_MAPPER_TEST
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"op_mappers/test_*.py")
set(EXCLUDE_OP_MAPPER test_mul_op test_conv2d_op)
foreach(op_mapper_test_name ${EXCLUDE_OP_MAPPER})
list(REMOVE_ITEM CINN_OP_MAPPER_TEST op_mappers/${op_mapper_test_name}.py)
endforeach()
foreach(op_mapper_test_name ${CINN_OP_MAPPER_TEST})
string(REGEX REPLACE ".py" "" op_mapper_test_name ${op_mapper_test_name})
add_test(
NAME "${op_mapper_test_name}_mapper"
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}
${PYTHON_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/${op_mapper_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
# test pass test
file(
GLOB CINN_PASS_TEST
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"passes/test_*.py")
set(EXCLUDE_PASS ${EXCLUDE_PASS} test_fusion_fallback_pass)
set(EXCLUDE_PASS ${EXCLUDE_PASS} test_accuracy_check_pass)
foreach(pass_test_name ${EXCLUDE_PASS})
list(REMOVE_ITEM CINN_PASS_TEST passes/${pass_test_name}.py)
endforeach()
foreach(pass_test_name ${CINN_PASS_TEST})
string(REGEX REPLACE ".py" "" pass_test_name ${pass_test_name})
add_test(
NAME ${pass_test_name}
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${pass_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
file(
GLOB CINN_RUNTIME_TEST
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"runtime/test_*.py")
foreach(runtime_test_name ${EXCLUDE_RUNTIME})
list(REMOVE_ITEM CINN_RUNTIME_TEST runtime/${runtime_test_name}.py)
endforeach()
foreach(runtime_test_name ${CINN_RUNTIME_TEST})
string(REGEX REPLACE ".py" "" runtime_test_name ${runtime_test_name})
add_test(
NAME ${runtime_test_name}
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python/:$ENV{PYTHONPATH}
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${runtime_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
file(
GLOB CINN_IR_TEST
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"ir/test_*.py")
foreach(ir_test_name ${CINN_IR_TEST})
string(REGEX REPLACE ".py" "" ir_test_name ${ir_test_name})
add_test(
NAME ${ir_test_name}
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_BINARY_DIR}:${CMAKE_BINARY_DIR}/python/:$ENV{PYTHONPATH}
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${ir_test_name}.py
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endforeach()
endif()