1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
add_library(common_catch_main_object OBJECT "common_catch_main.cc")
if(Catch2_FOUND)
target_link_libraries(common_catch_main_object Catch2::Catch2)
endif()
if(EIGEN3_INCLUDE_DIR)
target_include_directories(common_catch_main_object SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
endif()
if(onnxruntime_INCLUDE_DIR)
target_include_directories(common_catch_main_object SYSTEM PUBLIC ${onnxruntime_INCLUDE_DIR})
endif()
target_include_directories(common_catch_main_object PUBLIC
"${EXTERNAL_ROOT}/include/"
"${PROJECT_BINARY_DIR}/include/"
"${CMAKE_CURRENT_SOURCE_DIR}/.."
)
if(CATCH_HAS_THROWS_AS)
add_definitions(-DCATCH_HAS_THROWS_AS)
endif()
set(RAND_SEED "1449580491")
add_catch_test(bisection_method LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(chained_operators LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(conjugate_gradient LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(credible_region LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(forward_backward LIBRARIES sopt tools_for_tests SEED ${RAND_SEED})
add_catch_test(linear_transform LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(maths LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(padmm LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(padmm_warm_start LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(primal_dual LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(proximal LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(reweighted LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(sdmm LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(sdmm_warm_start LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(wrapper LIBRARIES sopt SEED ${RAND_SEED})
if(onnxrt)
add_catch_test(ort_model LIBRARIES sopt ${onnxruntime_LIBRARIES})
add_catch_test(tf_model LIBRARIES sopt tools_for_tests ${onnxruntime_LIBRARIES})
add_catch_test(tf_inpainting LIBRARIES sopt tools_for_tests ${onnxruntime_LIBRARIES} SEED ${RAND_SEED})
endif()
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test_data DESTINATION .)
if(SOPT_MPI)
add_library(common_mpi_catch_main_object OBJECT common_mpi_catch_main.cc)
target_include_directories(common_mpi_catch_main_object
PUBLIC ${PROJECT_SOURCE_DIR}/cpp ${PROJECT_BINARY_DIR}/include ${MPI_CXX_INCLUDE_PATH})
if(Catch2_FOUND)
target_link_libraries(common_mpi_catch_main_object Catch2::Catch2)
endif()
if(EIGEN3_INCLUDE_DIR)
target_include_directories(common_mpi_catch_main_object SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
endif()
function(add_mpi_test_from_test testname)
unset(arguments)
if(CATCH_JUNIT)
set(arguments -r junit -o ${PROJECT_BINARY_DIR}/Testing/${testname}.xml)
endif()
if(NOT MPIEXEC_MAX_NUMPROCS)
set(MPIEXEC_MAX_NUMPROCS 4)
endif()
add_test(NAME ${testname}
COMMAND
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS}
"./test_${testname}" ${arguments})
set_tests_properties(${testname} PROPERTIES LABELS "catch;mpi")
endfunction()
function(add_mpi_test testname)
add_catch_test(${testname} COMMON_MAIN common_mpi_catch_main_object NOTEST ${ARGN})
add_mpi_test_from_test(${testname})
endfunction()
add_mpi_test(mpi_wavelets LIBRARIES sopt)
add_catch_test(mpi_session NOMAIN LIBRARIES sopt NOTEST)
add_mpi_test_from_test(mpi_session)
endif()
|