@@ -8,17 +8,19 @@ set(TESTS
8
8
finufft2dmany_test
9
9
finufft3d_test
10
10
finufft3dmany_test
11
- finufft3dkernel_test)
11
+ finufft3dkernel_test
12
+ spreadinterp1d_test
13
+ )
12
14
13
15
foreach (TEST ${TESTS} )
14
- add_executable (${TEST} ${TEST} .cpp)
15
- target_compile_features (${TEST} PRIVATE cxx_std_17)
16
- finufft_link_test(${TEST} )
17
-
18
- add_executable (${TEST} f ${TEST} .cpp)
19
- target_compile_definitions (${TEST} f PRIVATE -DSINGLE)
20
- target_compile_features (${TEST} f PRIVATE cxx_std_17)
21
- finufft_link_test(${TEST} f)
16
+ add_executable (${TEST} ${TEST} .cpp)
17
+ target_compile_features (${TEST} PRIVATE cxx_std_17)
18
+ finufft_link_test(${TEST} )
19
+
20
+ add_executable (${TEST} f ${TEST} .cpp)
21
+ target_compile_definitions (${TEST} f PRIVATE -DSINGLE)
22
+ target_compile_features (${TEST} f PRIVATE cxx_std_17)
23
+ finufft_link_test(${TEST} f)
22
24
endforeach ()
23
25
24
26
# copy the DLLs to the build directory so that the tests can find them there fix
@@ -28,75 +30,96 @@ copy_dll(finufft basicpassfail)
28
30
# Add ctest definitions not for both precisions...
29
31
add_executable (testutils testutils.cpp)
30
32
if (FINUFFT_USE_DUCC0)
31
- target_compile_definitions (testutils PRIVATE -DFINUFFT_USE_DUCC0)
33
+ target_compile_definitions (testutils PRIVATE -DFINUFFT_USE_DUCC0)
32
34
endif ()
33
35
target_compile_features (testutils PRIVATE cxx_std_17)
34
36
finufft_link_test(testutils)
35
37
add_test (
36
- NAME run_testutils
37
- COMMAND testutils
38
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
38
+ NAME run_testutils
39
+ COMMAND testutils
40
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
41
+ )
39
42
40
43
if (NOT FINUFFT_USE_DUCC0)
41
- add_executable (fftw_lock_test fftw_lock_test.cpp)
42
- target_compile_features (fftw_lock_test PRIVATE cxx_std_17)
43
- finufft_link_test(fftw_lock_test)
44
-
45
- add_test (
46
- NAME run_fftw_lock_test
47
- COMMAND fftw_lock_test
48
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
44
+ add_executable (fftw_lock_test fftw_lock_test.cpp)
45
+ target_compile_features (fftw_lock_test PRIVATE cxx_std_17)
46
+ finufft_link_test(fftw_lock_test)
47
+
48
+ add_test (
49
+ NAME run_fftw_lock_test
50
+ COMMAND fftw_lock_test
51
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
52
+ )
49
53
endif ()
50
54
51
55
# Add ctest definitions that run at both precisions...
52
56
function (add_tests_with_prec PREC REQ_TOL CHECK_TOL SUFFIX )
53
- # All of the following should be run at OMP_NUM_THREADS=4 or something small,
54
- # as in makefile. This prevents them taking a huge time on a, say, 128-core
55
- # Rome node. ... but I don't know platform-indep way to do that! Does anyone?
56
-
57
- add_test (
58
- NAME run_basic_pass_fail_${PREC}
59
- COMMAND basicpassfail${SUFFIX}
60
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
61
-
62
- add_test (
63
- NAME run_finufft1d_test_${PREC}
64
- COMMAND finufft1d_test${SUFFIX} 1e2 2e2 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
65
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
66
-
67
- add_test (
68
- NAME run_finufft1dmany_test_${PREC}
69
- COMMAND finufft1dmany_test${SUFFIX} 3 1e2 2e2 ${REQ_TOL} 0 0 0 2 0.0
57
+ # All of the following should be run at OMP_NUM_THREADS=4 or something small,
58
+ # as in makefile. This prevents them taking a huge time on a, say, 128-core
59
+ # Rome node. ... but I don't know platform-indep way to do that! Does anyone?
60
+
61
+ add_test (
62
+ NAME run_basic_pass_fail_${PREC}
63
+ COMMAND basicpassfail${SUFFIX}
64
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
65
+ )
66
+
67
+ add_test (
68
+ NAME run_finufft1d_test_${PREC}
69
+ COMMAND finufft1d_test${SUFFIX} 1e2 2e2 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
70
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
71
+ )
72
+
73
+ add_test (
74
+ NAME run_finufft1dmany_test_${PREC}
75
+ COMMAND
76
+ finufft1dmany_test${SUFFIX} 3 1e2 2e2 ${REQ_TOL} 0 0 0 2 0.0
70
77
${CHECK_TOL}
71
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
72
-
73
- add_test (
74
- NAME run_finufft2d_test_${PREC}
75
- COMMAND finufft2d_test${SUFFIX} 1e2 1e1 1e3 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
76
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
77
-
78
- add_test (
79
- NAME run_finufft2dmany_test_${PREC}
80
- COMMAND finufft2dmany_test${SUFFIX} 3 1e2 1e1 1e3 ${REQ_TOL} 0 0 0 2 0.0
78
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
79
+ )
80
+
81
+ add_test (
82
+ NAME run_finufft2d_test_${PREC}
83
+ COMMAND
84
+ finufft2d_test${SUFFIX} 1e2 1e1 1e3 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
85
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
86
+ )
87
+
88
+ add_test (
89
+ NAME run_finufft2dmany_test_${PREC}
90
+ COMMAND
91
+ finufft2dmany_test${SUFFIX} 3 1e2 1e1 1e3 ${REQ_TOL} 0 0 0 2 0.0
81
92
${CHECK_TOL}
82
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
83
-
84
- add_test (
85
- NAME run_finufft3d_test_${PREC}
86
- COMMAND finufft3d_test${SUFFIX} 5 10 20 1e2 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
87
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
88
-
89
- add_test (
90
- NAME run_finufft3dmany_test_${PREC}
91
- COMMAND finufft3dmany_test${SUFFIX} 2 5 10 20 1e2 ${REQ_TOL} 0 0 0 2 0.0
93
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
94
+ )
95
+
96
+ add_test (
97
+ NAME run_finufft3d_test_${PREC}
98
+ COMMAND
99
+ finufft3d_test${SUFFIX} 5 10 20 1e2 ${REQ_TOL} 0 2 0.0 ${CHECK_TOL}
100
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
101
+ )
102
+
103
+ add_test (
104
+ NAME run_finufft3dmany_test_${PREC}
105
+ COMMAND
106
+ finufft3dmany_test${SUFFIX} 2 5 10 20 1e2 ${REQ_TOL} 0 0 0 2 0.0
92
107
${CHECK_TOL}
93
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
94
-
95
- add_test (
96
- NAME run_dumbinputs_${PREC}
97
- COMMAND dumbinputs${SUFFIX}
98
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
99
-
108
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
109
+ )
110
+
111
+ add_test (
112
+ NAME run_dumbinputs_${PREC}
113
+ COMMAND dumbinputs${SUFFIX}
114
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
115
+ )
116
+
117
+ add_test (
118
+ NAME spreadinterp1d_${PREC}
119
+ COMMAND
120
+ spreadinterp1d_test${SUFFIX} 1e3 1e3 ${REQ_TOL} 0 2 2.0 ${CHECK_TOL}
121
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
122
+ )
100
123
endfunction ()
101
124
102
125
# use above function to actually add the tests, with certain requested and check
0 commit comments