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
Show more
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
Show more
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
 
##############################################################################
Show more
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