summaryrefslogtreecommitdiffstats
path: root/test/CMakeLists.txt
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2018-02-27 18:57:07 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2018-02-27 18:57:07 (GMT)
commitb36bad53d9d5930ef1339d0db1bd7152c0e9b75d (patch)
tree29eb140ab1aab59710510c8187b5139a9c83dc0e /test/CMakeLists.txt
parenta4f0666ecdd0f48081e43eef2e792d791044e549 (diff)
downloadhdf5-b36bad53d9d5930ef1339d0db1bd7152c0e9b75d.zip
hdf5-b36bad53d9d5930ef1339d0db1bd7152c0e9b75d.tar.gz
hdf5-b36bad53d9d5930ef1339d0db1bd7152c0e9b75d.tar.bz2
Inc CMake min, Add new tests, rework test CMake files
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r--test/CMakeLists.txt225
1 files changed, 112 insertions, 113 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 5e0c990..cdab4f5 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.2.2)
+cmake_minimum_required (VERSION 3.3.2)
PROJECT (HDF5_TEST)
#-----------------------------------------------------------------------------
@@ -13,9 +13,9 @@ set (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
configure_file (${HDF5_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
-#-----------------------------------------------------------------------------
+#################################################################################
# Define Test Library Sources
-#-----------------------------------------------------------------------------
+#################################################################################
set (TEST_LIB_SOURCES
${HDF5_TEST_SOURCE_DIR}/h5test.c
${HDF5_TEST_SOURCE_DIR}/testframe.c
@@ -71,9 +71,9 @@ if (BUILD_SHARED_LIBS)
endif ()
endif ()
-#-----------------------------------------------------------------------------
+#################################################################################
# If filter plugin tests can be tested
-#-----------------------------------------------------------------------------
+#################################################################################
# make plugins dir
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/filter_plugin_dir1")
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/filter_plugin_dir2")
@@ -116,7 +116,7 @@ endif ()
)
endforeach ()
- foreach ( plugin_name ${FILTER_PLUGINS_FOR_DIR2})
+ foreach (plugin_name ${FILTER_PLUGINS_FOR_DIR2})
set (HDF5_TEST_PLUGIN_CORENAME "${plugin_name}")
set (HDF5_TEST_PLUGIN_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TEST_PLUGIN_CORENAME}")
set (HDF5_TEST_PLUGIN_TARGET ${HDF5_TEST_PLUGIN_CORENAME})
@@ -142,6 +142,10 @@ endif ()
)
endforeach ()
+#################################################################################
+# Test program sources
+#################################################################################
+
set (testhdf5_SOURCES
${HDF5_TEST_SOURCE_DIR}/testhdf5.c
${HDF5_TEST_SOURCE_DIR}/tarray.c
@@ -170,34 +174,24 @@ set (testhdf5_SOURCES
${HDF5_TEST_SOURCE_DIR}/tvlstr.c
)
-#-- Adding test for testhdf5
-add_executable (testhdf5 ${testhdf5_SOURCES})
-TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
-target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET})
-set_target_properties (testhdf5 PROPERTIES FOLDER test)
-if (BUILD_SHARED_LIBS)
- add_executable (testhdf5-shared ${testhdf5_SOURCES})
- TARGET_C_PROPERTIES (testhdf5-shared SHARED " " " ")
- target_link_libraries (testhdf5-shared PUBLIC ${HDF5_TEST_LIBSH_TARGET})
- set_target_properties (testhdf5-shared PROPERTIES FOLDER test)
-endif ()
+set (cache_image_SOURCES
+ ${HDF5_TEST_SOURCE_DIR}/cache_image.c
+ ${HDF5_TEST_SOURCE_DIR}/genall5.c
+)
-MACRO (ADD_H5_EXE file)
- add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
- TARGET_C_PROPERTIES (${file} STATIC " " " ")
- target_link_libraries (${file} PUBLIC ${HDF5_TEST_LIB_TARGET})
- set_target_properties (${file} PROPERTIES FOLDER test)
- if (BUILD_SHARED_LIBS)
- add_executable (${file}-shared ${HDF5_TEST_SOURCE_DIR}/${file}.c)
- TARGET_C_PROPERTIES (${file}-shared SHARED " " " ")
- target_link_libraries (${file}-shared PUBLIC ${HDF5_TEST_LIBSH_TARGET})
- set_target_properties (${file}-shared PROPERTIES FOLDER test)
- endif ()
-ENDMACRO ()
+set (ttsafe_SOURCES
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
+)
set (H5_TESTS
+ testhdf5 # multiple source
cache
cache_api
+ cache_image # multiple source
cache_tagging
lheap
ohdr
@@ -210,9 +204,11 @@ set (H5_TESTS
fheap
pool
accum
+ hyperslab
istore
bittests
dt_arith
+ page_buffer
dtypes
dsets
cmpd_dset
@@ -233,6 +229,7 @@ set (H5_TESTS
app_ref
enum
set_extent
+ ttsafe # multiple source
enc_dec_plist
enc_dec_plist_cross_platform
getname
@@ -244,7 +241,6 @@ set (H5_TESTS
cross_read
freespace
mf
- page_buffer
vds
file_image
unregister
@@ -253,98 +249,66 @@ set (H5_TESTS
swmr
)
-foreach (test ${H5_TESTS})
- ADD_H5_EXE(${test})
-endforeach ()
-
-set (H5_SWMR_TESTS
- swmr_addrem_writer
- swmr_check_compat_vfd
- swmr_generator
- swmr_reader
- swmr_remove_reader
- swmr_remove_writer
- swmr_sparse_reader
- swmr_sparse_writer
- swmr_start_write
- swmr_writer
-)
-
-foreach (test ${H5_SWMR_TESTS})
- ADD_H5_EXE(${test})
-endforeach ()
+macro (ADD_H5_EXE file)
+ add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
+ TARGET_C_PROPERTIES (${file} STATIC " " " ")
+ target_link_libraries (${file} PUBLIC ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (${file} PROPERTIES FOLDER test)
+ if (BUILD_SHARED_LIBS)
+ add_executable (${file}-shared ${HDF5_TEST_SOURCE_DIR}/${file}.c)
+ TARGET_C_PROPERTIES (${file}-shared SHARED " " " ")
+ target_link_libraries (${file}-shared PUBLIC ${HDF5_TEST_LIBSH_TARGET})
+ set_target_properties (${file}-shared PROPERTIES FOLDER test)
+ endif ()
+endmacro ()
-set (H5_VDS_SWMR_TESTS
- vds_swmr_gen
- vds_swmr_reader
- vds_swmr_writer
+set (H5_TESTS_MULTIPLE
+ testhdf5
+ cache_image
+ ttsafe
)
-
-foreach (test ${H5_VDS_SWMR_TESTS})
- ADD_H5_EXE(${test})
+# Only build single source tests here
+foreach (test ${H5_TESTS})
+ if (NOT "${test}" IN_LIST ${H5_TESTS_MULTIPLE})
+ ADD_H5_EXE(${test})
+ endif ()
endforeach ()
##############################################################################
+### M U L T I P L E S O U R C E T E S T S ###
##############################################################################
-### A D D I T I O N A L T E S T S ###
-##############################################################################
-##############################################################################
+
+#-- Adding test for testhdf5
+add_executable (testhdf5 ${testhdf5_SOURCES})
+TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
+target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET})
+set_target_properties (testhdf5 PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (testhdf5-shared ${testhdf5_SOURCES})
+ TARGET_C_PROPERTIES (testhdf5-shared SHARED " " " ")
+ target_link_libraries (testhdf5-shared PUBLIC ${HDF5_TEST_LIBSH_TARGET})
+ set_target_properties (testhdf5-shared PROPERTIES FOLDER test)
+endif ()
#-- Adding test for cache_image
-add_executable (cache_image
- ${HDF5_TEST_SOURCE_DIR}/cache_image.c
- ${HDF5_TEST_SOURCE_DIR}/genall5.c
-)
+add_executable (cache_image ${cache_image_SOURCES})
TARGET_C_PROPERTIES (cache_image STATIC " " " ")
target_link_libraries (cache_image ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_image PROPERTIES FOLDER test)
if (BUILD_SHARED_LIBS)
- add_executable (cache_image-shared
- ${HDF5_TEST_SOURCE_DIR}/cache_image.c
- ${HDF5_TEST_SOURCE_DIR}/genall5.c
- )
+ add_executable (cache_image-shared ${cache_image_SOURCES})
TARGET_C_PROPERTIES (cache_image-shared SHARED " " " ")
target_link_libraries (cache_image-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
set_target_properties (cache_image-shared PROPERTIES FOLDER test)
endif ()
-#-- Adding test for hyperslab
-add_executable (hyperslab ${HDF5_TEST_SOURCE_DIR}/hyperslab.c)
-TARGET_C_PROPERTIES (hyperslab STATIC " " " ")
-target_link_libraries (hyperslab ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
-set_target_properties (hyperslab PROPERTIES FOLDER test)
-if (BUILD_SHARED_LIBS)
- add_executable (hyperslab-shared ${HDF5_TEST_SOURCE_DIR}/hyperslab.c)
- TARGET_C_PROPERTIES (hyperslab-shared SHARED " " " ")
- target_link_libraries (hyperslab-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
- set_target_properties (hyperslab-shared PROPERTIES FOLDER test)
- if (HDF5_ENABLE_THREADSAFE)
- set_property (TARGET hyperslab-shared
- APPEND PROPERTY COMPILE_DEFINITIONS
- "H5_HAVE_THREADSAFE"
- )
- endif ()
-endif ()
-
#-- Adding test for ttsafe
-add_executable (ttsafe
- ${HDF5_TEST_SOURCE_DIR}/ttsafe.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
-)
+add_executable (ttsafe ${ttsafe_SOURCES})
TARGET_C_PROPERTIES (ttsafe STATIC " " " ")
target_link_libraries (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (ttsafe PROPERTIES FOLDER test)
if (BUILD_SHARED_LIBS)
- add_executable (ttsafe-shared
- ${HDF5_TEST_SOURCE_DIR}/ttsafe.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
- ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
- )
+ add_executable (ttsafe-shared ${ttsafe_SOURCES})
TARGET_C_PROPERTIES (ttsafe-shared SHARED " " " ")
target_link_libraries (ttsafe-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
set_target_properties (ttsafe-shared PROPERTIES FOLDER test)
@@ -356,6 +320,10 @@ if (BUILD_SHARED_LIBS)
endif ()
endif ()
+##############################################################################
+### A D D I T I O N A L T E S T S ###
+##############################################################################
+
set (H5_CHECK_TESTS
error_test
err_compat
@@ -364,14 +332,57 @@ set (H5_CHECK_TESTS
atomic_writer
atomic_reader
links_env
- flushrefresh
filenotclosed
+ flushrefresh
)
foreach (test ${H5_CHECK_TESTS})
ADD_H5_EXE(${test})
endforeach ()
+#-- Adding test for libinfo
+set (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake)
+file (WRITE ${GREP_RUNNER}
+ "file (STRINGS \${TEST_PROGRAM} TEST_RESULT REGEX \"SUMMARY OF THE HDF5 CONFIGURATION\")
+if (\${TEST_RESULT} STREQUAL \"0\")
+ message (FATAL_ERROR \"Failed: The output: \${TEST_RESULT} of \${TEST_PROGRAM} did not contain SUMMARY OF THE HDF5 CONFIGURATION\")
+else ()
+ message (STATUS \"COMMAND Result: \${TEST_RESULT}\")
+endif ()
+"
+)
+
+##############################################################################
+### S W I M M E R T E S T S ###
+##############################################################################
+
+set (H5_SWMR_TESTS
+ swmr_addrem_writer
+ swmr_check_compat_vfd
+ swmr_generator
+ swmr_reader
+ swmr_remove_reader
+ swmr_remove_writer
+ swmr_sparse_reader
+ swmr_sparse_writer
+ swmr_start_write
+ swmr_writer
+)
+
+foreach (test ${H5_SWMR_TESTS})
+ ADD_H5_EXE(${test})
+endforeach ()
+
+set (H5_VDS_SWMR_TESTS
+ vds_swmr_gen
+ vds_swmr_reader
+ vds_swmr_writer
+)
+
+foreach (test ${H5_VDS_SWMR_TESTS})
+ ADD_H5_EXE(${test})
+endforeach ()
+
#-- Adding test for accum_swmr_reader
# This has to be copied to the test directory for execve() to find it
# and it can't be renamed (i.e., no <foo>-shared).
@@ -386,18 +397,6 @@ if (BUILD_SHARED_LIBS)
set_target_properties (accum-shared PROPERTIES DEPENDS accum_swmr_reader)
endif ()
-#-- Adding test for libinfo
-set (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake)
-file (WRITE ${GREP_RUNNER}
- "file (STRINGS \${TEST_PROGRAM} TEST_RESULT REGEX \"SUMMARY OF THE HDF5 CONFIGURATION\")
-if (\${TEST_RESULT} STREQUAL \"0\")
- message (FATAL_ERROR \"Failed: The output: \${TEST_RESULT} of \${TEST_PROGRAM} did not contain SUMMARY OF THE HDF5 CONFIGURATION\")
-else ()
- message (STATUS \"COMMAND Result: \${TEST_RESULT}\")
-endif ()
-"
-)
-
##############################################################################
### P L U G I N T E S T S
##############################################################################