Skip to content

CMake: introduce ADDTEST macro #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions src/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
macro(ADDTEST name)
add_executable(test_${name} test_${name}.f90)
target_link_libraries(test_${name} fortran_stdlib)
add_test(NAME ${name}
COMMAND $<TARGET_FILE:test_${name}> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endmacro(ADDTEST)

add_subdirectory(ascii)
add_subdirectory(io)
add_subdirectory(optval)

add_executable(test_skip test_skip.f90)
target_link_libraries(test_skip fortran_stdlib)
add_test(NAME AlwaysSkip COMMAND $<TARGET_FILE:test_skip>)
set_tests_properties(AlwaysSkip PROPERTIES SKIP_RETURN_CODE 77)

add_executable(test_fail test_fail.f90)
target_link_libraries(test_fail fortran_stdlib)
add_test(NAME AlwaysFail COMMAND $<TARGET_FILE:test_fail>)
set_tests_properties(AlwaysFail PROPERTIES WILL_FAIL true)
ADDTEST(always_skip)
set_tests_properties(always_skip PROPERTIES SKIP_RETURN_CODE 77)
ADDTEST(always_fail)
set_tests_properties(always_fail PROPERTIES WILL_FAIL true)
5 changes: 1 addition & 4 deletions src/tests/ascii/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
add_executable(test_ascii test_ascii.f90)
target_link_libraries(test_ascii fortran_stdlib)

add_test(NAME ASCII COMMAND $<TARGET_FILE:test_ascii>)
ADDTEST(ascii)
37 changes: 7 additions & 30 deletions src/tests/io/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,10 @@
add_executable(test_loadtxt test_loadtxt.f90)
target_link_libraries(test_loadtxt fortran_stdlib)

add_executable(test_savetxt test_savetxt.f90)
target_link_libraries(test_savetxt fortran_stdlib)

add_executable(test_loadtxt_qp test_loadtxt_qp.f90)
target_link_libraries(test_loadtxt_qp fortran_stdlib)

add_executable(test_savetxt_qp test_savetxt_qp.f90)
target_link_libraries(test_savetxt_qp fortran_stdlib)

add_executable(test_open test_open.f90)
target_link_libraries(test_open fortran_stdlib)

add_executable(test_parse_mode test_parse_mode.f90)
target_link_libraries(test_parse_mode fortran_stdlib)

add_test(NAME loadtxt COMMAND $<TARGET_FILE:test_loadtxt> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME savetxt COMMAND $<TARGET_FILE:test_savetxt> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME loadtxt_qp COMMAND $<TARGET_FILE:test_loadtxt_qp> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME savetxt_qp COMMAND $<TARGET_FILE:test_savetxt_qp> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME open COMMAND $<TARGET_FILE:test_open> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME parse_mode COMMAND $<TARGET_FILE:test_parse_mode> ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
ADDTEST(loadtxt)
ADDTEST(savetxt)

ADDTEST(loadtxt_qp)
ADDTEST(savetxt_qp)
set_tests_properties(loadtxt_qp PROPERTIES LABELS quadruple_precision)
set_tests_properties(savetxt_qp PROPERTIES LABELS quadruple_precision)

ADDTEST(open)
ADDTEST(parse_mode)
5 changes: 1 addition & 4 deletions src/tests/optval/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
add_executable(test_optval test_optval.f90)
target_link_libraries(test_optval fortran_stdlib)

add_test(NAME OPTVAL COMMAND $<TARGET_FILE:test_optval>)
ADDTEST(optval)
2 changes: 1 addition & 1 deletion src/tests/test_fail.f90 → src/tests/test_always_fail.f90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
program AlwaysFail
program test_always_fail

use stdlib_experimental_error, only : assert
implicit none
Expand Down
2 changes: 1 addition & 1 deletion src/tests/test_skip.f90 → src/tests/test_always_skip.f90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
program AlwaysSkip
program test_always_skip

use stdlib_experimental_error, only : assert
implicit none
Expand Down