CMake: use script for ctest
This commit is contained in:
parent
5ccb8af871
commit
11192076a4
|
@ -14,26 +14,23 @@ add_executable(${test_bin} ${test_bin}.f)
|
|||
target_link_libraries(${test_bin} ${OpenBLAS_LIBNAME})
|
||||
endforeach()
|
||||
|
||||
# $1 exec, $2 input, $3 output_result
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh
|
||||
"rm -f $3\n"
|
||||
"$1 < $2\n"
|
||||
"grep -q FATAL $3\n"
|
||||
"if [ $? -eq 0 ]; then\n"
|
||||
"echo Error\n"
|
||||
"exit 1\n"
|
||||
"else\n"
|
||||
"exit 0\n"
|
||||
"fi\n"
|
||||
)
|
||||
|
||||
set(float_types s d c z)
|
||||
foreach(float_type ${float_types})
|
||||
string(TOUPPER ${float_type} float_type_upper)
|
||||
add_test(NAME "${float_type}blas1"
|
||||
COMMAND "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat1")
|
||||
add_test(NAME "${float_type}blas2"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat2" "${PROJECT_SOURCE_DIR}/test/${float_type}blat2.dat" ${float_type_upper}BLAT2.SUMM)
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat2"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/test/${float_type}blat2.dat"
|
||||
"-DTEST_FILE=${float_type_upper}BLAT2.SUMM"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_helper.cmake"
|
||||
)
|
||||
add_test(NAME "${float_type}blas3"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat3" "${PROJECT_SOURCE_DIR}/test/${float_type}blat3.dat" ${float_type_upper}BLAT3.SUMM)
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat3"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/test/${float_type}blat3.dat"
|
||||
"-DTEST_FILE=${float_type_upper}BLAT3.SUMM"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_helper.cmake"
|
||||
)
|
||||
endforeach()
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
file(REMOVE ${TEST_FILE})
|
||||
execute_process(COMMAND ${TEST_COMMAND}
|
||||
INPUT_FILE ${TEST_INPUT}
|
||||
)
|
||||
FILE(READ ${TEST_FILE} TEST_FILE_CONTENTS)
|
||||
STRING(FIND "${TEST_FILE_CONTENTS}" "FATAL" CONTAINS_FATAL)
|
||||
IF(NOT (${CONTAINS_FATAL} EQUAL -1))
|
||||
MESSAGE(FATAL_ERROR "Error")
|
||||
ENDIF()
|
Loading…
Reference in New Issue