Source
13
13
##############################################################################
14
14
##############################################################################
15
15
### T E S T I N G ###
16
16
##############################################################################
17
17
##############################################################################
18
18
19
19
# make test dir
20
20
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST")
21
21
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles")
22
22
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files")
23
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
24
-
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared")
25
-
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles")
26
-
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files")
27
-
endif ()
28
23
29
24
# --------------------------------------------------------------------
30
25
# Copy all the HDF5 files from the source directory into the test directory
31
26
# --------------------------------------------------------------------
32
27
set (HDF5_TEST_FILES
33
28
tnullspace.h5
34
29
)
35
30
36
31
foreach (h5_tfile ${HDF5_TEST_FILES})
37
32
HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/H5TEST/${h5_tfile}" "HDF5_TEST_LIB_files")
38
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
39
-
HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/H5TEST-shared/${h5_tfile}" "HDF5_TEST_LIBSH_files")
40
-
endif ()
41
33
endforeach ()
42
34
43
35
# --------------------------------------------------------------------
44
36
# Copy all the HDF5 files from the test directory into the source directory
45
37
# --------------------------------------------------------------------
46
38
set (HDF5_REFERENCE_FILES
47
39
err_compat_1
48
40
err_compat_2
49
41
error_test_1
50
42
error_test_2
51
43
links_env.out
52
44
)
53
45
54
46
foreach (ref_file ${HDF5_REFERENCE_FILES})
55
47
HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/H5TEST/${ref_file}" "HDF5_TEST_LIB_files")
56
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
57
-
HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/H5TEST-shared/${ref_file}" "HDF5_TEST_LIBSH_files")
58
-
endif ()
59
48
endforeach ()
60
49
61
50
# --------------------------------------------------------------------
62
51
#-- Copy all the HDF5 files from the test directory into the source directory
63
52
# --------------------------------------------------------------------
64
53
set (HDF5_REFERENCE_TEST_FILES
65
54
bad_compound.h5
66
55
bad_offset.h5
67
56
be_data.h5
68
57
be_extlink1.h5
98
87
test_filters_le.h5
99
88
th5s.h5
100
89
tlayouto.h5
101
90
tmtimen.h5
102
91
tmtimeo.h5
103
92
tsizeslheap.h5
104
93
)
105
94
106
95
foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
107
96
HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/H5TEST/${h5_file}" "HDF5_TEST_LIB_files")
108
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
109
-
HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/H5TEST-shared/${h5_file}" "HDF5_TEST_LIBSH_files")
110
-
endif ()
111
97
endforeach ()
112
98
113
99
add_custom_target(HDF5_TEST_LIB_files ALL COMMENT "Copying files needed by HDF5_TEST_LIB tests" DEPENDS ${HDF5_TEST_LIB_files_list})
114
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
115
-
add_custom_target(HDF5_TEST_LIBSH_files ALL COMMENT "Copying files needed by HDF5_TEST_LIBSH tests" DEPENDS ${HDF5_TEST_LIBSH_files_list})
116
-
endif ()
100
+
101
+
set (testhdf5_CLEANFILES
102
+
coord.h5
103
+
dtypes10.h5
104
+
sys_file1
105
+
tattr.h5
106
+
tfile1.h5
107
+
tfile2.h5
108
+
tfile3.h5
109
+
tfile4.h5
110
+
tfile5.h5
111
+
tfile6.h5
112
+
tfile7.h5
113
+
tfilespace.h5
114
+
th5o_file
115
+
th5s1.h5
116
+
tselect.h5
117
+
tsohm.h5
118
+
tsohm_dst.h5
119
+
tsohm_src.h5
120
+
)
117
121
118
122
# Remove any output file left over from previous test run
119
-
add_test (NAME H5TEST-clear-testhdf5-objects
120
-
COMMAND ${CMAKE_COMMAND}
121
-
-E remove
122
-
coord.h5
123
-
dtypes10.h5
124
-
sys_file1
125
-
tattr.h5
126
-
tfile1.h5
127
-
tfile2.h5
128
-
tfile3.h5
129
-
tfile4.h5
130
-
tfile5.h5
131
-
tfile6.h5
132
-
tfile7.h5
133
-
th5o_file
134
-
th5s1.h5
135
-
tselect.h5
136
-
tsohm.h5
137
-
tsohm_dst.h5
138
-
tsohm_src.h5
139
-
WORKING_DIRECTORY
140
-
${HDF5_TEST_BINARY_DIR}/H5TEST
123
+
add_test (
124
+
NAME H5TEST-testhdf5-clear-objects
125
+
COMMAND ${CMAKE_COMMAND} -E remove ${testhdf5_CLEANFILES}
126
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
141
127
)
142
-
set_tests_properties (H5TEST-clear-testhdf5-objects PROPERTIES FIXTURES_SETUP clear_testhdf5)
128
+
set_tests_properties (H5TEST-testhdf5-clear-objects PROPERTIES FIXTURES_SETUP clear_testhdf5)
143
129
144
-
if (HDF5_ENABLE_USING_MEMCHECKER)
145
-
add_test (NAME H5TEST-testhdf5-base COMMAND $<TARGET_FILE:testhdf5> -x heap -x file -x select)
146
-
set_tests_properties (H5TEST-testhdf5-base PROPERTIES
147
-
FIXTURES_REQUIRED clear_testhdf5
148
-
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
149
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
150
-
)
151
-
add_test (NAME H5TEST-testhdf5-heap COMMAND $<TARGET_FILE:testhdf5> -o heap)
152
-
set_tests_properties (H5TEST-testhdf5-heap PROPERTIES
153
-
FIXTURES_REQUIRED clear_testhdf5
154
-
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
155
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
156
-
)
157
-
add_test (NAME H5TEST-testhdf5-file COMMAND $<TARGET_FILE:testhdf5> -o file)
158
-
set_tests_properties (H5TEST-testhdf5-file PROPERTIES
159
-
FIXTURES_REQUIRED clear_testhdf5
160
-
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
161
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
162
-
)
163
-
add_test (NAME H5TEST-testhdf5-select COMMAND $<TARGET_FILE:testhdf5> -o select)
164
-
set_tests_properties (H5TEST-testhdf5-select PROPERTIES
165
-
FIXTURES_REQUIRED clear_testhdf5
166
-
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
167
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
168
-
)
169
-
else ()
170
-
add_test (NAME H5TEST-testhdf5 COMMAND "${CMAKE_COMMAND}"
171
-
-D "TEST_PROGRAM=$<TARGET_FILE:testhdf5>"
172
-
-D "TEST_ARGS:STRING="
173
-
-D "TEST_EXPECT=0"
174
-
-D "TEST_SKIP_COMPARE=TRUE"
175
-
-D "TEST_OUTPUT=testhdf5.txt"
176
-
#-D "TEST_REFERENCE=testhdf5.out"
177
-
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST"
178
-
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
179
-
)
180
-
set_tests_properties (H5TEST-testhdf5 PROPERTIES
181
-
FIXTURES_REQUIRED clear_testhdf5
182
-
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
183
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
184
-
)
185
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
186
-
add_test (NAME H5TEST-shared-clear-testhdf5-objects
187
-
COMMAND ${CMAKE_COMMAND}
188
-
-E remove
189
-
coord.h5
190
-
dtypes10.h5
191
-
sys_file1
192
-
tattr.h5
193
-
tfile1.h5
194
-
tfile2.h5
195
-
tfile3.h5
196
-
tfile4.h5
197
-
tfile5.h5
198
-
tfile6.h5
199
-
tfile7.h5
200
-
th5o_file
201
-
th5s1.h5
202
-
tselect.h5
203
-
tsohm.h5
204
-
tsohm_dst.h5
205
-
tsohm_src.h5
206
-
WORKING_DIRECTORY
207
-
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
208
-
)
209
-
set_tests_properties (H5TEST-shared-clear-testhdf5-objects PROPERTIES FIXTURES_SETUP shared_clear_testhdf5)
210
-
add_test (NAME H5TEST-shared-testhdf5 COMMAND "${CMAKE_COMMAND}"
211
-
-D "TEST_PROGRAM=$<TARGET_FILE:testhdf5-shared>"
212
-
-D "TEST_ARGS:STRING="
213
-
-D "TEST_EXPECT=0"
214
-
-D "TEST_SKIP_COMPARE=TRUE"
215
-
-D "TEST_OUTPUT=testhdf5.txt"
216
-
#-D "TEST_REFERENCE=testhdf5.out"
217
-
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
218
-
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
219
-
)
220
-
set_tests_properties (H5TEST-shared-testhdf5 PROPERTIES
221
-
FIXTURES_REQUIRED shared_clear_testhdf5
222
-
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
223
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
224
-
)
225
-
endif ()
226
-
endif ()
130
+
add_test (NAME H5TEST-testhdf5-base COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:testhdf5> -x heap -x file -x select)
131
+
set_tests_properties (H5TEST-testhdf5-base PROPERTIES
132
+
FIXTURES_REQUIRED clear_testhdf5
133
+
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
134
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
135
+
)
136
+
add_test (NAME H5TEST-testhdf5-heap COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:testhdf5> -o heap)
137
+
set_tests_properties (H5TEST-testhdf5-heap PROPERTIES
138
+
FIXTURES_REQUIRED clear_testhdf5
139
+
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
140
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
141
+
)
142
+
add_test (NAME H5TEST-testhdf5-file COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:testhdf5> -o file)
143
+
set_tests_properties (H5TEST-testhdf5-file PROPERTIES
144
+
FIXTURES_REQUIRED clear_testhdf5
145
+
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
146
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
147
+
)
148
+
add_test (NAME H5TEST-testhdf5-select COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:testhdf5> -o select)
149
+
set_tests_properties (H5TEST-testhdf5-select PROPERTIES
150
+
FIXTURES_REQUIRED clear_testhdf5
151
+
ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
152
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
153
+
)
227
154
228
155
##############################################################################
229
156
##############################################################################
230
157
### T H E T E S T S M A C R O S ###
231
158
##############################################################################
232
159
##############################################################################
233
160
234
161
set (test_CLEANFILES
235
162
cache_api_test.h5
236
163
dt_arith1.h5
292
219
tstint2.h5
293
220
ttsafe_error.h5
294
221
ttsafe_dcreate.h5
295
222
ttsafe_cancel.h5
296
223
ttsafe_acreate.h5
297
224
unregister_filter_1.h5
298
225
unregister_filter_2.h5
299
226
)
300
227
301
228
# Remove any output file left over from previous test run
302
-
add_test (NAME H5TEST-clear-objects
303
-
COMMAND ${CMAKE_COMMAND}
304
-
-E remove
305
-
${test_CLEANFILES}
306
-
WORKING_DIRECTORY
307
-
${HDF5_TEST_BINARY_DIR}/H5TEST
229
+
add_test (
230
+
NAME H5TEST-clear-objects
231
+
COMMAND ${CMAKE_COMMAND} -E remove ${test_CLEANFILES}
232
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
308
233
)
309
-
set_tests_properties (H5TEST-clear-objects PROPERTIES FIXTURES_SETUP clear_objects)
234
+
set_tests_properties (H5TEST-clear-objects PROPERTIES FIXTURES_SETUP clear_H5TEST)
310
235
311
236
set (H5TEST_SEPARATE_TESTS
312
237
testhdf5
313
238
cache
314
239
flush1
315
240
flush2
316
241
)
317
242
foreach (h5_test ${H5_TESTS})
318
243
if (NOT h5_test IN_LIST H5TEST_SEPARATE_TESTS)
319
244
if (HDF5_ENABLE_USING_MEMCHECKER)
320
-
add_test (NAME H5TEST-${h5_test} COMMAND $<TARGET_FILE:${h5_test}>)
245
+
add_test (NAME H5TEST-${h5_test} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:${h5_test}>)
321
246
set_tests_properties (H5TEST-${h5_test} PROPERTIES
322
247
FIXTURES_REQUIRED clear_objects
323
248
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
324
249
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
325
250
)
326
251
else ()
327
252
if ("${h5_test}" STREQUAL "big" AND CYGWIN)
328
253
add_test (NAME H5TEST-${h5_test}
329
254
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${test}"
330
255
)
331
256
else ()
332
257
add_test (NAME H5TEST-${h5_test} COMMAND "${CMAKE_COMMAND}"
258
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
333
259
-D "TEST_PROGRAM=$<TARGET_FILE:${h5_test}>"
334
260
-D "TEST_ARGS:STRING="
335
261
-D "TEST_EXPECT=0"
336
262
-D "TEST_SKIP_COMPARE=TRUE"
337
263
-D "TEST_OUTPUT=${h5_test}.txt"
264
+
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}"
338
265
#-D "TEST_REFERENCE=${test}.out"
339
266
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST"
340
267
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
341
268
)
342
269
endif ()
343
270
set_tests_properties (H5TEST-${h5_test} PROPERTIES
344
-
FIXTURES_REQUIRED clear_objects
271
+
FIXTURES_REQUIRED clear_H5TEST
345
272
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
346
273
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
347
274
)
348
275
endif ()
349
276
endif ()
350
277
endforeach ()
351
278
352
279
set_tests_properties (H5TEST-fheap PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
353
-
set_tests_properties (H5TEST-testmeta PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
354
280
set_tests_properties (H5TEST-big PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
281
+
set_tests_properties (H5TEST-btree2 PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
355
282
set_tests_properties (H5TEST-objcopy PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
356
283
357
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
358
-
# Remove any output file left over from previous test run
359
-
add_test (NAME H5TEST-shared-clear-objects
360
-
COMMAND ${CMAKE_COMMAND}
361
-
-E remove
362
-
${test_CLEANFILES}
363
-
WORKING_DIRECTORY
364
-
${HDF5_TEST_BINARY_DIR}/H5TEST-shared
365
-
)
366
-
set_tests_properties (H5TEST-shared-clear-objects PROPERTIES FIXTURES_SETUP shared_clear_objects)
367
-
368
-
foreach (h5_test ${H5_TESTS})
369
-
if (NOT h5_test IN_LIST H5TEST_SEPARATE_TESTS)
370
-
if ("${h5_test}" STREQUAL "big" AND CYGWIN)
371
-
add_test (NAME H5TEST-shared-${h5_test}
372
-
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${test}-shared"
373
-
)
374
-
else ()
375
-
add_test (NAME H5TEST-shared-${h5_test} COMMAND "${CMAKE_COMMAND}"
376
-
-D "TEST_PROGRAM=$<TARGET_FILE:${h5_test}-shared>"
377
-
-D "TEST_ARGS:STRING="
378
-
-D "TEST_EXPECT=0"
379
-
-D "TEST_SKIP_COMPARE=TRUE"
380
-
-D "TEST_OUTPUT=${h5_test}.txt"
381
-
#-D "TEST_REFERENCE=${test}.out"
382
-
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
383
-
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
384
-
)
385
-
endif ()
386
-
set_tests_properties (H5TEST-shared-${h5_test} PROPERTIES
387
-
FIXTURES_REQUIRED shared_clear_objects
388
-
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
389
-
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
390
-
)
391
-
endif ()
392
-
endforeach ()
393
-
394
-
set_tests_properties (H5TEST-shared-fheap PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
395
-
set_tests_properties (H5TEST-shared-testmeta PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
396
-
set_tests_properties (H5TEST-shared-big PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
397
-
set_tests_properties (H5TEST-shared-objcopy PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
398
-
endif ()
399
-
400
-
##############################################################################
401
-
##############################################################################
402
-
### A D D I T I O N A L T E S T S ###
403
-
##############################################################################
404
-
##############################################################################
405
-
406
284
#-- Adding test for cache
407
285
if (NOT CYGWIN)
408
-
add_test (NAME H5TEST-clear-cache-objects
409
-
COMMAND ${CMAKE_COMMAND}
410
-
-E remove
411
-
cache_test.h5
412
-
WORKING_DIRECTORY
413
-
${HDF5_TEST_BINARY_DIR}/H5TEST
286
+
add_test (
287
+
NAME H5TEST-cache-clear-objects
288
+
COMMAND ${CMAKE_COMMAND} -E remove cache_test.h5
289
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
414
290
)
415
-
set_tests_properties (H5TEST-clear-cache-objects PROPERTIES FIXTURES_SETUP cache_clear_objects)
291
+
set_tests_properties (H5TEST-cache-clear-objects PROPERTIES FIXTURES_SETUP clear_cache)
416
292
if (HDF5_ENABLE_USING_MEMCHECKER)
417
-
add_test (NAME H5TEST-cache COMMAND $<TARGET_FILE:cache>)
293
+
add_test (NAME H5TEST-cache COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:cache>)
418
294
else ()
419
295
add_test (NAME H5TEST-cache COMMAND "${CMAKE_COMMAND}"
296
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
420
297
-D "TEST_PROGRAM=$<TARGET_FILE:cache>"
421
298
-D "TEST_ARGS:STRING="
422
299
-D "TEST_EXPECT=0"
423
300
-D "TEST_SKIP_COMPARE=TRUE"
424
301
-D "TEST_OUTPUT=cache.txt"
425
302
#-D "TEST_REFERENCE=cache.out"
426
303
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST"
427
304
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
428
305
)
429
306
endif ()
430
307
set_tests_properties (H5TEST-cache PROPERTIES
431
-
FIXTURES_REQUIRED cache_clear_objects
308
+
FIXTURES_REQUIRED clear_cache
432
309
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
433
310
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
434
311
)
435
312
set_tests_properties (H5TEST-cache PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
436
313
endif ()
437
314
438
315
#-- Adding test for flush1/2
439
-
add_test (NAME H5TEST-clear-flush-objects
440
-
COMMAND ${CMAKE_COMMAND}
441
-
-E remove
316
+
add_test (NAME H5TEST-flush-clear-objects
317
+
COMMAND ${CMAKE_COMMAND} -E remove
442
318
flush.h5
443
319
flush-swmr.h5
444
320
noflush.h5
445
321
noflush-swmr.h5
446
322
flush_extend.h5
447
323
flush_extend-swmr.h5
448
324
noflush_extend.h5
449
325
noflush_extend-swmr.h5
450
326
WORKING_DIRECTORY
451
327
${HDF5_TEST_BINARY_DIR}/H5TEST
452
328
)
329
+
set_tests_properties (H5TEST-flush-clear-objects PROPERTIES FIXTURES_SETUP clear_flush)
453
330
if (HDF5_ENABLE_USING_MEMCHECKER)
454
-
add_test (NAME H5TEST-flush1 COMMAND $<TARGET_FILE:flush1>)
331
+
add_test (NAME H5TEST-flush1 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:flush1>)
455
332
else ()
456
333
add_test (NAME H5TEST-flush1 COMMAND "${CMAKE_COMMAND}"
334
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
457
335
-D "TEST_PROGRAM=$<TARGET_FILE:flush1>"
458
336
-D "TEST_ARGS:STRING="
459
337
-D "TEST_EXPECT=0"
460
338
-D "TEST_SKIP_COMPARE=TRUE"
461
339
-D "TEST_OUTPUT=flush1.txt"
462
340
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST"
463
341
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
464
342
)
465
343
endif ()
466
344
set_tests_properties (H5TEST-flush1 PROPERTIES
467
-
DEPENDS H5TEST-clear-flush-objects
345
+
FIXTURES_REQUIRED clear_flush
468
346
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
469
347
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
470
348
)
471
349
if (HDF5_ENABLE_USING_MEMCHECKER)
472
-
add_test (NAME H5TEST-flush2 COMMAND $<TARGET_FILE:flush2>)
350
+
add_test (NAME H5TEST-flush2 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:flush2>)
473
351
else ()
474
352
add_test (NAME H5TEST-flush2 COMMAND "${CMAKE_COMMAND}"
353
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
475
354
-D "TEST_PROGRAM=$<TARGET_FILE:flush2>"
476
355
-D "TEST_ARGS:STRING="
477
356
-D "TEST_EXPECT=0"
478
357
-D "TEST_SKIP_COMPARE=TRUE"
479
358
-D "TEST_OUTPUT=flush2.txt"
480
359
-D "TEST_FOLDER=${HDF5_TEST_BINARY_DIR}/H5TEST"
481
360
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
482
361
)
483
362
endif ()
484
-
set_tests_properties (H5TEST-flush2 PROPERTIES DEPENDS H5TEST-flush1)
363
+
set_tests_properties (H5TEST-flush2 PROPERTIES
364
+
FIXTURES_REQUIRED clear_flush
365
+
DEPENDS H5TEST-flush1
366
+
)
367
+
368
+
#-- Adding test for tcheck_version
369
+
add_test (NAME H5TEST-tcheck_version-major COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:tcheck_version> "-tM")
370
+
set_tests_properties (H5TEST-tcheck_version-major PROPERTIES
371
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
372
+
WILL_FAIL "true"
373
+
)
374
+
add_test (NAME H5TEST-tcheck_version-minor COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:tcheck_version> "-tm")
375
+
set_tests_properties (H5TEST-tcheck_version-minor PROPERTIES
376
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
377
+
WILL_FAIL "true"
378
+
)
379
+
add_test (NAME H5TEST-tcheck_version-release COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:tcheck_version> "-tr")
380
+
set_tests_properties (H5TEST-tcheck_version-release PROPERTIES
381
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
382
+
WILL_FAIL "true"
383
+
)
384
+
385
+
##############################################################################
386
+
##############################################################################
387
+
### A D D I T I O N A L T E S T S ###
388
+
##############################################################################
389
+
##############################################################################
390
+
# H5_CHECK_TESTS
391
+
#---------------
392
+
# error_test
393
+
# err_compat
394
+
# testmeta
395
+
# links_env
396
+
##############################################################################
397
+
# autotools script tests
398
+
# error_test and err_compat are built at the same time as the other tests, but executed by testerror.sh.
399
+
# links_env is used by testlinks_env.sh
400
+
# NOT CONVERTED 'make check' doesn't run them directly, so they are not included in TEST_PROG.
401
+
# NOT CONVERTED Also build testmeta, which is used for timings test. It builds quickly,
402
+
# NOT CONVERTED and this lets automake keep all its test programs in one place.
403
+
##############################################################################
485
404
486
405
#-- Adding test for err_compat
487
-
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
488
-
add_test (NAME H5TEST-clear-err_compat-objects
489
-
COMMAND ${CMAKE_COMMAND}
490
-
-E remove
491
-
err_compat.txt
492
-
err_compat.txt.err
493
-
WORKING_DIRECTORY
494
-
${HDF5_TEST_BINARY_DIR}/H5TEST
495
-
)
496
-
set_tests_properties (H5TEST-clear-err_compat-objects PROPERTIES FIXTURES_SETUP err_compat_clear_objects)
406
+
if (HDF5_ENABLE_DEPRECATED_SYMBOLS AND NOT MINGW)
497
407
add_test (NAME H5TEST-err_compat COMMAND "${CMAKE_COMMAND}"
408
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
498
409
-D "TEST_PROGRAM=$<TARGET_FILE:err_compat>"
499
410
-D "TEST_ARGS:STRING="
500
411
-D "TEST_EXPECT=0"
501
412
-D "TEST_MASK_ERROR=true"
502
413
-D "ERROR_APPEND=1"
503
414
-D "TEST_OUTPUT=err_compat.txt"
504
415
-D "TEST_REFERENCE=err_compat_1"
505
416
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
506
417
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
507
418
)
508
419
set_tests_properties (H5TEST-err_compat PROPERTIES
509
-
FIXTURES_REQUIRED err_compat_clear_objects
510
420
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
511
421
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
512
422
)
513
423
endif ()
514
424
515
425
#-- Adding test for error_test
516
-
add_test (NAME H5TEST-clear-error_test-objects
517
-
COMMAND ${CMAKE_COMMAND}
518
-
-E remove
519
-
error_test.txt
520
-
error_test.txt.err
521
-
WORKING_DIRECTORY
522
-
${HDF5_TEST_BINARY_DIR}/H5TEST
523
-
)
524
-
set_tests_properties (H5TEST-clear-error_test-objects PROPERTIES FIXTURES_SETUP error_test_clear_objects)
525
-
if (HDF5_USE_16_API_DEFAULT)
426
+
if (HDF5_USE_16_API_DEFAULT OR MINGW)
526
427
add_test (
527
428
NAME H5TEST-error_test
528
429
COMMAND ${CMAKE_COMMAND} -E echo "SKIP $<TARGET_FILE:error_test>"
529
430
)
530
431
set_property(TEST H5TEST-error_test PROPERTY DISABLED)
531
432
else ()
532
433
add_test (NAME H5TEST-error_test COMMAND "${CMAKE_COMMAND}"
434
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
533
435
-D "TEST_PROGRAM=$<TARGET_FILE:error_test>"
534
436
-D "TEST_ARGS:STRING="
535
437
-D "TEST_EXPECT=0"
536
438
-D "TEST_MASK_ERROR=true"
537
439
-D "ERROR_APPEND=1"
538
440
-D "TEST_OUTPUT=error_test.txt"
539
441
-D "TEST_REFERENCE=error_test_1"
540
442
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
541
443
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
542
444
)
543
445
set_tests_properties (H5TEST-error_test PROPERTIES
544
-
FIXTURES_REQUIRED error_test_clear_objects
545
446
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5_PLUGIN_PRELOAD=::"
546
447
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
547
448
)
548
449
endif ()
549
450
550
451
#-- Adding test for links_env
551
-
add_test (NAME H5TEST-clear-links_env-objects
552
-
COMMAND ${CMAKE_COMMAND}
553
-
-E remove
554
-
links_env.txt
555
-
links_env.txt.err
452
+
add_test (NAME H5TEST-links_env-clear-objects
453
+
COMMAND ${CMAKE_COMMAND} -E remove
556
454
extlinks_env0.h5
557
455
extlinks_env1.h5
558
456
tmp/extlinks_env1.h5
559
457
WORKING_DIRECTORY
560
458
${HDF5_TEST_BINARY_DIR}/H5TEST
561
459
)
562
-
set_tests_properties (H5TEST-clear-links_env-objects PROPERTIES FIXTURES_SETUP links_env_clear_objects)
563
-
add_test (NAME H5TEST-links_env COMMAND "${CMAKE_COMMAND}"
564
-
-D "TEST_PROGRAM=$<TARGET_FILE:links_env>"
565
-
-D "TEST_ARGS:STRING="
566
-
-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
567
-
-D "TEST_ENV_VALUE:STRING=.:tmp"
568
-
-D "TEST_EXPECT=0"
569
-
-D "TEST_OUTPUT=links_env.txt"
570
-
-D "TEST_REFERENCE=links_env.out"
571
-
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
572
-
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
573
-
)
460
+
set_tests_properties (H5TEST-links_env-clear-objects PROPERTIES FIXTURES_SETUP clear_links_env)
461
+
if (HDF5_ENABLE_USING_MEMCHECKER)
462
+
add_test (NAME H5TEST-links_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:links_env>)
463
+
else ()
464
+
add_test (NAME H5TEST-links_env COMMAND "${CMAKE_COMMAND}"
465
+
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
466
+
-D "TEST_PROGRAM=$<TARGET_FILE:links_env>"
467
+
-D "TEST_ARGS:STRING="
468
+
#-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
469
+
#-D "TEST_ENV_VALUE:STRING=.:tmp"
470
+
-D "TEST_EXPECT=0"
471
+
-D "TEST_OUTPUT=links_env.txt"
472
+
-D "TEST_REFERENCE=links_env.out"
473
+
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
474
+
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
475
+
)
476
+
endif ()
574
477
set_tests_properties (H5TEST-links_env PROPERTIES
575
-
FIXTURES_REQUIRED links_env_clear_objects
576
-
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
478
+
FIXTURES_REQUIRED clear_links_env
479
+
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5_EXT_PREFIX=.:tmp"
577
480
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
578
481
)
579
482
580
-
#-- Adding test for libinfo
581
-
add_test (NAME H5TEST-testlibinfo
582
-
COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIB_TARGET}>" -P "${GREP_RUNNER}"
583
-
WORKING_DIRECTORY
584
-
${HDF5_TEST_BINARY_DIR}/H5TEST
585
-
)
483
+
if (NOT BUILD_SHARED_LIBS)
484
+
#-- Adding test for libinfo
485
+
add_test (NAME H5TEST-testlibinfo
486
+
COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIB_TARGET}>" -P "${GREP_RUNNER}"
487
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
488
+
)
489
+
else ()
490
+
#-- Adding test for libinfo
491
+
add_test (NAME H5TEST-testlibinfo
492
+
COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIBSH_TARGET}>" -P "${GREP_RUNNER}"
493
+
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
494
+
)
495
+
endif ()
586
496
587
497
##############################################################################
588
498
### F I L T E R P L U G I N T E S T S
589
499
##############################################################################
590
-
if (BUILD_SHARED_LIBS AND TEST_SHARED_PROGRAMS)
591
-
if (WIN32)
500
+
if (BUILD_SHARED_LIBS)
501
+
if (WIN32 OR MINGW)
592
502
set (CMAKE_SEP "\;")
593
503
set (BIN_REL_PATH "../../")
594
504
else ()
595
505
set (CMAKE_SEP ":")
596
506
set (BIN_REL_PATH "../")
597
507
endif ()
598
508
599
-
add_test (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:filter_plugin>)
509
+
add_test (NAME H5PLUGIN-plugin COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:filter_plugin>)
600
510
set_tests_properties (H5PLUGIN-plugin PROPERTIES
601
511
ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2;srcdir=${HDF5_TEST_BINARY_DIR}"
602
512
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}
603
513
)
604
514
endif ()
605
515
606
516
##############################################################################
607
517
##############################################################################
608
518
### V F D T E S T S ###
609
519
##############################################################################
612
522
if (HDF5_TEST_VFD)
613
523
include (CMakeVFDTests.cmake)
614
524
endif ()
615
525
616
526
##############################################################################
617
527
##############################################################################
618
528
### T H E G E N E R A T O R S ###
619
529
##############################################################################
620
530
##############################################################################
621
531
622
-
if (HDF5_BUILD_GENERATORS)
532
+
if (HDF5_BUILD_GENERATORS AND NOT ONLY_SHARED_LIBS)
623
533
macro (ADD_H5_GENERATOR genfile)
624
534
add_executable (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
625
-
target_include_directories(${genfile} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
535
+
target_include_directories (${genfile} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
626
536
TARGET_C_PROPERTIES (${genfile} STATIC)
627
537
target_link_libraries (${genfile} PRIVATE ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
628
538
set_target_properties (${genfile} PROPERTIES FOLDER generator/test)
629
539
endmacro ()
630
540
631
541
# generator executables
632
542
set (H5_GENERATORS
633
543
gen_bad_offset
634
544
gen_bad_ohdr
635
545
gen_bogus