Skip to content

Commit 4984855

Browse files
authored
Merge pull request #78 from certik/cmake
CMake: introduce ADDTEST macro
2 parents 1f08c60 + 99b9c8d commit 4984855

File tree

6 files changed

+23
-49
lines changed

6 files changed

+23
-49
lines changed

src/tests/CMakeLists.txt

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1+
macro(ADDTEST name)
2+
add_executable(test_${name} test_${name}.f90)
3+
target_link_libraries(test_${name} fortran_stdlib)
4+
add_test(NAME ${name}
5+
COMMAND $<TARGET_FILE:test_${name}> ${CMAKE_CURRENT_BINARY_DIR}
6+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
7+
endmacro(ADDTEST)
8+
19
add_subdirectory(ascii)
210
add_subdirectory(io)
311
add_subdirectory(optval)
412

5-
add_executable(test_skip test_skip.f90)
6-
target_link_libraries(test_skip fortran_stdlib)
7-
add_test(NAME AlwaysSkip COMMAND $<TARGET_FILE:test_skip>)
8-
set_tests_properties(AlwaysSkip PROPERTIES SKIP_RETURN_CODE 77)
9-
10-
add_executable(test_fail test_fail.f90)
11-
target_link_libraries(test_fail fortran_stdlib)
12-
add_test(NAME AlwaysFail COMMAND $<TARGET_FILE:test_fail>)
13-
set_tests_properties(AlwaysFail PROPERTIES WILL_FAIL true)
13+
ADDTEST(always_skip)
14+
set_tests_properties(always_skip PROPERTIES SKIP_RETURN_CODE 77)
15+
ADDTEST(always_fail)
16+
set_tests_properties(always_fail PROPERTIES WILL_FAIL true)

src/tests/ascii/CMakeLists.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
add_executable(test_ascii test_ascii.f90)
2-
target_link_libraries(test_ascii fortran_stdlib)
3-
4-
add_test(NAME ASCII COMMAND $<TARGET_FILE:test_ascii>)
1+
ADDTEST(ascii)

src/tests/io/CMakeLists.txt

+7-30
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,10 @@
1-
add_executable(test_loadtxt test_loadtxt.f90)
2-
target_link_libraries(test_loadtxt fortran_stdlib)
3-
4-
add_executable(test_savetxt test_savetxt.f90)
5-
target_link_libraries(test_savetxt fortran_stdlib)
6-
7-
add_executable(test_loadtxt_qp test_loadtxt_qp.f90)
8-
target_link_libraries(test_loadtxt_qp fortran_stdlib)
9-
10-
add_executable(test_savetxt_qp test_savetxt_qp.f90)
11-
target_link_libraries(test_savetxt_qp fortran_stdlib)
12-
13-
add_executable(test_open test_open.f90)
14-
target_link_libraries(test_open fortran_stdlib)
15-
16-
add_executable(test_parse_mode test_parse_mode.f90)
17-
target_link_libraries(test_parse_mode fortran_stdlib)
18-
19-
add_test(NAME loadtxt COMMAND $<TARGET_FILE:test_loadtxt> ${CMAKE_CURRENT_BINARY_DIR}
20-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
21-
add_test(NAME savetxt COMMAND $<TARGET_FILE:test_savetxt> ${CMAKE_CURRENT_BINARY_DIR}
22-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
23-
add_test(NAME loadtxt_qp COMMAND $<TARGET_FILE:test_loadtxt_qp> ${CMAKE_CURRENT_BINARY_DIR}
24-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
25-
add_test(NAME savetxt_qp COMMAND $<TARGET_FILE:test_savetxt_qp> ${CMAKE_CURRENT_BINARY_DIR}
26-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
27-
add_test(NAME open COMMAND $<TARGET_FILE:test_open> ${CMAKE_CURRENT_BINARY_DIR}
28-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
29-
add_test(NAME parse_mode COMMAND $<TARGET_FILE:test_parse_mode> ${CMAKE_CURRENT_BINARY_DIR}
30-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
1+
ADDTEST(loadtxt)
2+
ADDTEST(savetxt)
313

4+
ADDTEST(loadtxt_qp)
5+
ADDTEST(savetxt_qp)
326
set_tests_properties(loadtxt_qp PROPERTIES LABELS quadruple_precision)
337
set_tests_properties(savetxt_qp PROPERTIES LABELS quadruple_precision)
8+
9+
ADDTEST(open)
10+
ADDTEST(parse_mode)

src/tests/optval/CMakeLists.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
add_executable(test_optval test_optval.f90)
2-
target_link_libraries(test_optval fortran_stdlib)
3-
4-
add_test(NAME OPTVAL COMMAND $<TARGET_FILE:test_optval>)
1+
ADDTEST(optval)

src/tests/test_fail.f90 renamed to src/tests/test_always_fail.f90

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
program AlwaysFail
1+
program test_always_fail
22

33
use stdlib_experimental_error, only : assert
44
implicit none

src/tests/test_skip.f90 renamed to src/tests/test_always_skip.f90

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
program AlwaysSkip
1+
program test_always_skip
22

33
use stdlib_experimental_error, only : assert
44
implicit none

0 commit comments

Comments
 (0)