mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-19 16:50:46 +08:00
[svn-r24029] Move TESTS to seperate file to allow easier editing by all developers.
Tested: local linux
This commit is contained in:
parent
fcb21bb3dd
commit
c502d81a8c
122
CMakeFilters.cmake
Normal file
122
CMakeFilters.cmake
Normal file
@ -0,0 +1,122 @@
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Options for HDF5 Filters
|
||||
#-----------------------------------------------------------------------------
|
||||
MACRO (HDF5_SETUP_FILTERS FILTER)
|
||||
OPTION (HDF5_USE_FILTER_${FILTER} "Use the ${FILTER} Filter" ON)
|
||||
IF (HDF5_USE_FILTER_${FILTER})
|
||||
SET (H5_HAVE_FILTER_${FILTER} 1)
|
||||
SET (FILTERS "${FILTERS} ${FILTER}")
|
||||
ENDIF (HDF5_USE_FILTER_${FILTER})
|
||||
# MESSAGE (STATUS "Filter ${FILTER} is ${HDF5_USE_FILTER_${FILTER}}")
|
||||
ENDMACRO (HDF5_SETUP_FILTERS)
|
||||
|
||||
HDF5_SETUP_FILTERS (SHUFFLE)
|
||||
HDF5_SETUP_FILTERS (FLETCHER32)
|
||||
HDF5_SETUP_FILTERS (NBIT)
|
||||
HDF5_SETUP_FILTERS (SCALEOFFSET)
|
||||
|
||||
INCLUDE (ExternalProject)
|
||||
OPTION (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO SVN TGZ)" "NO")
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
OPTION (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1)
|
||||
OPTION (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
SET (ZLIB_URL ${ZLIB_SVN_URL})
|
||||
SET (SZIP_URL ${SZIP_SVN_URL})
|
||||
ELSEIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
IF (NOT TGZ_PATH)
|
||||
SET (TGZ_PATH ${HDF5_SOURCE_DIR})
|
||||
ENDIF (NOT TGZ_PATH)
|
||||
SET (ZLIB_URL ${TGZ_PATH}/${ZLIB_TGZ_NAME})
|
||||
SET (SZIP_URL ${TGZ_PATH}/${SZIP_TGZ_NAME})
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
SET (ZLIB_USE_EXTERNAL 0)
|
||||
SET (SZIP_USE_EXTERNAL 0)
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for ZLib support
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
|
||||
IF (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
IF (NOT H5_ZLIB_HEADER)
|
||||
IF (NOT ZLIB_USE_EXTERNAL)
|
||||
FIND_PACKAGE (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
IF (NOT ZLIB_FOUND)
|
||||
FIND_PACKAGE (ZLIB) # Legacy find
|
||||
ENDIF (NOT ZLIB_FOUND)
|
||||
ENDIF (NOT ZLIB_USE_EXTERNAL)
|
||||
IF (ZLIB_FOUND)
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
SET (H5_ZLIB_HEADER "zlib.h")
|
||||
SET (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
|
||||
SET (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
ELSE (ZLIB_FOUND)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
MESSAGE (STATUS "Filter ZLIB is built")
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
MESSAGE (FATAL_ERROR " ZLib is Required for ZLib support in HDF5")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (ZLIB_FOUND)
|
||||
ELSE (NOT H5_ZLIB_HEADER)
|
||||
# This project is being called from within another and ZLib is already configured
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
ENDIF (NOT H5_ZLIB_HEADER)
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
|
||||
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
|
||||
MESSAGE (STATUS "Filter ZLIB is ON")
|
||||
ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for SzLib support
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
|
||||
IF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
OPTION (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
|
||||
IF (NOT SZIP_USE_EXTERNAL)
|
||||
FIND_PACKAGE (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
IF (NOT SZIP_FOUND)
|
||||
FIND_PACKAGE (SZIP) # Legacy find
|
||||
ENDIF (NOT SZIP_FOUND)
|
||||
ENDIF (NOT SZIP_USE_EXTERNAL)
|
||||
IF (SZIP_FOUND)
|
||||
SET (H5_HAVE_FILTER_SZIP 1)
|
||||
SET (H5_HAVE_SZLIB_H 1)
|
||||
SET (H5_HAVE_LIBSZ 1)
|
||||
SET (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
|
||||
SET (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
|
||||
ELSE (SZIP_FOUND)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE} ${HDF5_ENABLE_SZIP_ENCODING})
|
||||
SET (H5_HAVE_FILTER_SZIP 1)
|
||||
SET (H5_HAVE_SZLIB_H 1)
|
||||
SET (H5_HAVE_LIBSZ 1)
|
||||
MESSAGE (STATUS "Filter SZIP is built")
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
MESSAGE (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (SZIP_FOUND)
|
||||
SET (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
|
||||
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIR})
|
||||
MESSAGE (STATUS "Filter SZIP is ON")
|
||||
IF (H5_HAVE_FILTER_SZIP)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE")
|
||||
ENDIF (H5_HAVE_FILTER_SZIP)
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (H5_HAVE_SZIP_ENCODER 1)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} ENCODE")
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
|
402
CMakeInstallation.cmake
Normal file
402
CMakeInstallation.cmake
Normal file
@ -0,0 +1,402 @@
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
|
||||
INSTALL (
|
||||
FILES ${PROJECT_BINARY_DIR}/H5pubconf.h
|
||||
DESTINATION ${HDF5_INSTALL_INCLUDE_DIR}
|
||||
COMPONENT headers
|
||||
)
|
||||
ENDIF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Target(s) to CMake Install for import into other projects
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
INSTALL (
|
||||
EXPORT ${HDF5_EXPORTED_TARGETS}
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Export all exported targets to the build tree for use by parent project
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
EXPORT (
|
||||
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config.cmake file for the build directory
|
||||
#-----------------------------------------------------------------------------
|
||||
SET (HDF5_INCLUDES_BUILD_TIME
|
||||
${HDF5_SRC_DIR} ${HDF5_CPP_SRC_DIR} ${HDF5_HL_SRC_DIR}
|
||||
${HDF5_TOOLS_SRC_DIR} ${HDF5_BINARY_DIR}
|
||||
)
|
||||
SET (HDF5_VERSION_STRING @HDF5_PACKAGE_VERSION@)
|
||||
SET (HDF5_VERSION_MAJOR @HDF5_PACKAGE_VERSION_MAJOR@)
|
||||
SET (HDF5_VERSION_MINOR @HDF5_PACKAGE_VERSION_MINOR@)
|
||||
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config.cmake.build.in
|
||||
${HDF5_BINARY_DIR}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake @ONLY
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the FindHDF5.cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/FindHDF5.cmake.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config.cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config.cmake.install.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config-version .cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config-version.cmake.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the libhdf5.settings file for the lib info
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
SET (BYTESEX big-endian)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
SET (BYTESEX little-endian)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/libhdf5.settings.cmake.in
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT libraries
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the HDF518_Examples.cmake file and the examples
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
|
||||
IF (HDF5_PACK_EXAMPLES)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/HDF518_Examples.cmake.in
|
||||
${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/HDF518_Examples.cmake
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
IF (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
|
||||
INSTALL (
|
||||
FILES
|
||||
${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_CMake_Examples.txt
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
ENDIF (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
|
||||
ENDIF (HDF5_PACK_EXAMPLES)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Document File(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
INSTALL (
|
||||
FILES
|
||||
${HDF5_SOURCE_DIR}/ACKNOWLEDGMENTS
|
||||
${HDF5_SOURCE_DIR}/COPYING
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (release_files
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/COPYING
|
||||
${HDF5_SOURCE_DIR}/release_docs/RELEASE.txt
|
||||
)
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_VS.txt
|
||||
)
|
||||
ENDIF (WIN32 AND NOT CYGWIN)
|
||||
IF (HDF5_PACK_INSTALL_DOCS)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL
|
||||
)
|
||||
IF (WIN32)
|
||||
IF (NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Windows.txt
|
||||
)
|
||||
ELSE (NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Cygwin.txt
|
||||
)
|
||||
ENDIF (NOT CYGWIN)
|
||||
ENDIF (WIN32)
|
||||
IF (HDF5_ENABLE_PARALLEL)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_parallel
|
||||
)
|
||||
ENDIF (HDF5_ENABLE_PARALLEL)
|
||||
ENDIF (HDF5_PACK_INSTALL_DOCS)
|
||||
INSTALL (
|
||||
FILES ${release_files}
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Set the cpack variables
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
|
||||
SET (CPACK_PACKAGE_VENDOR "HDF_Group")
|
||||
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_PATCH "")
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
|
||||
SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
|
||||
SET (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (CPACK_PACKAGE_RELOCATABLE TRUE)
|
||||
|
||||
SET (CPACK_GENERATOR "TGZ")
|
||||
IF (WIN32)
|
||||
LIST (APPEND CPACK_GENERATOR "NSIS")
|
||||
SET (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${LIB_TYPE}")
|
||||
SET (CPACK_MONOLITHIC_INSTALL ON)
|
||||
SET (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}")
|
||||
SET (CPACK_NSIS_MODIFY_PATH ON)
|
||||
SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${CPACK_PACKAGE_VERSION}")
|
||||
ELSEIF (APPLE)
|
||||
LIST (APPEND CPACK_GENERATOR "DragNDrop")
|
||||
SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
|
||||
SET (CPACK_PACKAGE_DEFAULT_LOCATION "/opt/${CPACK_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGING_INSTALL_PREFIX "/")
|
||||
SET (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
|
||||
SET (CPACK_SET_DESTDIR TRUE) # Required when packaging, and set CMAKE_INSTALL_PREFIX to "/".
|
||||
|
||||
LIST (APPEND CPACK_GENERATOR "Bundle")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the Info.plist file for the install bundle
|
||||
#-----------------------------------------------------------------------------
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/CPack.Info.plist.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
|
||||
)
|
||||
SET (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
|
||||
SET (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
|
||||
SET (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
|
||||
SET (CPACK_BUNDLE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
|
||||
SET (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
|
||||
# SET (CPACK_BUNDLE_STARTUP_COMMAND "${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-startup.sh")
|
||||
ELSE (WIN32)
|
||||
SET (CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
||||
SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
|
||||
|
||||
SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
|
||||
SET (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}")
|
||||
|
||||
SET (CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
SET (CPACK_RPM_PACKAGE_RELOCATABLE ON)
|
||||
SET (CPACK_RPM_PACKAGE_LICENSE "BSD-style")
|
||||
SET (CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
|
||||
SET (CPACK_RPM_PACKAGE_URL "${HDF5_PACKAGE_URL}")
|
||||
SET (CPACK_RPM_PACKAGE_SUMMARY "HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.")
|
||||
SET (CPACK_RPM_PACKAGE_DESCRIPTION
|
||||
"The HDF5 technology suite includes:
|
||||
|
||||
* A versatile data model that can represent very complex data objects and a wide variety of metadata.
|
||||
|
||||
* A completely portable file format with no limit on the number or size of data objects in the collection.
|
||||
|
||||
* A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces.
|
||||
|
||||
* A rich set of integrated performance features that allow for access time and storage space optimizations.
|
||||
|
||||
* Tools and applications for managing, manipulating, viewing, and analyzing the data in the collection.
|
||||
|
||||
The HDF5 data model, file format, API, library, and tools are open and distributed without charge.
|
||||
"
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
|
||||
INCLUDE(InstallRequiredSystemLibraries)
|
||||
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${HDF5_BINARY_DIR};HDF5;ALL;/")
|
||||
|
||||
IF (HDF5_PACKAGE_EXTLIBS)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
IF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/")
|
||||
ENDIF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
IF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/")
|
||||
ENDIF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (HDF5_PACKAGE_EXTLIBS)
|
||||
|
||||
INCLUDE (CPack)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Now list the cpack commands
|
||||
#---------------------------------------------------------------------------
|
||||
CPACK_ADD_COMPONENT (hdfapplications
|
||||
DISPLAY_NAME "HDF5 Applications"
|
||||
DEPENDS libraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (libraries
|
||||
DISPLAY_NAME "HDF5 Libraries"
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (headers
|
||||
DISPLAY_NAME "HDF5 Headers"
|
||||
DEPENDS libraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hdfdocuments
|
||||
DISPLAY_NAME "HDF5 Documents"
|
||||
GROUP Documents
|
||||
)
|
||||
CPACK_ADD_COMPONENT (configinstall
|
||||
DISPLAY_NAME "HDF5 CMake files"
|
||||
DEPENDS libraries
|
||||
GROUP Development
|
||||
)
|
||||
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
CPACK_ADD_COMPONENT (fortlibraries
|
||||
DISPLAY_NAME "HDF5 Fortran Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (fortheaders
|
||||
DISPLAY_NAME "HDF5 Fortran Headers"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_FORTRAN)
|
||||
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
CPACK_ADD_COMPONENT (cpplibraries
|
||||
DISPLAY_NAME "HDF5 C++ Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (cppheaders
|
||||
DISPLAY_NAME "HDF5 C++ Headers"
|
||||
DEPENDS cpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
|
||||
IF (HDF5_BUILD_TOOLS)
|
||||
CPACK_ADD_COMPONENT (toolsapplications
|
||||
DISPLAY_NAME "HDF5 Tools Applications"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolslibraries
|
||||
DISPLAY_NAME "HDF5 Tools Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolsheaders
|
||||
DISPLAY_NAME "HDF5 Tools Headers"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_TOOLS)
|
||||
|
||||
IF (HDF5_BUILD_HL_LIB)
|
||||
CPACK_ADD_COMPONENT (hllibraries
|
||||
DISPLAY_NAME "HDF5 HL Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlheaders
|
||||
DISPLAY_NAME "HDF5 HL Headers"
|
||||
DEPENDS hllibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hltoolsapplications
|
||||
DISPLAY_NAME "HDF5 HL Tools Applications"
|
||||
DEPENDS hllibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcpplibraries
|
||||
DISPLAY_NAME "HDF5 HL C++ Libraries"
|
||||
DEPENDS hllibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcppheaders
|
||||
DISPLAY_NAME "HDF5 HL C++ Headers"
|
||||
DEPENDS hlcpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlfortlibraries
|
||||
DISPLAY_NAME "HDF5 HL Fortran Libraries"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
ENDIF (HDF5_BUILD_HL_LIB)
|
||||
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
|
524
CMakeLists.txt
524
CMakeLists.txt
@ -677,127 +677,7 @@ ENDIF (HDF5_USE_18_API_DEFAULT)
|
||||
#-----------------------------------------------------------------------------
|
||||
INCLUDE (UserMacros.cmake)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Options for HDF5 Filters
|
||||
#-----------------------------------------------------------------------------
|
||||
MACRO (HDF5_SETUP_FILTERS FILTER)
|
||||
OPTION (HDF5_USE_FILTER_${FILTER} "Use the ${FILTER} Filter" ON)
|
||||
IF (HDF5_USE_FILTER_${FILTER})
|
||||
SET (H5_HAVE_FILTER_${FILTER} 1)
|
||||
SET (FILTERS "${FILTERS} ${FILTER}")
|
||||
ENDIF (HDF5_USE_FILTER_${FILTER})
|
||||
# MESSAGE (STATUS "Filter ${FILTER} is ${HDF5_USE_FILTER_${FILTER}}")
|
||||
ENDMACRO (HDF5_SETUP_FILTERS)
|
||||
|
||||
HDF5_SETUP_FILTERS (SHUFFLE)
|
||||
HDF5_SETUP_FILTERS (FLETCHER32)
|
||||
HDF5_SETUP_FILTERS (NBIT)
|
||||
HDF5_SETUP_FILTERS (SCALEOFFSET)
|
||||
|
||||
INCLUDE (ExternalProject)
|
||||
OPTION (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO SVN TGZ)" "NO")
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
OPTION (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1)
|
||||
OPTION (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
SET (ZLIB_URL ${ZLIB_SVN_URL})
|
||||
SET (SZIP_URL ${SZIP_SVN_URL})
|
||||
ELSEIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
IF (NOT TGZ_PATH)
|
||||
SET (TGZ_PATH ${HDF5_SOURCE_DIR})
|
||||
ENDIF (NOT TGZ_PATH)
|
||||
SET (ZLIB_URL ${TGZ_PATH}/${ZLIB_TGZ_NAME})
|
||||
SET (SZIP_URL ${TGZ_PATH}/${SZIP_TGZ_NAME})
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
SET (ZLIB_USE_EXTERNAL 0)
|
||||
SET (SZIP_USE_EXTERNAL 0)
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for ZLib support
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
|
||||
IF (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
IF (NOT H5_ZLIB_HEADER)
|
||||
IF (NOT ZLIB_USE_EXTERNAL)
|
||||
FIND_PACKAGE (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
IF (NOT ZLIB_FOUND)
|
||||
FIND_PACKAGE (ZLIB) # Legacy find
|
||||
ENDIF (NOT ZLIB_FOUND)
|
||||
ENDIF (NOT ZLIB_USE_EXTERNAL)
|
||||
IF (ZLIB_FOUND)
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
SET (H5_ZLIB_HEADER "zlib.h")
|
||||
SET (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
|
||||
SET (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
ELSE (ZLIB_FOUND)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
MESSAGE (STATUS "Filter ZLIB is built")
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
MESSAGE (FATAL_ERROR " ZLib is Required for ZLib support in HDF5")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (ZLIB_FOUND)
|
||||
ELSE (NOT H5_ZLIB_HEADER)
|
||||
# This project is being called from within another and ZLib is already configured
|
||||
SET (H5_HAVE_FILTER_DEFLATE 1)
|
||||
SET (H5_HAVE_ZLIB_H 1)
|
||||
SET (H5_HAVE_LIBZ 1)
|
||||
ENDIF (NOT H5_ZLIB_HEADER)
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
|
||||
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
|
||||
MESSAGE (STATUS "Filter ZLIB is ON")
|
||||
ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for SzLib support
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
|
||||
IF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
OPTION (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
|
||||
IF (NOT SZIP_USE_EXTERNAL)
|
||||
FIND_PACKAGE (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
||||
IF (NOT SZIP_FOUND)
|
||||
FIND_PACKAGE (SZIP) # Legacy find
|
||||
ENDIF (NOT SZIP_FOUND)
|
||||
ENDIF (NOT SZIP_USE_EXTERNAL)
|
||||
IF (SZIP_FOUND)
|
||||
SET (H5_HAVE_FILTER_SZIP 1)
|
||||
SET (H5_HAVE_SZLIB_H 1)
|
||||
SET (H5_HAVE_LIBSZ 1)
|
||||
SET (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
|
||||
SET (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
|
||||
ELSE (SZIP_FOUND)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE} ${HDF5_ENABLE_SZIP_ENCODING})
|
||||
SET (H5_HAVE_FILTER_SZIP 1)
|
||||
SET (H5_HAVE_SZLIB_H 1)
|
||||
SET (H5_HAVE_LIBSZ 1)
|
||||
MESSAGE (STATUS "Filter SZIP is built")
|
||||
ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
MESSAGE (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (SZIP_FOUND)
|
||||
SET (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
|
||||
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIR})
|
||||
MESSAGE (STATUS "Filter SZIP is ON")
|
||||
IF (H5_HAVE_FILTER_SZIP)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE")
|
||||
ENDIF (H5_HAVE_FILTER_SZIP)
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (H5_HAVE_SZIP_ENCODER 1)
|
||||
SET (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} ENCODE")
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
INCLUDE (CMakeFilters.cmake)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for external libraries on windows
|
||||
@ -995,404 +875,4 @@ ENDIF (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
|
||||
#-----------------------------------------------------------------------------
|
||||
CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
|
||||
INSTALL (
|
||||
FILES ${PROJECT_BINARY_DIR}/H5pubconf.h
|
||||
DESTINATION ${HDF5_INSTALL_INCLUDE_DIR}
|
||||
COMPONENT headers
|
||||
)
|
||||
ENDIF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Target(s) to CMake Install for import into other projects
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
INSTALL (
|
||||
EXPORT ${HDF5_EXPORTED_TARGETS}
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Export all exported targets to the build tree for use by parent project
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
EXPORT (
|
||||
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config.cmake file for the build directory
|
||||
#-----------------------------------------------------------------------------
|
||||
SET (HDF5_INCLUDES_BUILD_TIME
|
||||
${HDF5_SRC_DIR} ${HDF5_CPP_SRC_DIR} ${HDF5_HL_SRC_DIR}
|
||||
${HDF5_TOOLS_SRC_DIR} ${HDF5_BINARY_DIR}
|
||||
)
|
||||
SET (HDF5_VERSION_STRING @HDF5_PACKAGE_VERSION@)
|
||||
SET (HDF5_VERSION_MAJOR @HDF5_PACKAGE_VERSION_MAJOR@)
|
||||
SET (HDF5_VERSION_MINOR @HDF5_PACKAGE_VERSION_MINOR@)
|
||||
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config.cmake.build.in
|
||||
${HDF5_BINARY_DIR}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake @ONLY
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the FindHDF5.cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/FindHDF5.cmake.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config.cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config.cmake.install.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the hdf5-config-version .cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/hdf5-config-version.cmake.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the libhdf5.settings file for the lib info
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
SET (BYTESEX big-endian)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
SET (BYTESEX little-endian)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/libhdf5.settings.cmake.in
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/${HDF5_PACKAGE}
|
||||
COMPONENT libraries
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the HDF518_Examples.cmake file and the examples
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
|
||||
IF (HDF5_PACK_EXAMPLES)
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/HDF518_Examples.cmake.in
|
||||
${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
|
||||
)
|
||||
INSTALL (
|
||||
FILES ${HDF5_BINARY_DIR}/HDF518_Examples.cmake
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
IF (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
|
||||
INSTALL (
|
||||
FILES
|
||||
${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_CMake_Examples.txt
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
ENDIF (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
|
||||
ENDIF (HDF5_PACK_EXAMPLES)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Document File(s) to CMake Install
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
INSTALL (
|
||||
FILES
|
||||
${HDF5_SOURCE_DIR}/ACKNOWLEDGMENTS
|
||||
${HDF5_SOURCE_DIR}/COPYING
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (release_files
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/COPYING
|
||||
${HDF5_SOURCE_DIR}/release_docs/RELEASE.txt
|
||||
)
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_VS.txt
|
||||
)
|
||||
ENDIF (WIN32 AND NOT CYGWIN)
|
||||
IF (HDF5_PACK_INSTALL_DOCS)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL
|
||||
)
|
||||
IF (WIN32)
|
||||
IF (NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Windows.txt
|
||||
)
|
||||
ELSE (NOT CYGWIN)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Cygwin.txt
|
||||
)
|
||||
ENDIF (NOT CYGWIN)
|
||||
ENDIF (WIN32)
|
||||
IF (HDF5_ENABLE_PARALLEL)
|
||||
SET (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_parallel
|
||||
)
|
||||
ENDIF (HDF5_ENABLE_PARALLEL)
|
||||
ENDIF (HDF5_PACK_INSTALL_DOCS)
|
||||
INSTALL (
|
||||
FILES ${release_files}
|
||||
DESTINATION ${HDF5_INSTALL_DATA_DIR}
|
||||
COMPONENT hdfdocuments
|
||||
)
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Set the cpack variables
|
||||
#-----------------------------------------------------------------------------
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
|
||||
SET (CPACK_PACKAGE_VENDOR "HDF_Group")
|
||||
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_PATCH "")
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
|
||||
SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
|
||||
SET (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (CPACK_PACKAGE_RELOCATABLE TRUE)
|
||||
|
||||
SET (CPACK_GENERATOR "TGZ")
|
||||
IF (WIN32)
|
||||
LIST (APPEND CPACK_GENERATOR "NSIS")
|
||||
SET (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${LIB_TYPE}")
|
||||
SET (CPACK_MONOLITHIC_INSTALL ON)
|
||||
SET (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}")
|
||||
SET (CPACK_NSIS_MODIFY_PATH ON)
|
||||
SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${CPACK_PACKAGE_VERSION}")
|
||||
ELSEIF (APPLE)
|
||||
LIST (APPEND CPACK_GENERATOR "DragNDrop")
|
||||
SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
|
||||
SET (CPACK_PACKAGE_DEFAULT_LOCATION "/opt/${CPACK_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGING_INSTALL_PREFIX "/")
|
||||
SET (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
|
||||
SET (CPACK_SET_DESTDIR TRUE) # Required when packaging, and set CMAKE_INSTALL_PREFIX to "/".
|
||||
|
||||
LIST (APPEND CPACK_GENERATOR "Bundle")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the Info.plist file for the install bundle
|
||||
#-----------------------------------------------------------------------------
|
||||
CONFIGURE_FILE (
|
||||
${HDF5_RESOURCES_DIR}/CPack.Info.plist.in
|
||||
${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
|
||||
)
|
||||
SET (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
|
||||
SET (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
|
||||
SET (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
|
||||
SET (CPACK_BUNDLE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
|
||||
SET (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
|
||||
# SET (CPACK_BUNDLE_STARTUP_COMMAND "${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-startup.sh")
|
||||
ELSE (WIN32)
|
||||
SET (CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
||||
SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
|
||||
|
||||
SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
|
||||
SET (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}")
|
||||
|
||||
SET (CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
SET (CPACK_RPM_PACKAGE_RELOCATABLE ON)
|
||||
SET (CPACK_RPM_PACKAGE_LICENSE "BSD-style")
|
||||
SET (CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
|
||||
SET (CPACK_RPM_PACKAGE_URL "${HDF5_PACKAGE_URL}")
|
||||
SET (CPACK_RPM_PACKAGE_SUMMARY "HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.")
|
||||
SET (CPACK_RPM_PACKAGE_DESCRIPTION
|
||||
"The HDF5 technology suite includes:
|
||||
|
||||
* A versatile data model that can represent very complex data objects and a wide variety of metadata.
|
||||
|
||||
* A completely portable file format with no limit on the number or size of data objects in the collection.
|
||||
|
||||
* A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces.
|
||||
|
||||
* A rich set of integrated performance features that allow for access time and storage space optimizations.
|
||||
|
||||
* Tools and applications for managing, manipulating, viewing, and analyzing the data in the collection.
|
||||
|
||||
The HDF5 data model, file format, API, library, and tools are open and distributed without charge.
|
||||
"
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
|
||||
INCLUDE(InstallRequiredSystemLibraries)
|
||||
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${HDF5_BINARY_DIR};HDF5;ALL;/")
|
||||
|
||||
IF (HDF5_PACKAGE_EXTLIBS)
|
||||
IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
IF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/")
|
||||
ENDIF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
IF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/")
|
||||
SET (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/")
|
||||
ENDIF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
ENDIF (HDF5_PACKAGE_EXTLIBS)
|
||||
|
||||
INCLUDE (CPack)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Now list the cpack commands
|
||||
#---------------------------------------------------------------------------
|
||||
CPACK_ADD_COMPONENT (hdfapplications
|
||||
DISPLAY_NAME "HDF5 Applications"
|
||||
DEPENDS libraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (libraries
|
||||
DISPLAY_NAME "HDF5 Libraries"
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (headers
|
||||
DISPLAY_NAME "HDF5 Headers"
|
||||
DEPENDS libraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hdfdocuments
|
||||
DISPLAY_NAME "HDF5 Documents"
|
||||
GROUP Documents
|
||||
)
|
||||
CPACK_ADD_COMPONENT (configinstall
|
||||
DISPLAY_NAME "HDF5 CMake files"
|
||||
DEPENDS libraries
|
||||
GROUP Development
|
||||
)
|
||||
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
CPACK_ADD_COMPONENT (fortlibraries
|
||||
DISPLAY_NAME "HDF5 Fortran Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (fortheaders
|
||||
DISPLAY_NAME "HDF5 Fortran Headers"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_FORTRAN)
|
||||
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
CPACK_ADD_COMPONENT (cpplibraries
|
||||
DISPLAY_NAME "HDF5 C++ Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (cppheaders
|
||||
DISPLAY_NAME "HDF5 C++ Headers"
|
||||
DEPENDS cpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
|
||||
IF (HDF5_BUILD_TOOLS)
|
||||
CPACK_ADD_COMPONENT (toolsapplications
|
||||
DISPLAY_NAME "HDF5 Tools Applications"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolslibraries
|
||||
DISPLAY_NAME "HDF5 Tools Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolsheaders
|
||||
DISPLAY_NAME "HDF5 Tools Headers"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_TOOLS)
|
||||
|
||||
IF (HDF5_BUILD_HL_LIB)
|
||||
CPACK_ADD_COMPONENT (hllibraries
|
||||
DISPLAY_NAME "HDF5 HL Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlheaders
|
||||
DISPLAY_NAME "HDF5 HL Headers"
|
||||
DEPENDS hllibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hltoolsapplications
|
||||
DISPLAY_NAME "HDF5 HL Tools Applications"
|
||||
DEPENDS hllibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcpplibraries
|
||||
DISPLAY_NAME "HDF5 HL C++ Libraries"
|
||||
DEPENDS hllibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcppheaders
|
||||
DISPLAY_NAME "HDF5 HL C++ Headers"
|
||||
DEPENDS hlcpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlfortlibraries
|
||||
DISPLAY_NAME "HDF5 HL Fortran Libraries"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
ENDIF (HDF5_BUILD_HL_LIB)
|
||||
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
|
||||
INCLUDE (CMakeInstallation.cmake)
|
||||
|
29
MANIFEST
29
MANIFEST
@ -2428,45 +2428,74 @@
|
||||
./release_docs/USING_CMake_Examples.txt
|
||||
|
||||
./CMakeLists.txt
|
||||
./CMakeFilters.cmake
|
||||
./CMakeInstallation.cmake
|
||||
./CTestConfig.cmake
|
||||
./UserMacros.cmake
|
||||
./c++/CMakeLists.txt
|
||||
./c++/examples/CMakeLists.txt
|
||||
./c++/examples/CMakeTests.cmake
|
||||
./c++/src/CMakeLists.txt
|
||||
./c++/test/CMakeLists.txt
|
||||
./c++/test/CMakeTests.cmake
|
||||
./examples/CMakeLists.txt
|
||||
./examples/CMakeTests.cmake
|
||||
./examples/run-all-ex.sh
|
||||
./examples/run-c-ex.sh.in
|
||||
./fortran/CMakeLists.txt
|
||||
./fortran/examples/CMakeLists.txt
|
||||
./fortran/examples/CMakeTests.cmake
|
||||
./fortran/src/CMakeLists.txt
|
||||
./fortran/test/CMakeLists.txt
|
||||
./fortran/test/CMakeTests.cmake
|
||||
./fortran/testpar/CMakeLists.txt
|
||||
./fortran/testpar/CMakeTests.cmake
|
||||
./hl/CMakeLists.txt
|
||||
./hl/c++/CMakeLists.txt
|
||||
./hl/c++/examples/CMakeLists.txt
|
||||
./hl/c++/examples/CMakeTests.cmake
|
||||
./hl/c++/src/CMakeLists.txt
|
||||
./hl/c++/test/CMakeLists.txt
|
||||
./hl/c++/test/CMakeTests.cmake
|
||||
./hl/examples/CMakeLists.txt
|
||||
./hl/examples/CMakeTests.cmake
|
||||
./hl/fortran/CMakeLists.txt
|
||||
./hl/fortran/examples/CMakeLists.txt
|
||||
./hl/fortran/examples/CMakeTests.cmake
|
||||
./hl/fortran/src/CMakeLists.txt
|
||||
./hl/fortran/test/CMakeLists.txt
|
||||
./hl/fortran/test/CMakeTests.cmake
|
||||
./hl/src/CMakeLists.txt
|
||||
./hl/test/CMakeLists.txt
|
||||
./hl/test/CMakeTests.cmake
|
||||
./hl/tools/CMakeLists.txt
|
||||
./hl/tools/CMakeTests.cmake
|
||||
./perform/CMakeLists.txt
|
||||
./perform/CMakeTests.cmake
|
||||
./src/CMakeLists.txt
|
||||
./test/CMakeLists.txt
|
||||
./test/CMakeTests.cmake
|
||||
./testpar/CMakeLists.txt
|
||||
./testpar/CMakeTests.cmake
|
||||
./tools/CMakeLists.txt
|
||||
./tools/h5copy/CMakeLists.txt
|
||||
./tools/h5copy/CMakeTests.cmake
|
||||
./tools/h5diff/CMakeLists.txt
|
||||
./tools/h5diff/CMakeTests.cmake
|
||||
./tools/h5dump/CMakeLists.txt
|
||||
./tools/h5dump/CMakeTests.cmake
|
||||
./tools/h5dump/CMakeTestsPBITS.cmake
|
||||
./tools/h5dump/CMakeTestsXML.cmake
|
||||
./tools/h5import/CMakeLists.txt
|
||||
./tools/h5import/CMakeTests.cmake
|
||||
./tools/h5jam/CMakeLists.txt
|
||||
./tools/h5jam/CMakeTests.cmake
|
||||
./tools/h5ls/CMakeLists.txt
|
||||
./tools/h5ls/CMakeTests.cmake
|
||||
./tools/h5repack/CMakeLists.txt
|
||||
./tools/h5repack/CMakeTests.cmake
|
||||
./tools/h5stat/CMakeLists.txt
|
||||
./tools/h5stat/CMakeTests.cmake
|
||||
./tools/lib/CMakeLists.txt
|
||||
./tools/misc/CMakeLists.txt
|
||||
./tools/misc/CMakeTests.cmake
|
||||
|
@ -29,27 +29,5 @@ FOREACH (example ${examples})
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME cpp_ex-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
Group.h5
|
||||
SDS.h5
|
||||
SDScompound.h5
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (cpp_ex-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "cpp_ex-clear-objects")
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (cpp_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "cpp_ex_${example}")
|
||||
ENDFOREACH (example ${examples})
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
29
c++/examples/CMakeTests.cmake
Normal file
29
c++/examples/CMakeTests.cmake
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME cpp_ex-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
Group.h5
|
||||
SDS.h5
|
||||
SDScompound.h5
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (cpp_ex-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "cpp_ex-clear-objects")
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (cpp_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "cpp_ex_${example}")
|
||||
ENDFOREACH (example ${examples})
|
@ -52,42 +52,4 @@ ADD_CUSTOM_COMMAND (
|
||||
ARGS -E copy_if_different ${HDF5_CPP_TEST_SOURCE_DIR}/th5s.h5 ${PROJECT_BINARY_DIR}/th5s.h5
|
||||
)
|
||||
|
||||
ADD_TEST (NAME cpp_testhdf5 COMMAND $<TARGET_FILE:cpp_testhdf5>)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
46
c++/test/CMakeTests.cmake
Normal file
46
c++/test/CMakeTests.cmake
Normal file
@ -0,0 +1,46 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_TEST (NAME cpp_testhdf5 COMMAND $<TARGET_FILE:cpp_testhdf5>)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
@ -53,60 +53,5 @@ IF (H5_HAVE_PARALLEL)
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
FILE (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME EXAMPLES-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
Attributes.h5
|
||||
btrees_file.h5
|
||||
cmprss.h5
|
||||
default_file.h5
|
||||
dset.h5
|
||||
extend.h5
|
||||
extlink_prefix_source.h5
|
||||
extlink_source.h5
|
||||
extlink_target.h5
|
||||
group.h5
|
||||
groups.h5
|
||||
hard_link.h5
|
||||
mount1.h5
|
||||
mount2.h5
|
||||
one_index_file.h5
|
||||
only_dspaces_and_attrs_file.h5
|
||||
only_huge_mesgs_file.h5
|
||||
REF_REG.h5
|
||||
refere.h5
|
||||
SDS.h5
|
||||
SDScompound.h5
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
separate_indexes_file.h5
|
||||
small_lists_file.h5
|
||||
soft_link.h5
|
||||
subset.h5
|
||||
unix2win.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-clear-objects")
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME EXAMPLES-${example} COMMAND $<TARGET_FILE:${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-${example}")
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (H5_HAVE_PARALLEL)
|
||||
ADD_TEST (NAME EXAMPLES-ph5example COMMAND $<TARGET_FILE:ph5example>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-ph5example PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-ph5example")
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
62
examples/CMakeTests.cmake
Normal file
62
examples/CMakeTests.cmake
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
FILE (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME EXAMPLES-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
Attributes.h5
|
||||
btrees_file.h5
|
||||
cmprss.h5
|
||||
default_file.h5
|
||||
dset.h5
|
||||
extend.h5
|
||||
extlink_prefix_source.h5
|
||||
extlink_source.h5
|
||||
extlink_target.h5
|
||||
group.h5
|
||||
groups.h5
|
||||
hard_link.h5
|
||||
mount1.h5
|
||||
mount2.h5
|
||||
one_index_file.h5
|
||||
only_dspaces_and_attrs_file.h5
|
||||
only_huge_mesgs_file.h5
|
||||
REF_REG.h5
|
||||
refere.h5
|
||||
SDS.h5
|
||||
SDScompound.h5
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
separate_indexes_file.h5
|
||||
small_lists_file.h5
|
||||
soft_link.h5
|
||||
subset.h5
|
||||
unix2win.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-clear-objects")
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME EXAMPLES-${example} COMMAND $<TARGET_FILE:${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-${example}")
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (H5_HAVE_PARALLEL)
|
||||
ADD_TEST (NAME EXAMPLES-ph5example COMMAND $<TARGET_FILE:ph5example>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (EXAMPLES-ph5example PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "EXAMPLES-ph5example")
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
@ -54,15 +54,6 @@ FOREACH (example ${examples})
|
||||
)
|
||||
SET_TARGET_PROPERTIES (f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (f90_ex_${example} PROPERTIES FOLDER examples/fortran)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (f90_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "f90_ex_${example}")
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
@ -81,14 +72,6 @@ IF (HDF5_ENABLE_F2003)
|
||||
)
|
||||
SET_TARGET_PROPERTIES (f03_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (f03_ex_${example} PROPERTIES FOLDER examples/fortran03)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME f03_ex_${example} COMMAND $<TARGET_FILE:f03_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (f03_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "f03_ex_${example}")
|
||||
ENDIF (BUILD_TESTING)
|
||||
ENDFOREACH (example ${F2003_examples})
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
@ -109,9 +92,8 @@ IF (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
)
|
||||
SET_TARGET_PROPERTIES (f90_ex_ph5example PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (f90_ex_ph5example PROPERTIES FOLDER examples/fortran)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME f90_ex_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
ENDIF (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
28
fortran/examples/CMakeTests.cmake
Normal file
28
fortran/examples/CMakeTests.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (f90_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "f90_ex_${example}")
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
FOREACH (example ${F2003_examples})
|
||||
ADD_TEST (NAME f03_ex_${example} COMMAND $<TARGET_FILE:f03_ex_${example}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (f03_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "f03_ex_${example}")
|
||||
ENDFOREACH (example ${F2003_examples})
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
IF (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
||||
ADD_TEST (NAME f90_ex_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
|
||||
ENDIF (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
|
@ -73,9 +73,6 @@ ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (testhdf5_fortran PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (testhdf5_fortran PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME testhdf5_fortran COMMAND $<TARGET_FILE:testhdf5_fortran>)
|
||||
SET_TESTS_PROPERTIES(testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
|
||||
#-- Adding test for testhdf5_fortran_1_8
|
||||
ADD_EXECUTABLE (testhdf5_fortran_1_8
|
||||
fortranlib_test_1_8.f90
|
||||
@ -97,9 +94,6 @@ ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (testhdf5_fortran_1_8 PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (testhdf5_fortran_1_8 PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME testhdf5_fortran_1_8 COMMAND $<TARGET_FILE:testhdf5_fortran_1_8>)
|
||||
SET_TESTS_PROPERTIES(testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
|
||||
#-- Adding test for fortranlib_test_F03
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
ADD_EXECUTABLE (fortranlib_test_F03
|
||||
@ -124,9 +118,6 @@ IF (HDF5_ENABLE_F2003)
|
||||
ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (fortranlib_test_F03 PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (fortranlib_test_F03 PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME fortranlib_test_F03 COMMAND $<TARGET_FILE:fortranlib_test_F03>)
|
||||
SET_TESTS_PROPERTIES(fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
#-- Adding test for fflush1
|
||||
@ -144,8 +135,6 @@ ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (fflush1 PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (fflush1 PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME fflush1 COMMAND $<TARGET_FILE:fflush1>)
|
||||
|
||||
#-- Adding test for fflush2
|
||||
ADD_EXECUTABLE (fflush2 fflush2.f90)
|
||||
TARGET_NAMING (fflush2 ${LIB_TYPE})
|
||||
@ -161,5 +150,4 @@ ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (fflush2 PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (fflush2 PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME fflush2 COMMAND $<TARGET_FILE:fflush2>)
|
||||
SET_TESTS_PROPERTIES(fflush2 PROPERTIES DEPENDS fflush1)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
26
fortran/test/CMakeTests.cmake
Normal file
26
fortran/test/CMakeTests.cmake
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_TEST (NAME testhdf5_fortran COMMAND $<TARGET_FILE:testhdf5_fortran>)
|
||||
SET_TESTS_PROPERTIES(testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
|
||||
#-- Adding test for testhdf5_fortran_1_8
|
||||
ADD_TEST (NAME testhdf5_fortran_1_8 COMMAND $<TARGET_FILE:testhdf5_fortran_1_8>)
|
||||
SET_TESTS_PROPERTIES(testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
|
||||
#-- Adding test for fortranlib_test_F03
|
||||
IF (HDF5_ENABLE_F2003)
|
||||
ADD_TEST (NAME fortranlib_test_F03 COMMAND $<TARGET_FILE:fortranlib_test_F03>)
|
||||
SET_TESTS_PROPERTIES(fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
|
||||
ENDIF (HDF5_ENABLE_F2003)
|
||||
|
||||
#-- Adding test for fflush1
|
||||
ADD_TEST (NAME fflush1 COMMAND $<TARGET_FILE:fflush1>)
|
||||
|
||||
#-- Adding test for fflush2
|
||||
ADD_TEST (NAME fflush2 COMMAND $<TARGET_FILE:fflush2>)
|
||||
SET_TESTS_PROPERTIES(fflush2 PROPERTIES DEPENDS fflush1)
|
@ -30,4 +30,4 @@ ENDIF (WIN32 AND MSVC)
|
||||
SET_TARGET_PROPERTIES (parallel_test PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (parallel_test PROPERTIES FOLDER test/fortran)
|
||||
|
||||
ADD_TEST (NAME parallel_test COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:parallel_test>)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
7
fortran/testpar/CMakeTests.cmake
Normal file
7
fortran/testpar/CMakeTests.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
ADD_TEST (NAME parallel_test COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:parallel_test>)
|
@ -22,5 +22,5 @@ TARGET_LINK_LIBRARIES (
|
||||
SET_TARGET_PROPERTIES (ptExampleFL PROPERTIES FOLDER examples/hl/cpp)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME cpp_hl_ex_ptExampleFL COMMAND $<TARGET_FILE:ptExampleFL>)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
8
hl/c++/examples/CMakeTests.cmake
Normal file
8
hl/c++/examples/CMakeTests.cmake
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_TEST (NAME cpp_hl_ex_ptExampleFL COMMAND $<TARGET_FILE:ptExampleFL>)
|
@ -11,23 +11,21 @@ INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/c++/src)
|
||||
# Add in the unit tests for the packet table c++ wrapper
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
|
||||
INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/test)
|
||||
INCLUDE_DIRECTORIES (${HDF5_CPP_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
|
||||
INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/test)
|
||||
INCLUDE_DIRECTORIES (${HDF5_CPP_SRC_DIR}/src)
|
||||
|
||||
ADD_EXECUTABLE (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
TARGET_C_PROPERTIES (hl_ptableTest " " " ")
|
||||
TARGET_NAMING (hl_ptableTest ${LIB_TYPE})
|
||||
TARGET_LINK_LIBRARIES (
|
||||
hl_ptableTest
|
||||
${HDF5_LIB_TARGET}
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
${HDF5_CPP_LIB_TARGET}
|
||||
${HDF5_HL_LIB_TARGET}
|
||||
${HDF5_HL_CPP_LIB_TARGET}
|
||||
)
|
||||
SET_TARGET_PROPERTIES (hl_ptableTest PROPERTIES FOLDER test/hl/cpp)
|
||||
|
||||
ADD_TEST (NAME hl_ptableTest COMMAND $<TARGET_FILE:hl_ptableTest>)
|
||||
ENDIF (BUILD_TESTING)
|
||||
ADD_EXECUTABLE (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
TARGET_C_PROPERTIES (hl_ptableTest " " " ")
|
||||
TARGET_NAMING (hl_ptableTest ${LIB_TYPE})
|
||||
TARGET_LINK_LIBRARIES (
|
||||
hl_ptableTest
|
||||
${HDF5_LIB_TARGET}
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
${HDF5_CPP_LIB_TARGET}
|
||||
${HDF5_HL_LIB_TARGET}
|
||||
${HDF5_HL_CPP_LIB_TARGET}
|
||||
)
|
||||
SET_TARGET_PROPERTIES (hl_ptableTest PROPERTIES FOLDER test/hl/cpp)
|
||||
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
8
hl/c++/test/CMakeTests.cmake
Normal file
8
hl/c++/test/CMakeTests.cmake
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_TEST (NAME hl_ptableTest COMMAND $<TARGET_FILE:hl_ptableTest>)
|
@ -1,20 +1,6 @@
|
||||
cmake_minimum_required (VERSION 2.8.10)
|
||||
PROJECT (HDF5_HL_EXAMPLES )
|
||||
|
||||
SET (HDF5_TEST_FILES
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Define Sources
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -46,30 +32,10 @@ FOREACH (example ${examples})
|
||||
TARGET_C_PROPERTIES (hl_ex_${example} " " " ")
|
||||
TARGET_LINK_LIBRARIES (hl_ex_${example} ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (hl_ex_${example} PROPERTIES FOLDER examples/hl)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME hl_ex_${example} COMMAND $<TARGET_FILE:hl_ex_${example}>)
|
||||
ENDIF (BUILD_TESTING)
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
SET_TESTS_PROPERTIES (hl_ex_ex_lite2 PROPERTIES DEPENDS hl_ex_ex_lite1)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
SET (HDF5_TEST_FILES
|
||||
image24pixel.txt
|
||||
image8.txt
|
||||
)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
FOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET hl_ex_ex_ds1
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
28
hl/examples/CMakeTests.cmake
Normal file
28
hl/examples/CMakeTests.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
SET (HDF5_TEST_FILES
|
||||
image24pixel.txt
|
||||
image8.txt
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET hl_ex_ex_ds1
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME hl_ex_${example} COMMAND $<TARGET_FILE:hl_ex_${example}>)
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
SET_TESTS_PROPERTIES (hl_ex_ex_lite2 PROPERTIES DEPENDS hl_ex_ex_lite1)
|
@ -27,8 +27,10 @@ FOREACH (example ${examples})
|
||||
SET_TARGET_PROPERTIES (hl_f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (hl_f90_ex_${example} PROPERTIES FOLDER examples/hl/fortran)
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
ADD_TEST (NAME hl_f90_ex_${example} COMMAND $<TARGET_FILE:hl_f90_ex_${example}>)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
ENDFOREACH (example ${examples})
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
10
hl/fortran/examples/CMakeTests.cmake
Normal file
10
hl/fortran/examples/CMakeTests.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
FOREACH (example ${examples})
|
||||
ADD_TEST (NAME hl_f90_ex_${example} COMMAND $<TARGET_FILE:hl_f90_ex_${example}>)
|
||||
ENDFOREACH (example ${examples})
|
@ -6,20 +6,6 @@ PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran)
|
||||
#-----------------------------------------------------------------------------
|
||||
INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME hl_fortran_test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dsetf1.h5
|
||||
dsetf2.h5
|
||||
dsetf3.h5
|
||||
dsetf4.h5
|
||||
dsetf5.h5
|
||||
f1image.h5
|
||||
f1tab.h5
|
||||
)
|
||||
|
||||
#-- Adding test for hl_f90_tstds
|
||||
ADD_EXECUTABLE (hl_f90_tstds tstds.f90)
|
||||
TARGET_NAMING (hl_f90_tstds ${LIB_TYPE})
|
||||
@ -28,8 +14,6 @@ TARGET_LINK_LIBRARIES (hl_f90_tstds ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TAR
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstds PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstds PROPERTIES FOLDER test/hl/fortran)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstds COMMAND $<TARGET_FILE:hl_f90_tstds>)
|
||||
|
||||
#-- Adding test for hl_f90_tstlite
|
||||
ADD_EXECUTABLE (hl_f90_tstlite tstlite.f90)
|
||||
TARGET_NAMING (hl_f90_tstlite ${LIB_TYPE})
|
||||
@ -38,8 +22,6 @@ TARGET_LINK_LIBRARIES (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_T
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstlite COMMAND $<TARGET_FILE:hl_f90_tstlite>)
|
||||
|
||||
#-- Adding test for hl_f90_tstimage
|
||||
ADD_EXECUTABLE (hl_f90_tstimage tstimage.f90)
|
||||
TARGET_NAMING (hl_f90_tstimage ${LIB_TYPE})
|
||||
@ -48,8 +30,6 @@ TARGET_LINK_LIBRARIES (hl_f90_tstimage ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstimage PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (hl_f90_tstimage PROPERTIES FOLDER test/hl/fortran)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstimage COMMAND $<TARGET_FILE:hl_f90_tstimage>)
|
||||
|
||||
#-- Adding test for hl_f90_tsttable
|
||||
ADD_EXECUTABLE (hl_f90_tsttable tsttable.f90)
|
||||
TARGET_NAMING (hl_f90_tsttable ${LIB_TYPE})
|
||||
@ -58,4 +38,4 @@ TARGET_LINK_LIBRARIES (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_
|
||||
SET_TARGET_PROPERTIES (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
SET_TARGET_PROPERTIES (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tsttable COMMAND $<TARGET_FILE:hl_f90_tsttable>)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
28
hl/fortran/test/CMakeTests.cmake
Normal file
28
hl/fortran/test/CMakeTests.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME hl_fortran_test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dsetf1.h5
|
||||
dsetf2.h5
|
||||
dsetf3.h5
|
||||
dsetf4.h5
|
||||
dsetf5.h5
|
||||
f1image.h5
|
||||
f1tab.h5
|
||||
)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstds COMMAND $<TARGET_FILE:hl_f90_tstds>)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstlite COMMAND $<TARGET_FILE:hl_f90_tstlite>)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tstimage COMMAND $<TARGET_FILE:hl_f90_tstimage>)
|
||||
|
||||
ADD_TEST (NAME hl_f90_tsttable COMMAND $<TARGET_FILE:hl_f90_tsttable>)
|
@ -20,7 +20,7 @@ INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
|
||||
# --------------------------------------------------------------------
|
||||
# Macro used to add a unit test
|
||||
# --------------------------------------------------------------------
|
||||
MACRO (HL_ADD_TEST hl_name files)
|
||||
MACRO (HL_ADD_EXE hl_name)
|
||||
ADD_EXECUTABLE (hl_${hl_name} ${hl_name}.c)
|
||||
TARGET_NAMING (hl_${hl_name} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_${hl_name} " " " ")
|
||||
@ -30,66 +30,14 @@ MACRO (HL_ADD_TEST hl_name files)
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
)
|
||||
SET_TARGET_PROPERTIES (hl_${hl_name} PROPERTIES FOLDER test/hl)
|
||||
ENDMACRO (HL_ADD_EXE)
|
||||
|
||||
ADD_TEST (NAME hl_${hl_name} COMMAND $<TARGET_FILE:hl_${hl_name}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (hl_${hl_name} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
#-- Copy the necessary files.
|
||||
# --------------------------------------------------------------------
|
||||
FOREACH (h5_file ${files})
|
||||
SET (dest "${HDF5_HL_TEST_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying HL Test File ${h5_file} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET hl_${hl_name}
|
||||
PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_HL_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
|
||||
ENDFOREACH (h5_file ${HL_REFERENCE_TEST_FILES})
|
||||
ENDMACRO (HL_ADD_TEST)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME hl_test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
combine_tables1.h5
|
||||
combine_tables2.h5
|
||||
test_detach.h5
|
||||
test_ds1.h5
|
||||
test_ds2.h5
|
||||
test_ds3.h5
|
||||
test_ds4.h5
|
||||
test_ds5.h5
|
||||
test_ds6.h5
|
||||
test_ds7.h5
|
||||
test_ds8.h5
|
||||
test_ds9.h5
|
||||
test_dectris.h5
|
||||
test_image1.h5
|
||||
test_image2.h5
|
||||
test_image3.h5
|
||||
test_lite1.h5
|
||||
test_lite2.h5
|
||||
test_packet_compress.h5
|
||||
test_packet_table.h5
|
||||
test_table.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (hl_test-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "hl_test-clear-objects")
|
||||
|
||||
HL_ADD_TEST (test_ds "dsdata.txt;dslat.txt;dslon.txt;test_ds_be.h5;test_ds_le.h5")
|
||||
HL_ADD_TEST (test_dset_opt "")
|
||||
HL_ADD_TEST (test_image "image8.txt;sepia.pal;earth.pal;image24pixel.txt;image24plane.txt;usa.wri")
|
||||
HL_ADD_TEST (test_lite "dtype_file.txt")
|
||||
HL_ADD_TEST (test_packet "")
|
||||
HL_ADD_TEST (test_table "test_table_be.h5;test_table_cray.h5;test_table_le.h5")
|
||||
HL_ADD_EXE (test_ds)
|
||||
HL_ADD_EXE (test_dset_opt)
|
||||
HL_ADD_EXE (test_image)
|
||||
HL_ADD_EXE (test_lite)
|
||||
HL_ADD_EXE (test_packet)
|
||||
HL_ADD_EXE (test_table)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# This executable is used to generate test files for the test_ds test.
|
||||
@ -106,3 +54,5 @@ IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
)
|
||||
SET_TARGET_PROPERTIES (hl_gen_test_ds PROPERTIES FOLDER test/hl/gen)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
70
hl/test/CMakeTests.cmake
Normal file
70
hl/test/CMakeTests.cmake
Normal file
@ -0,0 +1,70 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Macro used to add a unit test
|
||||
# --------------------------------------------------------------------
|
||||
MACRO (HL_ADD_TEST hl_name files)
|
||||
ADD_TEST (NAME hl_${hl_name} COMMAND $<TARGET_FILE:hl_${hl_name}>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (hl_${hl_name} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
#-- Copy the necessary files.
|
||||
# --------------------------------------------------------------------
|
||||
FOREACH (h5_file ${files})
|
||||
SET (dest "${HDF5_HL_TEST_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying HL Test File ${h5_file} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET hl_${hl_name}
|
||||
PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_HL_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
|
||||
ENDFOREACH (h5_file ${HL_REFERENCE_TEST_FILES})
|
||||
ENDMACRO (HL_ADD_TEST)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME hl_test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
combine_tables1.h5
|
||||
combine_tables2.h5
|
||||
test_detach.h5
|
||||
test_ds1.h5
|
||||
test_ds2.h5
|
||||
test_ds3.h5
|
||||
test_ds4.h5
|
||||
test_ds5.h5
|
||||
test_ds6.h5
|
||||
test_ds7.h5
|
||||
test_ds8.h5
|
||||
test_ds9.h5
|
||||
test_dectris.h5
|
||||
test_image1.h5
|
||||
test_image2.h5
|
||||
test_image3.h5
|
||||
test_lite1.h5
|
||||
test_lite2.h5
|
||||
test_packet_compress.h5
|
||||
test_packet_table.h5
|
||||
test_table.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (hl_test-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "hl_test-clear-objects")
|
||||
|
||||
HL_ADD_TEST (test_ds "dsdata.txt;dslat.txt;dslon.txt;test_ds_be.h5;test_ds_le.h5")
|
||||
HL_ADD_TEST (test_dset_opt "")
|
||||
HL_ADD_TEST (test_image "image8.txt;sepia.pal;earth.pal;image24pixel.txt;image24plane.txt;usa.wri")
|
||||
HL_ADD_TEST (test_lite "dtype_file.txt")
|
||||
HL_ADD_TEST (test_packet "")
|
||||
HL_ADD_TEST (test_table "test_table_be.h5;test_table_cray.h5;test_table_le.h5")
|
@ -34,20 +34,24 @@ TARGET_C_PROPERTIES (h52gif " " " ")
|
||||
TARGET_LINK_LIBRARIES (h52gif ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (h52gif PROPERTIES FOLDER tools/hl)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# This executable can generate the actual test files - Currently not
|
||||
# used in the CMake Build system as we rely on the test files that are
|
||||
# shipped with HDF5 source archives
|
||||
# --------------------------------------------------------------------
|
||||
IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
ADD_EXECUTABLE (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c)
|
||||
TARGET_NAMING (hl_h52gifgentest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_h52gifgentest " " " ")
|
||||
TARGET_LINK_LIBRARIES (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# This executable can generate the actual test files - Currently not
|
||||
# used in the CMake Build system as we rely on the test files that are
|
||||
# shipped with HDF5 source archives
|
||||
# --------------------------------------------------------------------
|
||||
IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
ADD_EXECUTABLE (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c)
|
||||
TARGET_NAMING (hl_h52gifgentest ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (hl_h52gifgentest " " " ")
|
||||
TARGET_LINK_LIBRARIES (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
|
||||
|
||||
# ADD_TEST (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
# ADD_TEST (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add file(s) to CMake Install
|
||||
|
40
hl/tools/CMakeTests.cmake
Normal file
40
hl/tools/CMakeTests.cmake
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# Make testfiles dir under build dir
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
#
|
||||
# copy test files from source to build dir
|
||||
#
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET gif2h5
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/image1.gif ${PROJECT_BINARY_DIR}/testfiles/image1.gif
|
||||
)
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h52gif
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/h52giftst.h5 ${PROJECT_BINARY_DIR}/testfiles/h52giftst.h5
|
||||
)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME HL_TOOLS-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
image1.gif
|
||||
image1.h5
|
||||
)
|
||||
|
||||
ADD_TEST (NAME HL_TOOLS_h52gif COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image1.gif -i image)
|
||||
|
||||
ADD_TEST (NAME HL_TOOLS_gif2h5 COMMAND $<TARGET_FILE:gif2h5> testfiles/image1.gif image1.h5)
|
@ -137,64 +137,4 @@ IF (H5_HAVE_PARALLEL)
|
||||
ENDIF (HDF5_BUILD_PARALLEL_ALL)
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
||||
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET zip_perf
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/tfilters.h5 ${PROJECT_BINARY_DIR}/tfilters.h5
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Tests
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME PERFORM_h5perform-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
chunk.h5
|
||||
iopipe.h5
|
||||
iopipe.raw
|
||||
x-diag-rd.dat
|
||||
x-diag-wr.dat
|
||||
x-rowmaj-rd.dat
|
||||
x-rowmaj-wr.dat
|
||||
x-gnuplot
|
||||
)
|
||||
|
||||
ADD_TEST (NAME PERFORM_h5perf_serial COMMAND $<TARGET_FILE:h5perf_serial>)
|
||||
|
||||
IF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
ADD_TEST (NAME PERFORM_h5perf_serial_alone COMMAND $<TARGET_FILE:h5perf_serial_alone>)
|
||||
ENDIF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
|
||||
ADD_TEST (NAME PERFORM_chunk COMMAND $<TARGET_FILE:chunk>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_iopipe COMMAND $<TARGET_FILE:iopipe>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_overhead COMMAND $<TARGET_FILE:overhead>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_perf_meta COMMAND $<TARGET_FILE:perf_meta>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_zip_perf_help COMMAND $<TARGET_FILE:zip_perf> "-h")
|
||||
ADD_TEST (NAME PERFORM_zip_perf COMMAND $<TARGET_FILE:zip_perf> tfilters.h5)
|
||||
|
||||
IF (H5_HAVE_PARALLEL)
|
||||
ADD_TEST (NAME PERFORM_h5perf COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf>)
|
||||
|
||||
IF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
ADD_TEST (NAME PERFORM_h5perf_alone COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf_alone>)
|
||||
ENDIF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
|
||||
IF (HDF5_BUILD_PARALLEL_ALL)
|
||||
ADD_TEST (NAME PERFORM_benchpar COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:benchpar>)
|
||||
ENDIF (HDF5_BUILD_PARALLEL_ALL)
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
61
perform/CMakeTests.cmake
Normal file
61
perform/CMakeTests.cmake
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET zip_perf
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/tfilters.h5 ${PROJECT_BINARY_DIR}/tfilters.h5
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Add Tests
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME PERFORM_h5perform-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
chunk.h5
|
||||
iopipe.h5
|
||||
iopipe.raw
|
||||
x-diag-rd.dat
|
||||
x-diag-wr.dat
|
||||
x-rowmaj-rd.dat
|
||||
x-rowmaj-wr.dat
|
||||
x-gnuplot
|
||||
)
|
||||
|
||||
ADD_TEST (NAME PERFORM_h5perf_serial COMMAND $<TARGET_FILE:h5perf_serial>)
|
||||
|
||||
IF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
ADD_TEST (NAME PERFORM_h5perf_serial_alone COMMAND $<TARGET_FILE:h5perf_serial_alone>)
|
||||
ENDIF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
|
||||
ADD_TEST (NAME PERFORM_chunk COMMAND $<TARGET_FILE:chunk>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_iopipe COMMAND $<TARGET_FILE:iopipe>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_overhead COMMAND $<TARGET_FILE:overhead>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_perf_meta COMMAND $<TARGET_FILE:perf_meta>)
|
||||
|
||||
ADD_TEST (NAME PERFORM_zip_perf_help COMMAND $<TARGET_FILE:zip_perf> "-h")
|
||||
ADD_TEST (NAME PERFORM_zip_perf COMMAND $<TARGET_FILE:zip_perf> tfilters.h5)
|
||||
|
||||
IF (H5_HAVE_PARALLEL)
|
||||
ADD_TEST (NAME PERFORM_h5perf COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf>)
|
||||
|
||||
IF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
ADD_TEST (NAME PERFORM_h5perf_alone COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:h5perf_alone>)
|
||||
ENDIF (HDF5_BUILD_PERFORM_STANDALONE)
|
||||
|
||||
IF (HDF5_BUILD_PARALLEL_ALL)
|
||||
ADD_TEST (NAME PERFORM_benchpar COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:benchpar>)
|
||||
ENDIF (HDF5_BUILD_PARALLEL_ALL)
|
||||
ENDIF (H5_HAVE_PARALLEL)
|
@ -120,713 +120,4 @@ IF (BUILD_SHARED_LIBS)
|
||||
ENDFOREACH (test_lib ${TEST2_PLUGIN_LIBS})
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_TEST_FILES
|
||||
tnullspace.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_tfile ${HDF5_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_tfile}")
|
||||
#MESSAGE (STATUS " Copying ${h5_tfile}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_tfile ${HDF5_TEST_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_FILES
|
||||
err_compat_1
|
||||
err_compat_2
|
||||
error_test_1
|
||||
error_test_2
|
||||
links_env.out
|
||||
)
|
||||
|
||||
FOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${ref_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${XLATE_UTILITY}
|
||||
ARGS ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest} -l3
|
||||
)
|
||||
ENDFOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy test files from test/testfiles/plist_files dir to test dir
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_PLIST_FILES
|
||||
acpl_be
|
||||
acpl_le
|
||||
dapl_be
|
||||
dapl_le
|
||||
dcpl_be
|
||||
dcpl_le
|
||||
dxpl_be
|
||||
dxpl_le
|
||||
fapl_be
|
||||
fapl_le
|
||||
fcpl_be
|
||||
fcpl_le
|
||||
gcpl_be
|
||||
gcpl_le
|
||||
lapl_be
|
||||
lapl_le
|
||||
lcpl_be
|
||||
lcpl_le
|
||||
ocpl_be
|
||||
ocpl_le
|
||||
ocpypl_be
|
||||
ocpypl_le
|
||||
strcpl_be
|
||||
strcpl_le
|
||||
)
|
||||
|
||||
FOREACH (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${plistfile}")
|
||||
#MESSAGE (STATUS " Copying ${plistfile} to ${dset}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
|
||||
)
|
||||
ENDFOREACH (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
#-- Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
be_data.h5
|
||||
be_extlink1.h5
|
||||
be_extlink2.h5
|
||||
corrupt_stab_msg.h5
|
||||
deflate.h5
|
||||
family_v16_00000.h5
|
||||
family_v16_00001.h5
|
||||
family_v16_00002.h5
|
||||
family_v16_00003.h5
|
||||
filespace_1_6.h5
|
||||
filespace_1_8.h5
|
||||
file_image_core_test.h5
|
||||
fill_old.h5
|
||||
filter_error.h5
|
||||
group_old.h5
|
||||
le_data.h5
|
||||
le_extlink1.h5
|
||||
le_extlink2.h5
|
||||
mergemsg.h5
|
||||
multi_file_v16-r.h5
|
||||
multi_file_v16-s.h5
|
||||
noencoder.h5
|
||||
specmetaread.h5
|
||||
tarrold.h5
|
||||
tbad_msg_count.h5
|
||||
tbogus.h5
|
||||
test_filters_be.h5
|
||||
test_filters_le.h5
|
||||
th5s.h5
|
||||
tlayouto.h5
|
||||
tmtimen.h5
|
||||
tmtimeo.h5
|
||||
tsizeslheap.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${HDF5_TEST_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
SET (testhdf5_SRCS
|
||||
${HDF5_TEST_SOURCE_DIR}/testhdf5.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tarray.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tattr.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tchecksum.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tconfig.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tcoords.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tfile.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tgenprop.c
|
||||
${HDF5_TEST_SOURCE_DIR}/th5o.c
|
||||
${HDF5_TEST_SOURCE_DIR}/th5s.c
|
||||
${HDF5_TEST_SOURCE_DIR}/theap.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tid.c
|
||||
${HDF5_TEST_SOURCE_DIR}/titerate.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tmeta.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tmisc.c
|
||||
${HDF5_TEST_SOURCE_DIR}/trefer.c
|
||||
${HDF5_TEST_SOURCE_DIR}/trefstr.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tselect.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tskiplist.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tsohm.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttime.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttst.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tunicode.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tvltypes.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tvlstr.c
|
||||
)
|
||||
|
||||
#-- Adding test for testhdf5
|
||||
ADD_EXECUTABLE (testhdf5 ${testhdf5_SRCS})
|
||||
TARGET_NAMING (testhdf5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testhdf5 " " " ")
|
||||
TARGET_LINK_LIBRARIES (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (testhdf5 PROPERTIES FOLDER test)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-testhdf5-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
coord.h5
|
||||
sys_file1
|
||||
tattr.h5
|
||||
tfile1.h5
|
||||
tfile2.h5
|
||||
tfile3.h5
|
||||
tfile4.h5
|
||||
tfile5.h5
|
||||
tfile6.h5
|
||||
th5o_file
|
||||
th5s1.h5
|
||||
tselect.h5
|
||||
tsohm.h5
|
||||
tsohm_dst.h5
|
||||
tsohm_src.h5
|
||||
)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME testhdf5-base COMMAND $<TARGET_FILE:testhdf5> -x heap -x file -x select)
|
||||
SET_TESTS_PROPERTIES(testhdf5-base PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-base PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-heap COMMAND $<TARGET_FILE:testhdf5> -o heap)
|
||||
SET_TESTS_PROPERTIES(testhdf5-heap PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-heap PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-file COMMAND $<TARGET_FILE:testhdf5> -o file)
|
||||
SET_TESTS_PROPERTIES(testhdf5-file PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-file PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-select COMMAND $<TARGET_FILE:testhdf5> -o select)
|
||||
SET_TESTS_PROPERTIES(testhdf5-select PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-select PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME testhdf5 COMMAND $<TARGET_FILE:testhdf5>)
|
||||
SET_TESTS_PROPERTIES(testhdf5 PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST file)
|
||||
ADD_EXECUTABLE (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${file} " " " ")
|
||||
TARGET_LINK_LIBRARIES (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (${file} PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (NAME ${file} COMMAND $<TARGET_FILE:${file}>)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dt_arith1.h5
|
||||
dt_arith2.h5
|
||||
dtransform.h5
|
||||
dtypes4.h5
|
||||
dtypes5.h5
|
||||
efc0.h5
|
||||
efc1.h5
|
||||
efc2.h5
|
||||
efc3.h5
|
||||
efc4.h5
|
||||
efc5.h5
|
||||
extlinks16A00000.h5
|
||||
extlinks16A00001.h5
|
||||
extlinks16A00002.h5
|
||||
extlinks16B-b.h5
|
||||
extlinks16B-g.h5
|
||||
extlinks16B-l.h5
|
||||
extlinks16B-r.h5
|
||||
extlinks16B-s.h5
|
||||
extlinks19B00000.h5
|
||||
extlinks19B00001.h5
|
||||
extlinks19B00002.h5
|
||||
extlinks19B00003.h5
|
||||
extlinks19B00004.h5
|
||||
extlinks19B00005.h5
|
||||
extlinks19B00006.h5
|
||||
extlinks19B00007.h5
|
||||
extlinks19B00008.h5
|
||||
extlinks19B00009.h5
|
||||
extlinks19B00010.h5
|
||||
extlinks19B00011.h5
|
||||
extlinks19B00012.h5
|
||||
extlinks19B00013.h5
|
||||
extlinks19B00014.h5
|
||||
extlinks19B00015.h5
|
||||
extlinks19B00016.h5
|
||||
extlinks19B00017.h5
|
||||
extlinks19B00018.h5
|
||||
extlinks19B00019.h5
|
||||
extlinks19B00020.h5
|
||||
extlinks19B00021.h5
|
||||
extlinks19B00022.h5
|
||||
extlinks19B00023.h5
|
||||
extlinks19B00024.h5
|
||||
extlinks19B00025.h5
|
||||
extlinks19B00026.h5
|
||||
extlinks19B00027.h5
|
||||
extlinks19B00028.h5
|
||||
fheap.h5
|
||||
new_multi_file_v16-r.h5
|
||||
new_multi_file_v16-s.h5
|
||||
objcopy_ext.dat
|
||||
testmeta.h5
|
||||
tstint1.h5
|
||||
tstint2.h5
|
||||
unregister_filter_1.h5
|
||||
unregister_filter_2.h5
|
||||
)
|
||||
|
||||
SET (H5_TESTS
|
||||
accum
|
||||
lheap
|
||||
ohdr
|
||||
stab
|
||||
gheap
|
||||
#cache
|
||||
#cache_api
|
||||
#cache_tagging
|
||||
pool
|
||||
hyperslab
|
||||
istore
|
||||
bittests
|
||||
dt_arith
|
||||
dtypes
|
||||
cmpd_dset
|
||||
filter_fail
|
||||
extend
|
||||
external
|
||||
efc
|
||||
objcopy
|
||||
links
|
||||
unlink
|
||||
big
|
||||
mtime
|
||||
fillval
|
||||
mount
|
||||
flush1
|
||||
flush2
|
||||
app_ref
|
||||
enum
|
||||
set_extent
|
||||
#ttsafe
|
||||
getname
|
||||
vfd
|
||||
ntypes
|
||||
dangle
|
||||
dtransform
|
||||
reserved
|
||||
cross_read
|
||||
freespace
|
||||
mf
|
||||
farray
|
||||
earray
|
||||
btree2
|
||||
fheap
|
||||
#error_test
|
||||
#err_compat
|
||||
tcheck_version
|
||||
testmeta
|
||||
#links_env
|
||||
file_image
|
||||
enc_dec_plist
|
||||
enc_dec_plist_with_endianess
|
||||
unregister
|
||||
)
|
||||
|
||||
FOREACH (test ${H5_TESTS})
|
||||
ADD_H5_TEST(${test})
|
||||
SET_TESTS_PROPERTIES(${test} PROPERTIES DEPENDS h5test-clear-objects)
|
||||
ENDFOREACH (test ${H5_TESTS})
|
||||
|
||||
SET_TESTS_PROPERTIES(flush2 PROPERTIES DEPENDS flush1)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### A D D I T I O N A L T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#-- Adding test for cache
|
||||
ADD_EXECUTABLE (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache PROPERTIES FOLDER test)
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache COMMAND $<TARGET_FILE:cache>)
|
||||
SET_TESTS_PROPERTIES(cache PROPERTIES DEPENDS h5test-clear-cache-objects)
|
||||
|
||||
#-- Adding test for cache_api
|
||||
ADD_EXECUTABLE (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_api ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_api " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache_api PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache_api-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_api_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache_api COMMAND $<TARGET_FILE:cache_api>)
|
||||
SET_TESTS_PROPERTIES(cache_api PROPERTIES DEPENDS h5test-clear-cache_api-objects)
|
||||
|
||||
#-- Adding test for cache_tagging
|
||||
ADD_EXECUTABLE (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_tagging ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_tagging " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache_tagging PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache_tagging-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tagging_test.h5
|
||||
tagging_ext_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache_tagging COMMAND $<TARGET_FILE:cache_tagging>)
|
||||
SET_TESTS_PROPERTIES(cache_tagging PROPERTIES DEPENDS h5test-clear-cache_tagging-objects)
|
||||
|
||||
#-- 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
|
||||
)
|
||||
TARGET_NAMING (ttsafe ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ttsafe " " " ")
|
||||
TARGET_LINK_LIBRARIES (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (ttsafe PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-ttsafe-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
ttsafe_error.h5
|
||||
ttsafe_dcreate.h5
|
||||
ttsafe_cancel.h5
|
||||
ttsafe_acreate.h5
|
||||
)
|
||||
ADD_TEST (NAME ttsafe COMMAND $<TARGET_FILE:ttsafe>)
|
||||
SET_TESTS_PROPERTIES(ttsafe PROPERTIES DEPENDS h5test-clear-ttsafe-objects)
|
||||
|
||||
#-- Adding test for err_compat
|
||||
IF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
ADD_EXECUTABLE (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
|
||||
TARGET_NAMING (err_compat ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (err_compat " " " ")
|
||||
TARGET_LINK_LIBRARIES (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (err_compat PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-err_compat-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
err_compat.txt
|
||||
err_compat.txt.err
|
||||
)
|
||||
ADD_TEST (NAME err_compat COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:err_compat>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=err_compat.txt"
|
||||
-D "TEST_REFERENCE=err_compat_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(err_compat PROPERTIES DEPENDS h5test-clear-err_compat-objects)
|
||||
ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
|
||||
#-- Adding test for error_test
|
||||
ADD_EXECUTABLE (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
|
||||
TARGET_NAMING (error_test ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (error_test " " " ")
|
||||
TARGET_LINK_LIBRARIES (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (error_test PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-error_test-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
error_test.txt
|
||||
error_test.txt.err
|
||||
)
|
||||
ADD_TEST (NAME error_test COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:error_test>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=error_test.txt"
|
||||
-D "TEST_REFERENCE=error_test_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(error_test PROPERTIES DEPENDS h5test-clear-error_test-objects)
|
||||
SET_TESTS_PROPERTIES (error_test PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PRELOAD=::")
|
||||
|
||||
#-- Adding test for links_env
|
||||
ADD_EXECUTABLE (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
|
||||
TARGET_NAMING (links_env ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (links_env " " " ")
|
||||
TARGET_LINK_LIBRARIES (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (links_env PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-links_env-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
links_env.txt
|
||||
links_env.txt.err
|
||||
extlinks_env0.h5
|
||||
extlinks_env1.h5
|
||||
tmp/extlinks_env1.h5
|
||||
)
|
||||
ADD_TEST (NAME links_env COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:links_env>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
|
||||
-D "TEST_ENV_VALUE:STRING=.:tmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OUTPUT=links_env.txt"
|
||||
-D "TEST_REFERENCE=links_env.out"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(links_env PROPERTIES DEPENDS h5test-clear-links_env-objects)
|
||||
|
||||
#-- 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 (\${TEST_RESULT} STREQUAL \"0\")
|
||||
MESSAGE (STATUS \"COMMAND Result: \${TEST_RESULT}\")
|
||||
ENDIF (\${TEST_RESULT} STREQUAL \"0\")
|
||||
"
|
||||
)
|
||||
|
||||
ADD_TEST (NAME testlibinfo COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIB_TARGET}>" -P "${GREP_RUNNER}")
|
||||
|
||||
##############################################################################
|
||||
### P L U G I N T E S T S
|
||||
##############################################################################
|
||||
IF (BUILD_SHARED_LIBS)
|
||||
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
SET(CMAKE_SEP "\;")
|
||||
ELSE (WIN32 AND NOT CYGWIN)
|
||||
SET(CMAKE_SEP ":")
|
||||
ENDIF(WIN32 AND NOT CYGWIN)
|
||||
|
||||
ADD_EXECUTABLE (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
|
||||
TARGET_NAMING (plugin ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (plugin " " " ")
|
||||
TARGET_LINK_LIBRARIES (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (plugin PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
|
||||
SET_TESTS_PROPERTIES (H5PLUGIN-plugin PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2")
|
||||
ELSE (BUILD_SHARED_LIBS)
|
||||
MESSAGE (STATUS " **** Plugins libraries must be built as shared libraries **** ")
|
||||
ADD_TEST (
|
||||
NAME H5PLUGIN-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
|
||||
)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### V F D T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
SET (H5_VFD_TESTS
|
||||
testhdf5
|
||||
accum
|
||||
lheap
|
||||
ohdr
|
||||
stab
|
||||
gheap
|
||||
cache
|
||||
cache_api
|
||||
cache_tagging
|
||||
pool
|
||||
hyperslab
|
||||
istore
|
||||
bittests
|
||||
dt_arith
|
||||
dtypes
|
||||
cmpd_dset
|
||||
filter_fail
|
||||
extend
|
||||
external
|
||||
efc
|
||||
objcopy
|
||||
links
|
||||
unlink
|
||||
big
|
||||
mtime
|
||||
fillval
|
||||
mount
|
||||
flush1
|
||||
flush2
|
||||
app_ref
|
||||
enum
|
||||
set_extent
|
||||
ttsafe
|
||||
getname
|
||||
vfd
|
||||
ntypes
|
||||
dangle
|
||||
dtransform
|
||||
reserved
|
||||
cross_read
|
||||
freespace
|
||||
mf
|
||||
farray
|
||||
earray
|
||||
btree2
|
||||
#fheap
|
||||
error_test
|
||||
err_compat
|
||||
tcheck_version
|
||||
testmeta
|
||||
links_env
|
||||
unregister
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
FOREACH (test ${H5_VFD_TESTS})
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDFOREACH (test ${H5_VFD_TESTS})
|
||||
IF (HDF5_TEST_FHEAP_VFD)
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-fheap
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=fheap"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDIF (HDF5_TEST_FHEAP_VFD)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E G E N E R A T O R S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
MACRO (ADD_H5_GENERATOR genfile)
|
||||
ADD_EXECUTABLE (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
|
||||
TARGET_NAMING (${genfile} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${genfile} " " " ")
|
||||
TARGET_LINK_LIBRARIES (${genfile} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (${genfile} PROPERTIES FOLDER generator/test)
|
||||
ENDMACRO (ADD_H5_GENERATOR genfile)
|
||||
|
||||
# generator executables
|
||||
SET (H5_GENERATORS
|
||||
gen_bad_ohdr
|
||||
gen_bogus
|
||||
gen_cross
|
||||
gen_deflate
|
||||
gen_filters
|
||||
gen_new_array
|
||||
gen_new_fill
|
||||
gen_new_group
|
||||
gen_new_mtime
|
||||
gen_new_super
|
||||
gen_noencoder
|
||||
gen_nullspace
|
||||
gen_udlinks
|
||||
space_overflow
|
||||
gen_filespace
|
||||
gen_specmetaread
|
||||
gen_sizes_lheap
|
||||
gen_file_image
|
||||
gen_plist
|
||||
)
|
||||
|
||||
FOREACH (gen ${H5_GENERATORS})
|
||||
ADD_H5_GENERATOR (${gen})
|
||||
ENDFOREACH (gen ${H5_GENERATORS})
|
||||
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
717
test/CMakeTests.cmake
Normal file
717
test/CMakeTests.cmake
Normal file
@ -0,0 +1,717 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_TEST_FILES
|
||||
tnullspace.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_tfile ${HDF5_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_tfile}")
|
||||
#MESSAGE (STATUS " Copying ${h5_tfile}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_tfile ${HDF5_TEST_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_FILES
|
||||
err_compat_1
|
||||
err_compat_2
|
||||
error_test_1
|
||||
error_test_2
|
||||
links_env.out
|
||||
)
|
||||
|
||||
FOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${ref_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${XLATE_UTILITY}
|
||||
ARGS ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest} -l3
|
||||
)
|
||||
ENDFOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy test files from test/testfiles/plist_files dir to test dir
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_PLIST_FILES
|
||||
acpl_be
|
||||
acpl_le
|
||||
dapl_be
|
||||
dapl_le
|
||||
dcpl_be
|
||||
dcpl_le
|
||||
dxpl_be
|
||||
dxpl_le
|
||||
fapl_be
|
||||
fapl_le
|
||||
fcpl_be
|
||||
fcpl_le
|
||||
gcpl_be
|
||||
gcpl_le
|
||||
lapl_be
|
||||
lapl_le
|
||||
lcpl_be
|
||||
lcpl_le
|
||||
ocpl_be
|
||||
ocpl_le
|
||||
ocpypl_be
|
||||
ocpypl_le
|
||||
strcpl_be
|
||||
strcpl_le
|
||||
)
|
||||
|
||||
FOREACH (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${plistfile}")
|
||||
#MESSAGE (STATUS " Copying ${plistfile} to ${dset}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
|
||||
)
|
||||
ENDFOREACH (plistfile ${HDF5_REFERENCE_PLIST_FILES})
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
#-- Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
be_data.h5
|
||||
be_extlink1.h5
|
||||
be_extlink2.h5
|
||||
corrupt_stab_msg.h5
|
||||
deflate.h5
|
||||
family_v16_00000.h5
|
||||
family_v16_00001.h5
|
||||
family_v16_00002.h5
|
||||
family_v16_00003.h5
|
||||
filespace_1_6.h5
|
||||
filespace_1_8.h5
|
||||
file_image_core_test.h5
|
||||
fill_old.h5
|
||||
filter_error.h5
|
||||
group_old.h5
|
||||
le_data.h5
|
||||
le_extlink1.h5
|
||||
le_extlink2.h5
|
||||
mergemsg.h5
|
||||
multi_file_v16-r.h5
|
||||
multi_file_v16-s.h5
|
||||
noencoder.h5
|
||||
specmetaread.h5
|
||||
tarrold.h5
|
||||
tbad_msg_count.h5
|
||||
tbogus.h5
|
||||
test_filters_be.h5
|
||||
test_filters_le.h5
|
||||
th5s.h5
|
||||
tlayouto.h5
|
||||
tmtimen.h5
|
||||
tmtimeo.h5
|
||||
tsizeslheap.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${HDF5_TEST_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
SET (testhdf5_SRCS
|
||||
${HDF5_TEST_SOURCE_DIR}/testhdf5.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tarray.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tattr.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tchecksum.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tconfig.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tcoords.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tfile.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tgenprop.c
|
||||
${HDF5_TEST_SOURCE_DIR}/th5o.c
|
||||
${HDF5_TEST_SOURCE_DIR}/th5s.c
|
||||
${HDF5_TEST_SOURCE_DIR}/theap.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tid.c
|
||||
${HDF5_TEST_SOURCE_DIR}/titerate.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tmeta.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tmisc.c
|
||||
${HDF5_TEST_SOURCE_DIR}/trefer.c
|
||||
${HDF5_TEST_SOURCE_DIR}/trefstr.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tselect.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tskiplist.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tsohm.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttime.c
|
||||
${HDF5_TEST_SOURCE_DIR}/ttst.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tunicode.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tvltypes.c
|
||||
${HDF5_TEST_SOURCE_DIR}/tvlstr.c
|
||||
)
|
||||
|
||||
#-- Adding test for testhdf5
|
||||
ADD_EXECUTABLE (testhdf5 ${testhdf5_SRCS})
|
||||
TARGET_NAMING (testhdf5 ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (testhdf5 " " " ")
|
||||
TARGET_LINK_LIBRARIES (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (testhdf5 PROPERTIES FOLDER test)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-testhdf5-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
coord.h5
|
||||
sys_file1
|
||||
tattr.h5
|
||||
tfile1.h5
|
||||
tfile2.h5
|
||||
tfile3.h5
|
||||
tfile4.h5
|
||||
tfile5.h5
|
||||
tfile6.h5
|
||||
th5o_file
|
||||
th5s1.h5
|
||||
tselect.h5
|
||||
tsohm.h5
|
||||
tsohm_dst.h5
|
||||
tsohm_src.h5
|
||||
)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME testhdf5-base COMMAND $<TARGET_FILE:testhdf5> -x heap -x file -x select)
|
||||
SET_TESTS_PROPERTIES(testhdf5-base PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-base PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-heap COMMAND $<TARGET_FILE:testhdf5> -o heap)
|
||||
SET_TESTS_PROPERTIES(testhdf5-heap PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-heap PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-file COMMAND $<TARGET_FILE:testhdf5> -o file)
|
||||
SET_TESTS_PROPERTIES(testhdf5-file PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-file PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ADD_TEST (NAME testhdf5-select COMMAND $<TARGET_FILE:testhdf5> -o select)
|
||||
SET_TESTS_PROPERTIES(testhdf5-select PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
SET_TESTS_PROPERTIES(testhdf5-select PROPERTIES ENVIRONMENT HDF5_ALARM_SECONDS=3600)
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME testhdf5 COMMAND $<TARGET_FILE:testhdf5>)
|
||||
SET_TESTS_PROPERTIES(testhdf5 PROPERTIES DEPENDS h5test-clear-testhdf5-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST file)
|
||||
ADD_EXECUTABLE (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${file} " " " ")
|
||||
TARGET_LINK_LIBRARIES (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (${file} PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (NAME ${file} COMMAND $<TARGET_FILE:${file}>)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
dt_arith1.h5
|
||||
dt_arith2.h5
|
||||
dtransform.h5
|
||||
dtypes4.h5
|
||||
dtypes5.h5
|
||||
efc0.h5
|
||||
efc1.h5
|
||||
efc2.h5
|
||||
efc3.h5
|
||||
efc4.h5
|
||||
efc5.h5
|
||||
extlinks16A00000.h5
|
||||
extlinks16A00001.h5
|
||||
extlinks16A00002.h5
|
||||
extlinks16B-b.h5
|
||||
extlinks16B-g.h5
|
||||
extlinks16B-l.h5
|
||||
extlinks16B-r.h5
|
||||
extlinks16B-s.h5
|
||||
extlinks19B00000.h5
|
||||
extlinks19B00001.h5
|
||||
extlinks19B00002.h5
|
||||
extlinks19B00003.h5
|
||||
extlinks19B00004.h5
|
||||
extlinks19B00005.h5
|
||||
extlinks19B00006.h5
|
||||
extlinks19B00007.h5
|
||||
extlinks19B00008.h5
|
||||
extlinks19B00009.h5
|
||||
extlinks19B00010.h5
|
||||
extlinks19B00011.h5
|
||||
extlinks19B00012.h5
|
||||
extlinks19B00013.h5
|
||||
extlinks19B00014.h5
|
||||
extlinks19B00015.h5
|
||||
extlinks19B00016.h5
|
||||
extlinks19B00017.h5
|
||||
extlinks19B00018.h5
|
||||
extlinks19B00019.h5
|
||||
extlinks19B00020.h5
|
||||
extlinks19B00021.h5
|
||||
extlinks19B00022.h5
|
||||
extlinks19B00023.h5
|
||||
extlinks19B00024.h5
|
||||
extlinks19B00025.h5
|
||||
extlinks19B00026.h5
|
||||
extlinks19B00027.h5
|
||||
extlinks19B00028.h5
|
||||
fheap.h5
|
||||
new_multi_file_v16-r.h5
|
||||
new_multi_file_v16-s.h5
|
||||
objcopy_ext.dat
|
||||
testmeta.h5
|
||||
tstint1.h5
|
||||
tstint2.h5
|
||||
unregister_filter_1.h5
|
||||
unregister_filter_2.h5
|
||||
)
|
||||
|
||||
SET (H5_TESTS
|
||||
accum
|
||||
lheap
|
||||
ohdr
|
||||
stab
|
||||
gheap
|
||||
#cache
|
||||
#cache_api
|
||||
#cache_tagging
|
||||
pool
|
||||
hyperslab
|
||||
istore
|
||||
bittests
|
||||
dt_arith
|
||||
dtypes
|
||||
cmpd_dset
|
||||
filter_fail
|
||||
extend
|
||||
external
|
||||
efc
|
||||
objcopy
|
||||
links
|
||||
unlink
|
||||
big
|
||||
mtime
|
||||
fillval
|
||||
mount
|
||||
flush1
|
||||
flush2
|
||||
app_ref
|
||||
enum
|
||||
set_extent
|
||||
#ttsafe
|
||||
getname
|
||||
vfd
|
||||
ntypes
|
||||
dangle
|
||||
dtransform
|
||||
reserved
|
||||
cross_read
|
||||
freespace
|
||||
mf
|
||||
farray
|
||||
earray
|
||||
btree2
|
||||
fheap
|
||||
#error_test
|
||||
#err_compat
|
||||
tcheck_version
|
||||
testmeta
|
||||
#links_env
|
||||
file_image
|
||||
enc_dec_plist
|
||||
enc_dec_plist_with_endianess
|
||||
unregister
|
||||
)
|
||||
|
||||
FOREACH (test ${H5_TESTS})
|
||||
ADD_H5_TEST(${test})
|
||||
SET_TESTS_PROPERTIES(${test} PROPERTIES DEPENDS h5test-clear-objects)
|
||||
ENDFOREACH (test ${H5_TESTS})
|
||||
|
||||
SET_TESTS_PROPERTIES(flush2 PROPERTIES DEPENDS flush1)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### A D D I T I O N A L T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#-- Adding test for cache
|
||||
ADD_EXECUTABLE (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache PROPERTIES FOLDER test)
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache COMMAND $<TARGET_FILE:cache>)
|
||||
SET_TESTS_PROPERTIES(cache PROPERTIES DEPENDS h5test-clear-cache-objects)
|
||||
|
||||
#-- Adding test for cache_api
|
||||
ADD_EXECUTABLE (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_api ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_api " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache_api PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache_api-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
cache_api_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache_api COMMAND $<TARGET_FILE:cache_api>)
|
||||
SET_TESTS_PROPERTIES(cache_api PROPERTIES DEPENDS h5test-clear-cache_api-objects)
|
||||
|
||||
#-- Adding test for cache_tagging
|
||||
ADD_EXECUTABLE (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
|
||||
TARGET_NAMING (cache_tagging ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (cache_tagging " " " ")
|
||||
TARGET_LINK_LIBRARIES (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (cache_tagging PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-cache_tagging-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tagging_test.h5
|
||||
tagging_ext_test.h5
|
||||
)
|
||||
ADD_TEST (NAME cache_tagging COMMAND $<TARGET_FILE:cache_tagging>)
|
||||
SET_TESTS_PROPERTIES(cache_tagging PROPERTIES DEPENDS h5test-clear-cache_tagging-objects)
|
||||
|
||||
#-- 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
|
||||
)
|
||||
TARGET_NAMING (ttsafe ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ttsafe " " " ")
|
||||
TARGET_LINK_LIBRARIES (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (ttsafe PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-ttsafe-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
ttsafe_error.h5
|
||||
ttsafe_dcreate.h5
|
||||
ttsafe_cancel.h5
|
||||
ttsafe_acreate.h5
|
||||
)
|
||||
ADD_TEST (NAME ttsafe COMMAND $<TARGET_FILE:ttsafe>)
|
||||
SET_TESTS_PROPERTIES(ttsafe PROPERTIES DEPENDS h5test-clear-ttsafe-objects)
|
||||
|
||||
#-- Adding test for err_compat
|
||||
IF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
ADD_EXECUTABLE (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
|
||||
TARGET_NAMING (err_compat ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (err_compat " " " ")
|
||||
TARGET_LINK_LIBRARIES (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (err_compat PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-err_compat-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
err_compat.txt
|
||||
err_compat.txt.err
|
||||
)
|
||||
ADD_TEST (NAME err_compat COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:err_compat>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=err_compat.txt"
|
||||
-D "TEST_REFERENCE=err_compat_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(err_compat PROPERTIES DEPENDS h5test-clear-err_compat-objects)
|
||||
ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
|
||||
|
||||
#-- Adding test for error_test
|
||||
ADD_EXECUTABLE (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
|
||||
TARGET_NAMING (error_test ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (error_test " " " ")
|
||||
TARGET_LINK_LIBRARIES (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (error_test PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-error_test-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
error_test.txt
|
||||
error_test.txt.err
|
||||
)
|
||||
ADD_TEST (NAME error_test COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:error_test>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_MASK_ERROR=true"
|
||||
-D "TEST_OUTPUT=error_test.txt"
|
||||
-D "TEST_REFERENCE=error_test_1"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(error_test PROPERTIES DEPENDS h5test-clear-error_test-objects)
|
||||
SET_TESTS_PROPERTIES (error_test PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PRELOAD=::")
|
||||
|
||||
#-- Adding test for links_env
|
||||
ADD_EXECUTABLE (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
|
||||
TARGET_NAMING (links_env ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (links_env " " " ")
|
||||
TARGET_LINK_LIBRARIES (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (links_env PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (
|
||||
NAME h5test-clear-links_env-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
links_env.txt
|
||||
links_env.txt.err
|
||||
extlinks_env0.h5
|
||||
extlinks_env1.h5
|
||||
tmp/extlinks_env1.h5
|
||||
)
|
||||
ADD_TEST (NAME links_env COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:links_env>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
|
||||
-D "TEST_ENV_VALUE:STRING=.:tmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OUTPUT=links_env.txt"
|
||||
-D "TEST_REFERENCE=links_env.out"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(links_env PROPERTIES DEPENDS h5test-clear-links_env-objects)
|
||||
|
||||
#-- 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 (\${TEST_RESULT} STREQUAL \"0\")
|
||||
MESSAGE (STATUS \"COMMAND Result: \${TEST_RESULT}\")
|
||||
ENDIF (\${TEST_RESULT} STREQUAL \"0\")
|
||||
"
|
||||
)
|
||||
|
||||
ADD_TEST (NAME testlibinfo COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIB_TARGET}>" -P "${GREP_RUNNER}")
|
||||
|
||||
##############################################################################
|
||||
### P L U G I N T E S T S
|
||||
##############################################################################
|
||||
IF (BUILD_SHARED_LIBS)
|
||||
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
SET(CMAKE_SEP "\;")
|
||||
ELSE (WIN32 AND NOT CYGWIN)
|
||||
SET(CMAKE_SEP ":")
|
||||
ENDIF(WIN32 AND NOT CYGWIN)
|
||||
|
||||
ADD_EXECUTABLE (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
|
||||
TARGET_NAMING (plugin ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (plugin " " " ")
|
||||
TARGET_LINK_LIBRARIES (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (plugin PROPERTIES FOLDER test)
|
||||
|
||||
ADD_TEST (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
|
||||
SET_TESTS_PROPERTIES (H5PLUGIN-plugin PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2")
|
||||
ELSE (BUILD_SHARED_LIBS)
|
||||
MESSAGE (STATUS " **** Plugins libraries must be built as shared libraries **** ")
|
||||
ADD_TEST (
|
||||
NAME H5PLUGIN-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
|
||||
)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### V F D T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
SET (H5_VFD_TESTS
|
||||
testhdf5
|
||||
accum
|
||||
lheap
|
||||
ohdr
|
||||
stab
|
||||
gheap
|
||||
cache
|
||||
cache_api
|
||||
cache_tagging
|
||||
pool
|
||||
hyperslab
|
||||
istore
|
||||
bittests
|
||||
dt_arith
|
||||
dtypes
|
||||
cmpd_dset
|
||||
filter_fail
|
||||
extend
|
||||
external
|
||||
efc
|
||||
objcopy
|
||||
links
|
||||
unlink
|
||||
big
|
||||
mtime
|
||||
fillval
|
||||
mount
|
||||
flush1
|
||||
flush2
|
||||
app_ref
|
||||
enum
|
||||
set_extent
|
||||
ttsafe
|
||||
getname
|
||||
vfd
|
||||
ntypes
|
||||
dangle
|
||||
dtransform
|
||||
reserved
|
||||
cross_read
|
||||
freespace
|
||||
mf
|
||||
farray
|
||||
earray
|
||||
btree2
|
||||
#fheap
|
||||
error_test
|
||||
err_compat
|
||||
tcheck_version
|
||||
testmeta
|
||||
links_env
|
||||
unregister
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
FOREACH (test ${H5_VFD_TESTS})
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDFOREACH (test ${H5_VFD_TESTS})
|
||||
IF (HDF5_TEST_FHEAP_VFD)
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-fheap
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=fheap"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDIF (HDF5_TEST_FHEAP_VFD)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E G E N E R A T O R S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
MACRO (ADD_H5_GENERATOR genfile)
|
||||
ADD_EXECUTABLE (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
|
||||
TARGET_NAMING (${genfile} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${genfile} " " " ")
|
||||
TARGET_LINK_LIBRARIES (${genfile} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (${genfile} PROPERTIES FOLDER generator/test)
|
||||
ENDMACRO (ADD_H5_GENERATOR genfile)
|
||||
|
||||
# generator executables
|
||||
SET (H5_GENERATORS
|
||||
gen_bad_ohdr
|
||||
gen_bogus
|
||||
gen_cross
|
||||
gen_deflate
|
||||
gen_filters
|
||||
gen_new_array
|
||||
gen_new_fill
|
||||
gen_new_group
|
||||
gen_new_mtime
|
||||
gen_new_super
|
||||
gen_noencoder
|
||||
gen_nullspace
|
||||
gen_udlinks
|
||||
space_overflow
|
||||
gen_filespace
|
||||
gen_specmetaread
|
||||
gen_sizes_lheap
|
||||
gen_file_image
|
||||
gen_plist
|
||||
)
|
||||
|
||||
FOREACH (gen ${H5_GENERATORS})
|
||||
ADD_H5_GENERATOR (${gen})
|
||||
ENDFOREACH (gen ${H5_GENERATORS})
|
||||
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
@ -33,17 +33,13 @@ TARGET_C_PROPERTIES (testphdf5 " " " ")
|
||||
TARGET_LINK_LIBRARIES (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
SET_TARGET_PROPERTIES (testphdf5 PROPERTIES FOLDER test/par)
|
||||
|
||||
ADD_TEST (NAME TEST_PAR_testphdf5 COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:testphdf5>)
|
||||
|
||||
MACRO (ADD_H5P_TEST file)
|
||||
MACRO (ADD_H5P_EXE file)
|
||||
ADD_EXECUTABLE (${file} ${HDF5_TEST_PAR_SOURCE_DIR}/${file}.c)
|
||||
TARGET_NAMING (${file} ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (${file} " " " ")
|
||||
TARGET_LINK_LIBRARIES (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
SET_TARGET_PROPERTIES (${file} PROPERTIES FOLDER test/par)
|
||||
|
||||
ADD_TEST (NAME TEST_PAR_${file} COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:${file}>)
|
||||
ENDMACRO (ADD_H5P_TEST file)
|
||||
ENDMACRO (ADD_H5P_EXE file)
|
||||
|
||||
SET (H5P_TESTS
|
||||
t_mpi
|
||||
@ -55,56 +51,11 @@ SET (H5P_TESTS
|
||||
)
|
||||
|
||||
FOREACH (testp ${H5P_TESTS})
|
||||
ADD_H5P_TEST(${testp})
|
||||
ADD_H5P_EXE(${testp})
|
||||
ENDFOREACH (testp ${H5P_TESTS})
|
||||
|
||||
SET_TESTS_PROPERTIES(TEST_PAR_t_pflush2 PROPERTIES DEPENDS TEST_PAR_t_pflush1)
|
||||
|
||||
IF (NOT WIN32)
|
||||
ADD_H5P_TEST(t_posix_compliant)
|
||||
ADD_H5P_EXE(t_posix_compliant)
|
||||
ENDIF (NOT WIN32)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
SET (H5P_VFD_TESTS
|
||||
t_pflush1
|
||||
t_pflush2
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
FOREACH (test ${H5P_VFD_TESTS})
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDFOREACH (test ${H5P_VFD_TESTS})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
63
testpar/CMakeTests.cmake
Normal file
63
testpar/CMakeTests.cmake
Normal file
@ -0,0 +1,63 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
ADD_TEST (NAME TEST_PAR_testphdf5 COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:testphdf5>)
|
||||
|
||||
FOREACH (testp ${H5P_TESTS})
|
||||
ADD_TEST (NAME TEST_PAR_${testp} COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:${testp}>)
|
||||
ENDFOREACH (testp ${H5P_TESTS})
|
||||
|
||||
SET_TESTS_PROPERTIES(TEST_PAR_t_pflush2 PROPERTIES DEPENDS TEST_PAR_t_pflush1)
|
||||
|
||||
IF (NOT WIN32)
|
||||
ADD_TEST (NAME TEST_PAR_t_posix_compliant COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:t_posix_compliant>)
|
||||
ENDIF (NOT WIN32)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
SET (H5P_VFD_TESTS
|
||||
t_pflush1
|
||||
t_pflush2
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
FOREACH (test ${H5P_VFD_TESTS})
|
||||
ADD_TEST (
|
||||
NAME VFD-${vfdname}-${test}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=${test}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
ENDFOREACH (test ${H5P_VFD_TESTS})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
|
||||
ENDIF (HDF5_TEST_VFD)
|
@ -17,12 +17,6 @@ SET_TARGET_PROPERTIES (h5copy PROPERTIES FOLDER tools)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES h5copy)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
IF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
ADD_EXECUTABLE (h5copygentest ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copygentest.c)
|
||||
@ -33,381 +27,8 @@ IF (BUILD_TESTING)
|
||||
|
||||
#ADD_TEST (NAME h5copygentest COMMAND $<TARGET_FILE:h5copygentest>)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_extlinks_src.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_extlinks_trg.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_ref.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copytst.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_misc1.out
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
FOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${listfiles}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${listfiles}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5copy
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${listfiles} ${dest}
|
||||
)
|
||||
ENDFOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# Perform h5copy according to passing parmeters
|
||||
#
|
||||
MACRO (ADD_H5_F_TEST testname resultcode infile fparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -f ${fparam} -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname} PROPERTIES DEPENDS H5COPY_F-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY_F-${testname}-DIFF PROPERTIES DEPENDS H5COPY_F-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_F_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST testname resultcode infile vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS H5COPY-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY-${testname}-DIFF PROPERTIES DEPENDS H5COPY-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST2 testname resultcode infile psparam pdparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-prefill
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 -v -s ${psparam} -d ${pdparam}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-prefill PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-prefill PROPERTIES DEPENDS H5COPY-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS H5COPY-${testname}-prefill)
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY-${testname}-DIFF PROPERTIES DEPENDS H5COPY-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST2)
|
||||
|
||||
MACRO (ADD_H5_TEST_SAME testname resultcode pfile psparam pdparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-prefill
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${pfile} -o ./testfiles/${testname}.out.h5 -v -s ${psparam} -d ${pdparam}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-prefill PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-prefill PROPERTIES DEPENDS H5COPY_SAME-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${testname}.out.h5 -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname} PROPERTIES DEPENDS H5COPY_SAME-${testname}-prefill)
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${testname}.out.h5 ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY_SAME-${testname}-DIFF PROPERTIES DEPENDS H5COPY_SAME-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST_SAME)
|
||||
|
||||
#
|
||||
# Similiar to ADD_H5_TEST macro. Compare to outputs from source & target
|
||||
# files instead of checking with h5ls.
|
||||
#
|
||||
MACRO (ADD_H5_CMP_TEST testname resultcode infile vparam sparam srcname dparam dstname)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5COPY-CMP-${testname} COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-CMP-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
./testfiles/${testname}.out.out
|
||||
./testfiles/${testname}.out.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5COPY-CMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5copy>"
|
||||
-D "TEST_ARGS=-i;./testfiles/${infile};-o;./testfiles/${testname}.out.h5;${vparam};${sparam};${srcname};${dparam};${dstname}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testname}.out.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=./testfiles/${testname}.out"
|
||||
-D "TEST_MASK=true"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES DEPENDS H5COPY-CMP-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_CMP_TEST)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# test file names
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF_FILE1 h5copytst)
|
||||
SET (HDF_FILE2 h5copy_ref)
|
||||
SET (HDF_EXT_SRC_FILE h5copy_extlinks_src)
|
||||
SET (HDF_EXT_TRG_FILE h5copy_extlinks_trg)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
simple.out.h5
|
||||
chunk.out.h5
|
||||
compact.out.h5
|
||||
compound.out.h5
|
||||
compressed.out.h5
|
||||
named_vl.out.h5
|
||||
nested_vl.out.h5
|
||||
simple_top.out.h5
|
||||
dsrename.out.h5
|
||||
grp_empty.out.h5
|
||||
grp_dsets.out.h5
|
||||
grp_nested.out.h5
|
||||
simple_group.out.h5
|
||||
grp_rename.out.h5
|
||||
grp_dsets_rename.out.h5
|
||||
A_B1_simple.out.h5
|
||||
A_B2_simple2.out.h5
|
||||
C_D_simple.out.h5
|
||||
E_F_grp_dsets.out.h5
|
||||
G_H_grp_nested.out.h5
|
||||
region_ref.out.h5
|
||||
ext_link.out.h5
|
||||
ext_link_f.out.h5
|
||||
ext_dangle_noobj.out.h5
|
||||
ext_dangle_noobj_f.out.h5
|
||||
ext_dangle_nofile.out.h5
|
||||
ext_dangle_nofile_f.out.h5
|
||||
ext_link_group.out.h5
|
||||
ext_link_group_f.out.h5
|
||||
samefile1.out.h5
|
||||
samefile2.out.h5
|
||||
h5copy_misc1.out.h5
|
||||
h5copy_misc1.out.out
|
||||
h5copy_misc1.out.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5COPY-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# "Test copying various forms of datasets"
|
||||
ADD_H5_TEST (simple 0 ${HDF_FILE1}.h5 -v -s simple -d simple)
|
||||
ADD_H5_TEST (chunk 0 ${HDF_FILE1}.h5 -v -s chunk -d chunk)
|
||||
ADD_H5_TEST (compact 0 ${HDF_FILE1}.h5 -v -s compact -d compact)
|
||||
ADD_H5_TEST (compound 0 ${HDF_FILE1}.h5 -v -s compound -d compound)
|
||||
ADD_H5_TEST (compressed 0 ${HDF_FILE1}.h5 -v -s compressed -d compressed)
|
||||
ADD_H5_TEST (named_vl 0 ${HDF_FILE1}.h5 -v -s named_vl -d named_vl)
|
||||
ADD_H5_TEST (nested_vl 0 ${HDF_FILE1}.h5 -v -s nested_vl -d nested_vl)
|
||||
|
||||
# "Test copying dataset within group in source file to root of destination"
|
||||
ADD_H5_TEST (simple_top 0 ${HDF_FILE1}.h5 -v -s grp_dsets/simple -d simple_top)
|
||||
|
||||
# "Test copying & renaming dataset"
|
||||
ADD_H5_TEST (dsrename 0 ${HDF_FILE1}.h5 -v -s compound -d rename)
|
||||
|
||||
# "Test copying empty, 'full' & 'nested' groups"
|
||||
ADD_H5_TEST (grp_empty 0 ${HDF_FILE1}.h5 -v -s grp_empty -d grp_empty)
|
||||
ADD_H5_TEST (grp_dsets 0 ${HDF_FILE1}.h5 -v -s grp_dsets -d grp_dsets)
|
||||
ADD_H5_TEST (grp_nested 0 ${HDF_FILE1}.h5 -v -s grp_nested -d grp_nested)
|
||||
|
||||
# "Test copying dataset within group in source file to group in destination"
|
||||
ADD_H5_TEST2 (simple_group 0 ${HDF_FILE1}.h5 grp_dsets grp_dsets -v -s /grp_dsets/simple -d /grp_dsets/simple_group)
|
||||
|
||||
# "Test copying & renaming group"
|
||||
ADD_H5_TEST (grp_rename 0 ${HDF_FILE1}.h5 -v -s grp_dsets -d grp_rename)
|
||||
|
||||
# "Test copying 'full' group hierarchy into group in destination file"
|
||||
ADD_H5_TEST2 (grp_dsets_rename 0 ${HDF_FILE1}.h5 grp_dsets grp_rename -v -s grp_dsets -d /grp_rename/grp_dsets)
|
||||
|
||||
# "Test copying objects into group hier. that doesn't exist yet in destination file"
|
||||
ADD_H5_TEST (A_B1_simple 0 ${HDF_FILE1}.h5 -vp -s simple -d /A/B1/simple)
|
||||
ADD_H5_TEST (A_B2_simple2 0 ${HDF_FILE1}.h5 -vp -s simple -d /A/B2/simple2)
|
||||
ADD_H5_TEST (C_D_simple 0 ${HDF_FILE1}.h5 -vp -s /grp_dsets/simple -d /C/D/simple)
|
||||
ADD_H5_TEST (E_F_grp_dsets 0 ${HDF_FILE1}.h5 -vp -s /grp_dsets -d /E/F/grp_dsets)
|
||||
ADD_H5_TEST (G_H_grp_nested 0 ${HDF_FILE1}.h5 -vp -s /grp_nested -d /G/H/grp_nested)
|
||||
|
||||
############# COPY REFERENCES ##############
|
||||
|
||||
# "Test copying object and region references"
|
||||
ADD_H5_F_TEST (region_ref 2 ${HDF_FILE2}.h5 ref -v -s / -d /COPY)
|
||||
|
||||
############# COPY EXT LINKS ##############
|
||||
|
||||
# "Test copying external link directly without -f ext"
|
||||
ADD_H5_TEST (ext_link 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_dset -d /copy1_dset)
|
||||
|
||||
# "Test copying external link directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_link_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_dset -d /copy2_dset)
|
||||
|
||||
# "Test copying dangling external link (no obj) directly without -f ext"
|
||||
ADD_H5_TEST (ext_dangle_noobj 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_notyet1 -d /copy_dangle1_1)
|
||||
|
||||
# "Test copying dangling external link (no obj) directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_dangle_noobj_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_notyet1 -d /copy_dangle1_2)
|
||||
|
||||
# "Test copying dangling external link (no file) directly without -f ext"
|
||||
ADD_H5_TEST (ext_dangle_nofile 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_notyet2 -d /copy_dangle2_1)
|
||||
|
||||
# "Test copying dangling external link (no file) directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_dangle_nofile_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_notyet2 -d /copy_dangle2_2)
|
||||
|
||||
# "Test copying a group contains external links without -f ext"
|
||||
ADD_H5_TEST (ext_link_group 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext -d /copy1_group)
|
||||
|
||||
# "Test copying a group contains external links with -f ext"
|
||||
ADD_H5_F_TEST (ext_link_group_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext -d /copy2_group)
|
||||
|
||||
############# Test misc. ##############
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# "Test copying object into group which doesn't exist, without -p"
|
||||
#
|
||||
ADD_H5_CMP_TEST (h5copy_misc1 1 ${HDF_FILE1}.h5 -v -s /simple -d /g1/g2/simple)
|
||||
|
||||
#-------------------------------------------
|
||||
# "Test copying objects to the same file "
|
||||
#
|
||||
# - dataset
|
||||
ADD_H5_TEST_SAME (samefile1 0 ${HDF_FILE1}.h5 /simple /simple -v -s /simple -d /simple_cp)
|
||||
# - group with some datasets
|
||||
ADD_H5_TEST_SAME (samefile2 0 ${HDF_FILE1}.h5 /grp_dsets /grp_dsets -v -s /grp_dsets -d /grp_dsets_cp)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
##############################################################################
|
||||
|
381
tools/h5copy/CMakeTests.cmake
Normal file
381
tools/h5copy/CMakeTests.cmake
Normal file
@ -0,0 +1,381 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_extlinks_src.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_extlinks_trg.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_ref.h5
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copytst.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_H5COPY_SOURCE_DIR}/testfiles/h5copy_misc1.out
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
FOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${listfiles}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${listfiles}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5copy
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${listfiles} ${dest}
|
||||
)
|
||||
ENDFOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# Perform h5copy according to passing parmeters
|
||||
#
|
||||
MACRO (ADD_H5_F_TEST testname resultcode infile fparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -f ${fparam} -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname} PROPERTIES DEPENDS H5COPY_F-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY_F-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY_F-${testname}-DIFF PROPERTIES DEPENDS H5COPY_F-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY_F-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_F_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST testname resultcode infile vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS H5COPY-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY-${testname}-DIFF PROPERTIES DEPENDS H5COPY-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST2 testname resultcode infile psparam pdparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-prefill
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 -v -s ${psparam} -d ${pdparam}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-prefill PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-prefill PROPERTIES DEPENDS H5COPY-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname} PROPERTIES DEPENDS H5COPY-${testname}-prefill)
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${infile} ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY-${testname}-DIFF PROPERTIES DEPENDS H5COPY-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST2)
|
||||
|
||||
MACRO (ADD_H5_TEST_SAME testname resultcode pfile psparam pdparam vparam sparam srcname dparam dstname)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-prefill
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${pfile} -o ./testfiles/${testname}.out.h5 -v -s ${psparam} -d ${pdparam}
|
||||
)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-prefill PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-prefill PROPERTIES DEPENDS H5COPY_SAME-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}
|
||||
COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${testname}.out.h5 -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname} PROPERTIES DEPENDS H5COPY_SAME-${testname}-prefill)
|
||||
# resultcode=2 will cause the test to skip the diff test
|
||||
IF (NOT ${resultcode} STREQUAL "2")
|
||||
ADD_TEST (
|
||||
NAME H5COPY_SAME-${testname}-DIFF
|
||||
COMMAND $<TARGET_FILE:h5diff> -q ./testfiles/${testname}.out.h5 ./testfiles/${testname}.out.h5 ${srcname} ${dstname}
|
||||
)
|
||||
SET_TESTS_PROPERTIES(H5COPY_SAME-${testname}-DIFF PROPERTIES DEPENDS H5COPY_SAME-${testname})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY_SAME-${testname}-DIFF PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "2")
|
||||
ENDMACRO (ADD_H5_TEST_SAME)
|
||||
|
||||
#
|
||||
# Similiar to ADD_H5_TEST macro. Compare to outputs from source & target
|
||||
# files instead of checking with h5ls.
|
||||
#
|
||||
MACRO (ADD_H5_CMP_TEST testname resultcode infile vparam sparam srcname dparam dstname)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5COPY-CMP-${testname} COMMAND $<TARGET_FILE:h5copy> -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN})
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-CMP-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/${testname}.out.h5
|
||||
./testfiles/${testname}.out.out
|
||||
./testfiles/${testname}.out.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5COPY-CMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5copy>"
|
||||
-D "TEST_ARGS=-i;./testfiles/${infile};-o;./testfiles/${testname}.out.h5;${vparam};${sparam};${srcname};${dparam};${dstname}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testname}.out.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=./testfiles/${testname}.out"
|
||||
-D "TEST_MASK=true"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-CMP-${testname} PROPERTIES DEPENDS H5COPY-CMP-${testname}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_CMP_TEST)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# test file names
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF_FILE1 h5copytst)
|
||||
SET (HDF_FILE2 h5copy_ref)
|
||||
SET (HDF_EXT_SRC_FILE h5copy_extlinks_src)
|
||||
SET (HDF_EXT_TRG_FILE h5copy_extlinks_trg)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5COPY-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
simple.out.h5
|
||||
chunk.out.h5
|
||||
compact.out.h5
|
||||
compound.out.h5
|
||||
compressed.out.h5
|
||||
named_vl.out.h5
|
||||
nested_vl.out.h5
|
||||
simple_top.out.h5
|
||||
dsrename.out.h5
|
||||
grp_empty.out.h5
|
||||
grp_dsets.out.h5
|
||||
grp_nested.out.h5
|
||||
simple_group.out.h5
|
||||
grp_rename.out.h5
|
||||
grp_dsets_rename.out.h5
|
||||
A_B1_simple.out.h5
|
||||
A_B2_simple2.out.h5
|
||||
C_D_simple.out.h5
|
||||
E_F_grp_dsets.out.h5
|
||||
G_H_grp_nested.out.h5
|
||||
region_ref.out.h5
|
||||
ext_link.out.h5
|
||||
ext_link_f.out.h5
|
||||
ext_dangle_noobj.out.h5
|
||||
ext_dangle_noobj_f.out.h5
|
||||
ext_dangle_nofile.out.h5
|
||||
ext_dangle_nofile_f.out.h5
|
||||
ext_link_group.out.h5
|
||||
ext_link_group_f.out.h5
|
||||
samefile1.out.h5
|
||||
samefile2.out.h5
|
||||
h5copy_misc1.out.h5
|
||||
h5copy_misc1.out.out
|
||||
h5copy_misc1.out.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5COPY-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5COPY-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5COPY-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# "Test copying various forms of datasets"
|
||||
ADD_H5_TEST (simple 0 ${HDF_FILE1}.h5 -v -s simple -d simple)
|
||||
ADD_H5_TEST (chunk 0 ${HDF_FILE1}.h5 -v -s chunk -d chunk)
|
||||
ADD_H5_TEST (compact 0 ${HDF_FILE1}.h5 -v -s compact -d compact)
|
||||
ADD_H5_TEST (compound 0 ${HDF_FILE1}.h5 -v -s compound -d compound)
|
||||
ADD_H5_TEST (compressed 0 ${HDF_FILE1}.h5 -v -s compressed -d compressed)
|
||||
ADD_H5_TEST (named_vl 0 ${HDF_FILE1}.h5 -v -s named_vl -d named_vl)
|
||||
ADD_H5_TEST (nested_vl 0 ${HDF_FILE1}.h5 -v -s nested_vl -d nested_vl)
|
||||
|
||||
# "Test copying dataset within group in source file to root of destination"
|
||||
ADD_H5_TEST (simple_top 0 ${HDF_FILE1}.h5 -v -s grp_dsets/simple -d simple_top)
|
||||
|
||||
# "Test copying & renaming dataset"
|
||||
ADD_H5_TEST (dsrename 0 ${HDF_FILE1}.h5 -v -s compound -d rename)
|
||||
|
||||
# "Test copying empty, 'full' & 'nested' groups"
|
||||
ADD_H5_TEST (grp_empty 0 ${HDF_FILE1}.h5 -v -s grp_empty -d grp_empty)
|
||||
ADD_H5_TEST (grp_dsets 0 ${HDF_FILE1}.h5 -v -s grp_dsets -d grp_dsets)
|
||||
ADD_H5_TEST (grp_nested 0 ${HDF_FILE1}.h5 -v -s grp_nested -d grp_nested)
|
||||
|
||||
# "Test copying dataset within group in source file to group in destination"
|
||||
ADD_H5_TEST2 (simple_group 0 ${HDF_FILE1}.h5 grp_dsets grp_dsets -v -s /grp_dsets/simple -d /grp_dsets/simple_group)
|
||||
|
||||
# "Test copying & renaming group"
|
||||
ADD_H5_TEST (grp_rename 0 ${HDF_FILE1}.h5 -v -s grp_dsets -d grp_rename)
|
||||
|
||||
# "Test copying 'full' group hierarchy into group in destination file"
|
||||
ADD_H5_TEST2 (grp_dsets_rename 0 ${HDF_FILE1}.h5 grp_dsets grp_rename -v -s grp_dsets -d /grp_rename/grp_dsets)
|
||||
|
||||
# "Test copying objects into group hier. that doesn't exist yet in destination file"
|
||||
ADD_H5_TEST (A_B1_simple 0 ${HDF_FILE1}.h5 -vp -s simple -d /A/B1/simple)
|
||||
ADD_H5_TEST (A_B2_simple2 0 ${HDF_FILE1}.h5 -vp -s simple -d /A/B2/simple2)
|
||||
ADD_H5_TEST (C_D_simple 0 ${HDF_FILE1}.h5 -vp -s /grp_dsets/simple -d /C/D/simple)
|
||||
ADD_H5_TEST (E_F_grp_dsets 0 ${HDF_FILE1}.h5 -vp -s /grp_dsets -d /E/F/grp_dsets)
|
||||
ADD_H5_TEST (G_H_grp_nested 0 ${HDF_FILE1}.h5 -vp -s /grp_nested -d /G/H/grp_nested)
|
||||
|
||||
############# COPY REFERENCES ##############
|
||||
|
||||
# "Test copying object and region references"
|
||||
ADD_H5_F_TEST (region_ref 2 ${HDF_FILE2}.h5 ref -v -s / -d /COPY)
|
||||
|
||||
############# COPY EXT LINKS ##############
|
||||
|
||||
# "Test copying external link directly without -f ext"
|
||||
ADD_H5_TEST (ext_link 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_dset -d /copy1_dset)
|
||||
|
||||
# "Test copying external link directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_link_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_dset -d /copy2_dset)
|
||||
|
||||
# "Test copying dangling external link (no obj) directly without -f ext"
|
||||
ADD_H5_TEST (ext_dangle_noobj 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_notyet1 -d /copy_dangle1_1)
|
||||
|
||||
# "Test copying dangling external link (no obj) directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_dangle_noobj_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_notyet1 -d /copy_dangle1_2)
|
||||
|
||||
# "Test copying dangling external link (no file) directly without -f ext"
|
||||
ADD_H5_TEST (ext_dangle_nofile 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext/extlink_notyet2 -d /copy_dangle2_1)
|
||||
|
||||
# "Test copying dangling external link (no file) directly with -f ext"
|
||||
ADD_H5_F_TEST (ext_dangle_nofile_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext/extlink_notyet2 -d /copy_dangle2_2)
|
||||
|
||||
# "Test copying a group contains external links without -f ext"
|
||||
ADD_H5_TEST (ext_link_group 2 ${HDF_EXT_SRC_FILE}.h5 -v -s /group_ext -d /copy1_group)
|
||||
|
||||
# "Test copying a group contains external links with -f ext"
|
||||
ADD_H5_F_TEST (ext_link_group_f 2 ${HDF_EXT_SRC_FILE}.h5 ext -v -s /group_ext -d /copy2_group)
|
||||
|
||||
############# Test misc. ##############
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# "Test copying object into group which doesn't exist, without -p"
|
||||
#
|
||||
ADD_H5_CMP_TEST (h5copy_misc1 1 ${HDF_FILE1}.h5 -v -s /simple -d /g1/g2/simple)
|
||||
|
||||
#-------------------------------------------
|
||||
# "Test copying objects to the same file "
|
||||
#
|
||||
# - dataset
|
||||
ADD_H5_TEST_SAME (samefile1 0 ${HDF_FILE1}.h5 /simple /simple -v -s /simple -d /simple_cp)
|
||||
# - group with some datasets
|
||||
ADD_H5_TEST_SAME (samefile2 0 ${HDF_FILE1}.h5 /grp_dsets /grp_dsets -v -s /grp_dsets -d /grp_dsets_cp)
|
File diff suppressed because it is too large
Load Diff
1382
tools/h5diff/CMakeTests.cmake
Normal file
1382
tools/h5diff/CMakeTests.cmake
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1367
tools/h5dump/CMakeTests.cmake
Normal file
1367
tools/h5dump/CMakeTests.cmake
Normal file
File diff suppressed because it is too large
Load Diff
367
tools/h5dump/CMakeTestsPBITS.cmake
Normal file
367
tools/h5dump/CMakeTestsPBITS.cmake
Normal file
@ -0,0 +1,367 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Packed Bits
|
||||
# --------------------------------------------------------------------
|
||||
#-- Copy all the HDF5 files from the test directory into the source directory
|
||||
SET (HDF5_REFERENCE_PBITS
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnofilename-with-packed-bits.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsArray.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCompound.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIncomplete.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLengthExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCharLengthExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIntLengthExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLongLengthExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLengthPositive.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsMax.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsMaxExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOffsetExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCharOffsetExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIntOffsetExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLongOffsetExceeded.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOffsetNegative.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOverlapped.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedIntWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedIntWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole1.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole1.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole63.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole63.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned4.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned4.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt8.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt8.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong16.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong16.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong32.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong32.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned2.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned2.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt4.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt4.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong8.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong8.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong16.ddl
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong16.ddl
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_PBITS
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/packedbits.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
|
||||
)
|
||||
SET (HDF5_ERROR_REFERENCE_PBITS
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tnofilename-with-packed-bits.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsCharLengthExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsCharOffsetExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsIncomplete.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsIntLengthExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsIntOffsetExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsLengthExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsLengthPositive.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsLongLengthExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsLongOffsetExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsMaxExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsOffsetExceeded.err
|
||||
${PROJECT_SOURCE_DIR}/errfiles/tpbitsOffsetNegative.err
|
||||
)
|
||||
|
||||
FOREACH (pbits_h5_file ${HDF5_REFERENCE_TEST_PBITS})
|
||||
GET_FILENAME_COMPONENT(fname "${pbits_h5_file}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/pbits/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${pbits_h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${pbits_h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (pbits_h5_file ${HDF5_REFERENCE_TEST_PBITS})
|
||||
|
||||
|
||||
FOREACH (ddl_pbits ${HDF5_REFERENCE_PBITS})
|
||||
GET_FILENAME_COMPONENT(fname "${ddl_pbits}" NAME)
|
||||
SET (ddldest "${PROJECT_BINARY_DIR}/testfiles/pbits/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${ddl_pbits}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${ddl_pbits} ${ddldest}
|
||||
)
|
||||
ENDFOREACH (ddl_pbits ${HDF5_REFERENCE_PBITS})
|
||||
|
||||
FOREACH (ddl_pbits ${HDF5_ERROR_REFERENCE_PBITS})
|
||||
GET_FILENAME_COMPONENT(fname "${ddl_pbits}" NAME)
|
||||
SET (ddldest "${PROJECT_BINARY_DIR}/testfiles/pbits/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${ddl_pbits}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${ddl_pbits} ${ddldest}
|
||||
)
|
||||
ENDFOREACH (ddl_pbits ${HDF5_ERROR_REFERENCE_PBITS})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_PBITS_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5DUMP-${resultfile} COMMAND $<TARGET_FILE:h5dump> ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/pbits")
|
||||
IF (NOT ${resultcode} STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "0")
|
||||
IF (NOT "${last_pbits_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES DEPENDS ${last_pbits_test})
|
||||
ENDIF (NOT "${last_pbits_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ${resultfile}.out ${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/pbits")
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles/pbits"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.ddl"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES DEPENDS "H5DUMP-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_PBITS_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S HDF5_ENABLE_USING_MEMCHECKER ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5DUMP_PACKED_BITS-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tnofilename-with-packed-bits.out
|
||||
tnofilename-with-packed-bits.out.err
|
||||
tpbitsArray.out
|
||||
tpbitsArray.out.err
|
||||
tpbitsCompound.out
|
||||
tpbitsCompound.out.err
|
||||
tpbitsIncomplete.out
|
||||
tpbitsIncomplete.out.err
|
||||
tpbitsLengthExceeded.out
|
||||
tpbitsLengthExceeded.out.err
|
||||
tpbitsCharLengthExceeded.out
|
||||
tpbitsCharLengthExceeded.out.err
|
||||
tpbitsIntLengthExceeded.out
|
||||
tpbitsIntLengthExceeded.out.err
|
||||
tpbitsLongLengthExceeded.out
|
||||
tpbitsLongLengthExceeded.out.err
|
||||
tpbitsLengthPositive.out
|
||||
tpbitsLengthPositive.out.err
|
||||
tpbitsMax.out
|
||||
tpbitsMax.out.err
|
||||
tpbitsMaxExceeded.out
|
||||
tpbitsMaxExceeded.out.err
|
||||
tpbitsOffsetExceeded.out
|
||||
tpbitsOffsetExceeded.out.err
|
||||
tpbitsCharOffsetExceeded.out
|
||||
tpbitsCharOffsetExceeded.out.err
|
||||
tpbitsIntOffsetExceeded.out
|
||||
tpbitsIntOffsetExceeded.out.err
|
||||
tpbitsLongOffsetExceeded.out
|
||||
tpbitsLongOffsetExceeded.out.err
|
||||
tpbitsOffsetNegative.out
|
||||
tpbitsOffsetNegative.out.err
|
||||
tpbitsOverlapped.out
|
||||
tpbitsOverlapped.out.err
|
||||
tpbitsSigned.out
|
||||
tpbitsSigned.out.err
|
||||
tpbitsUnsigned.out
|
||||
tpbitsUnsigned.out.err
|
||||
tpbitsSignedInt.out
|
||||
tpbitsSignedInt.out.err
|
||||
tpbitsUnsignedInt.out
|
||||
tpbitsUnsignedInt.out.err
|
||||
tpbitsSignedLong.out
|
||||
tpbitsSignedLong.out.err
|
||||
tpbitsUnsignedLong.out
|
||||
tpbitsUnsignedLong.out.err
|
||||
tpbitsSignedLongLong.out
|
||||
tpbitsSignedLongLong.out.err
|
||||
tpbitsUnsignedLongLong.out
|
||||
tpbitsUnsignedLongLong.out.err
|
||||
tpbitsSignedWhole.out
|
||||
tpbitsSignedWhole.out.err
|
||||
tpbitsUnsignedWhole.out
|
||||
tpbitsUnsignedWhole.out.err
|
||||
tpbitsSignedIntWhole.out
|
||||
tpbitsSignedIntWhole.out.err
|
||||
tpbitsUnsignedIntWhole.out
|
||||
tpbitsUnsignedIntWhole.out.err
|
||||
tpbitsSignedLongWhole.out
|
||||
tpbitsSignedLongWhole.out.err
|
||||
tpbitsUnsignedLongWhole.out
|
||||
tpbitsUnsignedLongWhole.out.err
|
||||
tpbitsSignedLongLongWhole.out
|
||||
tpbitsSignedLongLongWhole.out.err
|
||||
tpbitsUnsignedLongLongWhole.out
|
||||
tpbitsUnsignedLongLongWhole.out.err
|
||||
tpbitsSignedLongLongWhole1.out
|
||||
tpbitsSignedLongLongWhole1.out.err
|
||||
tpbitsUnsignedLongLongWhole1.out
|
||||
tpbitsUnsignedLongLongWhole1.out.err
|
||||
tpbitsSignedLongLongWhole63.out
|
||||
tpbitsSignedLongLongWhole63.out.err
|
||||
tpbitsUnsignedLongLongWhole63.out
|
||||
tpbitsUnsignedLongLongWhole63.out.err
|
||||
tpbitsSigned4.out
|
||||
tpbitsSigned4.out.err
|
||||
tpbitsUnsigned4.out
|
||||
tpbitsUnsigned4.out.err
|
||||
tpbitsSignedInt8.out
|
||||
tpbitsSignedInt8.out.err
|
||||
tpbitsUnsignedInt8.out
|
||||
tpbitsUnsignedInt8.out.err
|
||||
tpbitsSignedLong16.out
|
||||
tpbitsSignedLong16.out.err
|
||||
tpbitsUnsignedLong16.out
|
||||
tpbitsUnsignedLong16.out.err
|
||||
tpbitsSignedLongLong32.out
|
||||
tpbitsSignedLongLong32.out.err
|
||||
tpbitsUnsignedLongLong32.out
|
||||
tpbitsUnsignedLongLong32.out.err
|
||||
tpbitsSigned2.out
|
||||
tpbitsSigned2.out.err
|
||||
tpbitsUnsigned2.out
|
||||
tpbitsUnsigned2.out.err
|
||||
tpbitsSignedInt4.out
|
||||
tpbitsSignedInt4.out.err
|
||||
tpbitsUnsignedInt4.out
|
||||
tpbitsUnsignedInt4.out.err
|
||||
tpbitsSignedLong8.out
|
||||
tpbitsSignedLong8.out.err
|
||||
tpbitsUnsignedLong8.out
|
||||
tpbitsUnsignedLong8.out.err
|
||||
tpbitsSignedLongLong16.out
|
||||
tpbitsSignedLongLong16.out.err
|
||||
tpbitsUnsignedLongLong16.out
|
||||
tpbitsUnsignedLongLong16.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP_PACKED_BITS-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/pbits")
|
||||
IF (NOT "${last_pbits_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5DUMP_PACKED_BITS-clearall-objects PROPERTIES DEPENDS ${last_pbits_test})
|
||||
ENDIF (NOT "${last_pbits_test}" STREQUAL "")
|
||||
SET (last_pbits_test "H5DUMP_PACKED_BITS-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# test failure handling
|
||||
# Missing file name
|
||||
ADD_H5_PBITS_TEST (tnofilename-with-packed-bits 1 --enable-error-stack)
|
||||
# Limits:
|
||||
# Maximum number of packed bits is 8 (for now).
|
||||
# Maximum integer size is 8*sizeof(long long).
|
||||
# Maximun Offset is Maximum size - 1.
|
||||
# Maximum Offset+Length is Maximum size.
|
||||
# Tests:
|
||||
# Normal operation on both signed and unsigned int datasets.
|
||||
# Sanity check
|
||||
# Their rawdata output should be the same.
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedWhole 0 --enable-error-stack -d /DS08BITS -M 0,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedWhole 0 --enable-error-stack -d /DU08BITS -M 0,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedIntWhole 0 --enable-error-stack -d /DS16BITS -M 0,16 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedIntWhole 0 --enable-error-stack -d /DU16BITS -M 0,16 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongWhole 0 --enable-error-stack -d /DS32BITS -M 0,32 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongWhole 0 --enable-error-stack -d /DU32BITS -M 0,32 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLongWhole 0 --enable-error-stack -d /DS64BITS -M 0,64 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLongWhole 0 --enable-error-stack -d /DU64BITS -M 0,64 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLongWhole63 0 --enable-error-stack -d /DS64BITS -M 0,63 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLongWhole63 0 --enable-error-stack -d /DU64BITS -M 0,63 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLongWhole1 0 --enable-error-stack -d /DS64BITS -M 1,63 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLongWhole1 0 --enable-error-stack -d /DU64BITS -M 1,63 packedbits.h5)
|
||||
# Half sections
|
||||
ADD_H5_PBITS_TEST (tpbitsSigned4 0 --enable-error-stack -d /DS08BITS -M 0,4,4,4 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsigned4 0 --enable-error-stack -d /DU08BITS -M 0,4,4,4 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedInt8 0 --enable-error-stack -d /DS16BITS -M 0,8,8,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedInt8 0 --enable-error-stack -d /DU16BITS -M 0,8,8,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLong16 0 --enable-error-stack -d /DS32BITS -M 0,16,16,16 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLong16 0 --enable-error-stack -d /DU32BITS -M 0,16,16,16 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLong32 0 --enable-error-stack -d /DS64BITS -M 0,32,32,32 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLong32 0 --enable-error-stack -d /DU64BITS -M 0,32,32,32 packedbits.h5)
|
||||
# Quarter sections
|
||||
ADD_H5_PBITS_TEST (tpbitsSigned2 0 --enable-error-stack -d /DS08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsigned2 0 --enable-error-stack -d /DU08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedInt4 0 --enable-error-stack -d /DS16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedInt4 0 --enable-error-stack -d /DU16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLong8 0 --enable-error-stack -d /DS32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLong8 0 --enable-error-stack -d /DU32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLong16 0 --enable-error-stack -d /DS64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLong16 0 --enable-error-stack -d /DU64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5)
|
||||
# Begin and End
|
||||
ADD_H5_PBITS_TEST (tpbitsSigned 0 --enable-error-stack -d /DS08BITS -M 0,2,2,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsigned 0 --enable-error-stack -d /DU08BITS -M 0,2,2,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedInt 0 --enable-error-stack -d /DS16BITS -M 0,2,10,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedInt 0 --enable-error-stack -d /DU16BITS -M 0,2,10,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLong 0 --enable-error-stack -d /DS32BITS -M 0,2,26,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLong 0 --enable-error-stack -d /DU32BITS -M 0,2,26,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsSignedLongLong 0 --enable-error-stack -d /DS64BITS -M 0,2,58,6 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsUnsignedLongLong 0 --enable-error-stack -d /DU64BITS -M 0,2,58,6 packedbits.h5)
|
||||
# Overlapped packed bits.
|
||||
ADD_H5_PBITS_TEST (tpbitsOverlapped 0 --enable-error-stack -d /DS08BITS -M 0,1,1,1,2,1,0,3 packedbits.h5)
|
||||
# Maximum number of packed bits.
|
||||
ADD_H5_PBITS_TEST (tpbitsMax 0 --enable-error-stack -d /DS08BITS -M 0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5)
|
||||
# Compound type.
|
||||
ADD_H5_PBITS_TEST (tpbitsCompound 0 --enable-error-stack -d /dset1 -M 0,1,1,1 tcompound.h5)
|
||||
# Array type.
|
||||
ADD_H5_PBITS_TEST (tpbitsArray 0 --enable-error-stack -d /Dataset1 -M 0,1,1,1 tarray1.h5)
|
||||
# Test Error handling.
|
||||
# Too many packed bits requested. Max is 8 for now.
|
||||
ADD_H5_PBITS_TEST (tpbitsMaxExceeded 1 --enable-error-stack -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5)
|
||||
# Offset too large. Max is 8*sizeof(long long.
|
||||
ADD_H5_PBITS_TEST (tpbitsOffsetExceeded 1 --enable-error-stack -d /DS08BITS -M 64,1 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsCharOffsetExceeded 0 --enable-error-stack -d /DS08BITS -M 8,1 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsIntOffsetExceeded 0 --enable-error-stack -d /DS16BITS -M 16,1 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsLongOffsetExceeded 0 --enable-error-stack -d /DS32BITS -M 32,1 packedbits.h5)
|
||||
# Bad offset, must not be negative.
|
||||
ADD_H5_PBITS_TEST (tpbitsOffsetNegative 1 --enable-error-stack -d /DS08BITS -M -1,1 packedbits.h5)
|
||||
# Bad length, must not be positive.
|
||||
ADD_H5_PBITS_TEST (tpbitsLengthPositive 1 --enable-error-stack -d /DS08BITS -M 4,0 packedbits.h5)
|
||||
# Offset+Length is too large. Max is 8*sizeof(long long).
|
||||
ADD_H5_PBITS_TEST (tpbitsLengthExceeded 1 --enable-error-stack -d /DS08BITS -M 37,28 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsCharLengthExceeded 0 --enable-error-stack -d /DS08BITS -M 2,7 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsIntLengthExceeded 0 --enable-error-stack -d /DS16BITS -M 10,7 packedbits.h5)
|
||||
ADD_H5_PBITS_TEST (tpbitsLongLengthExceeded 0 --enable-error-stack -d /DS32BITS -M 26,7 packedbits.h5)
|
||||
# Incomplete pair of packed bits request.
|
||||
ADD_H5_PBITS_TEST (tpbitsIncomplete 1 --enable-error-stack -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5)
|
442
tools/h5dump/CMakeTestsXML.cmake
Normal file
442
tools/h5dump/CMakeTestsXML.cmake
Normal file
@ -0,0 +1,442 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# copy XML test files from source dir to test dir
|
||||
#
|
||||
SET (HDF5_XML_REFERENCE_TEST_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray3.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray6.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray7.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tbitfields.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tenum.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfpformat.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tmany.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-amp.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-apos.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-gt.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-lt.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-quot.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-sp.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnamed_dtype_attr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnodata.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tobjref.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/topaque.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes-at.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstring.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstring-at.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes3.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes4.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.h5
|
||||
)
|
||||
SET (HDF5_XML_REFERENCE_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2A.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray3.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray6.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray7.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tbitfields.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd-2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd-uri.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons-2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons-uri.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-ns.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-ns-2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tenum.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfpformat.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tmany.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-amp.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-apos.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnamed_dtype_attr.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-gt.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-lt.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-quot.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tname-sp.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnodata.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tobjref.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/topaque.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr1.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr3.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr4.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes-at.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstring.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstring-at.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes3.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes4.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.h5.xml
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.h5.xml
|
||||
)
|
||||
|
||||
FOREACH (tst_xml_h5_file ${HDF5_XML_REFERENCE_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${tst_xml_h5_file}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/xml/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${tst_xml_h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${tst_xml_h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (tst_xml_h5_file ${HDF5_XML_REFERENCE_TEST_FILES})
|
||||
|
||||
FOREACH (tst_xml_other_file ${HDF5_XML_REFERENCE_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${tst_xml_other_file}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/xml/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${tst_xml_other_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5dump
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${tst_xml_other_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (tst_xml_other_file ${HDF5_XML_REFERENCE_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_XML_SKIP_H5_TEST skipresultfile skipresultcode testtype)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-XML-${skipresultfile}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${skipresultfile}.xml --xml ${ARGN}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
ADD_XML_H5_TEST (${skipresultfile} ${skipresultcode} ${ARGN})
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_XML_SKIP_H5_TEST)
|
||||
|
||||
MACRO (ADD_XML_H5_TEST resultfile resultcode)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5DUMP-XML-${resultfile} COMMAND $<TARGET_FILE:h5dump> --xml ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/xml")
|
||||
IF (NOT ${resultcode} STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "0")
|
||||
IF (NOT "${last_xml_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES DEPENDS ${last_xml_test})
|
||||
ENDIF (NOT "${last_xml_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-XML-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ${resultfile}.out ${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/xml")
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-XML-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=--xml;${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles/xml"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.xml"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES DEPENDS "H5DUMP-XML-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_XML_H5_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S HDF5_ENABLE_USING_MEMCHECKER ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5DUMP-XML-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tall.h5.out
|
||||
tall.h5.out.err
|
||||
tall-2A.h5.out
|
||||
tall-2A.h5.out.err
|
||||
tarray1.h5.out
|
||||
tarray1.h5.out.err
|
||||
tarray2.h5.out
|
||||
tarray2.h5.out.err
|
||||
tarray3.h5.out
|
||||
tarray3.h5.out.err
|
||||
tarray6.h5.out
|
||||
tarray6.h5.out.err
|
||||
tarray7.h5.out
|
||||
tarray7.h5.out.err
|
||||
tattr.h5.out
|
||||
tattr.h5.out.err
|
||||
tbitfields.h5.out
|
||||
tbitfields.h5.out.err
|
||||
tcompound.h5.out
|
||||
tcompound.h5.out.err
|
||||
tcompound2.h5.out
|
||||
tcompound2.h5.out.err
|
||||
tcompound_complex.h5.out
|
||||
tcompound_complex.h5.out.err
|
||||
tdatareg.h5.out
|
||||
tdatareg.h5.out.err
|
||||
tdset.h5.out
|
||||
tdset.h5.out.err
|
||||
tdset2.h5.out
|
||||
tdset2.h5.out.err
|
||||
tempty-dtd-2.h5.out
|
||||
tempty-dtd-2.h5.out.err
|
||||
tempty-dtd-uri.h5.out
|
||||
tempty-dtd-uri.h5.out.err
|
||||
tempty-dtd.h5.out
|
||||
tempty-dtd.h5.out.err
|
||||
tempty-nons-2.h5.out
|
||||
tempty-nons-2.h5.out.err
|
||||
tempty-nons-uri.h5.out
|
||||
tempty-nons-uri.h5.out.err
|
||||
tempty-nons.h5.out
|
||||
tempty-nons.h5.out.err
|
||||
tempty-ns-2.h5.out
|
||||
tempty-ns-2.h5.out.err
|
||||
tempty-ns.h5.out
|
||||
tempty-ns.h5.out.err
|
||||
tempty.h5.out
|
||||
tempty.h5.out.err
|
||||
tenum.h5.out
|
||||
tenum.h5.out.err
|
||||
textlink.h5.out
|
||||
textlink.h5.out.err
|
||||
tfpformat.h5.out
|
||||
tfpformat.h5.out.err
|
||||
tgroup.h5.out
|
||||
tgroup.h5.out.err
|
||||
thlink.h5.out
|
||||
thlink.h5.out.err
|
||||
tloop.h5.out
|
||||
tloop.h5.out.err
|
||||
tloop2.h5.out
|
||||
tloop2.h5.out.err
|
||||
tmany.h5.out
|
||||
tmany.h5.out.err
|
||||
tname-amp.h5.out
|
||||
tname-amp.h5.out.err
|
||||
tname-apos.h5.out
|
||||
tname-apos.h5.out.err
|
||||
tname-gt.h5.out
|
||||
tname-gt.h5.out.err
|
||||
tname-lt.h5.out
|
||||
tname-lt.h5.out.err
|
||||
tname-quot.h5.out
|
||||
tname-quot.h5.out.err
|
||||
tname-sp.h5.out
|
||||
tname-sp.h5.out.err
|
||||
tnamed_dtype_attr.h5.out
|
||||
tnamed_dtype_attr.h5.out.err
|
||||
tnestedcomp.h5.out
|
||||
tnestedcomp.h5.out.err
|
||||
tnodata.h5.out
|
||||
tnodata.h5.out.err
|
||||
tnoname.h5.out
|
||||
tnoname.h5.out.err
|
||||
tobjref.h5.out
|
||||
tobjref.h5.out.err
|
||||
topaque.h5.out
|
||||
topaque.h5.out.err
|
||||
torderattr1.h5.out
|
||||
torderattr1.h5.out.err
|
||||
torderattr2.h5.out
|
||||
torderattr2.h5.out.err
|
||||
torderattr3.h5.out
|
||||
torderattr3.h5.out.err
|
||||
torderattr4.h5.out
|
||||
torderattr4.h5.out.err
|
||||
tref-escapes-at.h5.out
|
||||
tref-escapes-at.h5.out.err
|
||||
tref-escapes.h5.out
|
||||
tref-escapes.h5.out.err
|
||||
tref.h5.out
|
||||
tref.h5.out.err
|
||||
tsaf.h5.out
|
||||
tsaf.h5.out.err
|
||||
tslink.h5.out
|
||||
tslink.h5.out.err
|
||||
tstr.h5.out
|
||||
tstr.h5.out.err
|
||||
tstr2.h5.out
|
||||
tstr2.h5.out.err
|
||||
tstring.h5.out
|
||||
tstring.h5.out.err
|
||||
tstring-at.h5.out
|
||||
tstring-at.h5.out.err
|
||||
tudlink.h5.out
|
||||
tudlink.h5.out.err
|
||||
tvldtypes1.h5.out
|
||||
tvldtypes1.h5.out.err
|
||||
tvldtypes2.h5.out
|
||||
tvldtypes2.h5.out.err
|
||||
tvldtypes3.h5.out
|
||||
tvldtypes3.h5.out.err
|
||||
tvldtypes4.h5.out
|
||||
tvldtypes4.h5.out.err
|
||||
tvldtypes5.h5.out
|
||||
tvldtypes5.h5.out.err
|
||||
tvlstr.h5.out
|
||||
tvlstr.h5.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/xml")
|
||||
IF (NOT "${last_xml_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5DUMP-XML-clearall-objects PROPERTIES DEPENDS ${last_xml_test})
|
||||
ENDIF (NOT "${last_xml_test}" STREQUAL "")
|
||||
SET (last_test "H5DUMP-XML-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
########## test XML
|
||||
ADD_XML_H5_TEST (tall.h5 0 tall.h5)
|
||||
ADD_XML_H5_TEST (tattr.h5 0 tattr.h5)
|
||||
ADD_XML_H5_TEST (tbitfields.h5 0 tbitfields.h5)
|
||||
ADD_XML_H5_TEST (tcompound.h5 0 tcompound.h5)
|
||||
ADD_XML_H5_TEST (tcompound2.h5 0 tcompound2.h5)
|
||||
ADD_XML_H5_TEST (tdatareg.h5 0 tdatareg.h5)
|
||||
ADD_XML_H5_TEST (tdset.h5 0 tdset.h5)
|
||||
ADD_XML_H5_TEST (tdset2.h5 0 tdset2.h5)
|
||||
ADD_XML_H5_TEST (tenum.h5 0 tenum.h5)
|
||||
ADD_XML_H5_TEST (tgroup.h5 0 tgroup.h5)
|
||||
ADD_XML_H5_TEST (thlink.h5 0 thlink.h5)
|
||||
ADD_XML_H5_TEST (tloop.h5 0 tloop.h5)
|
||||
ADD_XML_H5_TEST (tloop2.h5 0 tloop2.h5)
|
||||
ADD_XML_H5_TEST (tmany.h5 0 tmany.h5)
|
||||
ADD_XML_H5_TEST (tnestedcomp.h5 0 tnestedcomp.h5)
|
||||
ADD_XML_H5_TEST (tcompound_complex.h5 0 tcompound_complex.h5)
|
||||
ADD_XML_H5_TEST (tobjref.h5 0 tobjref.h5)
|
||||
ADD_XML_H5_TEST (topaque.h5 0 topaque.h5)
|
||||
ADD_XML_H5_TEST (tslink.h5 0 tslink.h5)
|
||||
ADD_XML_H5_TEST (tudlink.h5 0 tudlink.h5)
|
||||
ADD_XML_H5_TEST (textlink.h5 0 textlink.h5)
|
||||
ADD_XML_H5_TEST (tstr.h5 0 tstr.h5)
|
||||
ADD_XML_H5_TEST (tstr2.h5 0 tstr2.h5)
|
||||
ADD_XML_H5_TEST (tref.h5 0 tref.h5)
|
||||
ADD_XML_H5_TEST (tname-amp.h5 0 tname-amp.h5)
|
||||
ADD_XML_H5_TEST (tname-apos.h5 0 tname-apos.h5)
|
||||
ADD_XML_H5_TEST (tname-gt.h5 0 tname-gt.h5)
|
||||
ADD_XML_H5_TEST (tname-lt.h5 0 tname-lt.h5)
|
||||
ADD_XML_H5_TEST (tname-quot.h5 0 tname-quot.h5)
|
||||
ADD_XML_H5_TEST (tname-sp.h5 0 tname-sp.h5)
|
||||
ADD_XML_H5_TEST (tstring.h5 0 tstring.h5)
|
||||
ADD_XML_H5_TEST (tstring-at.h5 0 tstring-at.h5)
|
||||
ADD_XML_H5_TEST (tref-escapes.h5 0 tref-escapes.h5)
|
||||
ADD_XML_H5_TEST (tref-escapes-at.h5 0 tref-escapes-at.h5)
|
||||
ADD_XML_H5_TEST (tnodata.h5 0 tnodata.h5)
|
||||
ADD_XML_H5_TEST (tarray1.h5 0 tarray1.h5)
|
||||
ADD_XML_H5_TEST (tarray2.h5 0 tarray2.h5)
|
||||
ADD_XML_H5_TEST (tarray3.h5 0 tarray3.h5)
|
||||
ADD_XML_H5_TEST (tarray6.h5 0 tarray6.h5)
|
||||
ADD_XML_H5_TEST (tarray7.h5 0 tarray7.h5)
|
||||
ADD_XML_H5_TEST (tvldtypes1.h5 0 tvldtypes1.h5)
|
||||
ADD_XML_H5_TEST (tvldtypes2.h5 0 tvldtypes2.h5)
|
||||
ADD_XML_H5_TEST (tvldtypes3.h5 0 tvldtypes3.h5)
|
||||
ADD_XML_H5_TEST (tvldtypes4.h5 0 tvldtypes4.h5)
|
||||
ADD_XML_H5_TEST (tvldtypes5.h5 0 tvldtypes5.h5)
|
||||
ADD_XML_H5_TEST (tvlstr.h5 0 tvlstr.h5)
|
||||
ADD_XML_H5_TEST (tsaf.h5 0 tsaf.h5)
|
||||
ADD_XML_H5_TEST (tempty.h5 0 tempty.h5)
|
||||
ADD_XML_H5_TEST (tnamed_dtype_attr.h5 0 tnamed_dtype_attr.h5)
|
||||
##Test dataset and attribute of null space. Commented out:
|
||||
## wait until the XML schema is updated for null space.
|
||||
## ADD_XML_H5_TEST (tnullspace.h5 0 tnulspace.h5)
|
||||
## So is dataspace with 0 dimension size.
|
||||
## ADD_XML_H5_TEST (zerodim.h5 0 zerodim.h5)
|
||||
|
||||
# other options for xml
|
||||
|
||||
ADD_XML_H5_TEST (tempty-dtd.h5 0 --use-dtd tempty.h5)
|
||||
ADD_XML_H5_TEST (tempty-dtd-2.h5 0 -u tempty.h5)
|
||||
|
||||
# The lone colon here confuses some systems (Cray X1). Skip
|
||||
# it if configure detects that this is a problem.
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT "H5_LONE_COLON")
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT "H5_LONE_COLON")
|
||||
ADD_XML_SKIP_H5_TEST (tempty-nons.h5 0 ${TESTTYPE} -X : tempty.h5)
|
||||
|
||||
ADD_XML_H5_TEST (tempty-nons-2.h5 0 --xml-ns=: tempty.h5)
|
||||
|
||||
## Some of these combinations are syntactically correct but
|
||||
## the URLs are dummies
|
||||
ADD_XML_H5_TEST (tempty-ns.h5 0 -X thing: tempty.h5)
|
||||
ADD_XML_H5_TEST (tempty-ns-2.h5 0 --xml-ns=thing: tempty.h5)
|
||||
ADD_XML_H5_TEST (tempty-nons-uri.h5 0 --xml-ns=: --xml-dtd=http://somewhere.net tempty.h5)
|
||||
ADD_XML_H5_TEST (tempty-dtd-uri.h5 0 --use-dtd --xml-dtd=http://somewhere.net tempty.h5)
|
||||
|
||||
ADD_XML_H5_TEST (tall-2A.h5 0 -A tall.h5)
|
||||
|
||||
|
||||
# tests for attribute order
|
||||
ADD_XML_H5_TEST (torderattr1.h5 0 -H --sort_by=name --sort_order=ascending torderattr.h5)
|
||||
ADD_XML_H5_TEST (torderattr2.h5 0 -H --sort_by=name --sort_order=descending torderattr.h5)
|
||||
ADD_XML_H5_TEST (torderattr3.h5 0 -H --sort_by=creation_order --sort_order=ascending torderattr.h5)
|
||||
ADD_XML_H5_TEST (torderattr4.h5 0 -H --sort_by=creation_order --sort_order=descending torderattr.h5)
|
||||
|
||||
# tests for floating point user defined printf format
|
||||
ADD_XML_H5_TEST (tfpformat.h5 0 -u -m %.7f tfpformat.h5)
|
||||
|
@ -18,12 +18,6 @@ SET_TARGET_PROPERTIES (h5import PROPERTIES FOLDER tools)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES h5import)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5import executables
|
||||
@ -34,476 +28,7 @@ IF (BUILD_TESTING)
|
||||
TARGET_LINK_LIBRARIES (h5importtest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (h5importtest PROPERTIES FOLDER tools)
|
||||
|
||||
SET (HDF5_REFERENCE_CONF_FILES
|
||||
binfp64.conf
|
||||
binin8.conf
|
||||
binin8w.conf
|
||||
binin16.conf
|
||||
binin32.conf
|
||||
binuin16.conf
|
||||
binuin32.conf
|
||||
txtfp32.conf
|
||||
txtfp64.conf
|
||||
txtin8.conf
|
||||
txtin16.conf
|
||||
txtin32.conf
|
||||
txtuin16.conf
|
||||
txtuin32.conf
|
||||
textpfe.conf
|
||||
txtstr.conf
|
||||
)
|
||||
SET (HDF5_REFERENCE_TXT_FILES
|
||||
txtfp32.txt
|
||||
txtfp64.txt
|
||||
txtuin16.txt
|
||||
txtuin32.txt
|
||||
txtin8.txt
|
||||
txtin16.txt
|
||||
txtin32.txt
|
||||
textpfe64.txt
|
||||
txtstr.txt
|
||||
dbinfp64.h5.txt
|
||||
dbinin8.h5.txt
|
||||
dbinin8w.h5.txt
|
||||
dbinin16.h5.txt
|
||||
dbinin32.h5.txt
|
||||
dbinuin16.h5.txt
|
||||
dbinuin32.h5.txt
|
||||
dtxtstr.h5.txt
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
binfp64.h5
|
||||
binin8.h5
|
||||
binin8w.h5
|
||||
binin16.h5
|
||||
binin32.h5
|
||||
binuin16.h5
|
||||
binuin32.h5
|
||||
txtfp32.h5
|
||||
txtfp64.h5
|
||||
txtin8.h5
|
||||
txtin16.h5
|
||||
txtin32.h5
|
||||
txtuin16.h5
|
||||
txtuin32.h5
|
||||
txtstr.h5
|
||||
textpfe.h5
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
FOREACH (conf_file ${HDF5_REFERENCE_CONF_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${conf_file}")
|
||||
#MESSAGE (STATUS " Copying ${conf_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${conf_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (conf_file ${HDF5_REFERENCE_CONF_FILES})
|
||||
|
||||
FOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${txt_file}")
|
||||
#MESSAGE (STATUS " Copying ${txt_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${txt_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
MACRO (ADD_H5_TEST testname importfile conffile testfile)
|
||||
# If using memchecker skip macro based tests
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${testfile}
|
||||
${testfile}.new
|
||||
${testfile}.new.err
|
||||
${testfile}.out
|
||||
${testfile}.out.err
|
||||
)
|
||||
|
||||
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-${testname}-clear-objects)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${testfile}.new"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname}-H5DMP PROPERTIES DEPENDS H5IMPORT-${testname})
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-H5DMP_CMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${testfile}.out"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_REFERENCE=${testfile}.new"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname}-H5DMP_CMP PROPERTIES DEPENDS H5IMPORT-${testname}-H5DMP)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST testname importfile conffile testfile)
|
||||
|
||||
MACRO (ADD_H5_DUMPTEST testname datasetname testfile)
|
||||
# If using memchecker skip tests
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
d${testfile}
|
||||
d${testfile}.bin
|
||||
d${testfile}.imp
|
||||
d${testfile}.imp.err
|
||||
d${testfile}.dmp
|
||||
d${testfile}.dmp.err
|
||||
d${testfile}.dff
|
||||
d${testfile}.dff.err
|
||||
)
|
||||
|
||||
IF ("${ARGN}" STREQUAL "BINARY")
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-b;testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ELSE ("${ARGN}" STREQUAL "BINARY")
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-y;--width=1;testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ENDIF ("${ARGN}" STREQUAL "BINARY")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DMP PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-clear-objects")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5import>"
|
||||
-D "TEST_ARGS:STRING=d${testfile}.bin;-c;d${testfile}.dmp;-o;d${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.imp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname} PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-H5DMP")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DFF
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
|
||||
-D "TEST_ARGS:STRING=-v;d${testfile};testfiles/${testfile};${datasetname};${datasetname}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dff"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(Warning)[^\n]*)"
|
||||
-D "TEST_REFERENCE=testfiles/d${testfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DFF PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_DUMPTEST testname datasetname testfile)
|
||||
|
||||
MACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname} ${datasetname} ${testfile} --- DEFLATE filter not available"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Determine if filter is available for h5diff
|
||||
# --------------------------------------------------------------------
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (USE_FILTER_DEFLATE "true")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
binfp64.bin
|
||||
binin8.bin
|
||||
binin8w.bin
|
||||
binin16.bin
|
||||
binin32.bin
|
||||
binuin16.bin
|
||||
binuin32.bin
|
||||
txtin32.h5
|
||||
txtin32.h5.new
|
||||
txtin32.h5.new.err
|
||||
txtin32.h5.out
|
||||
txtin32.h5.out.err
|
||||
txtin16.h5
|
||||
txtin16.h5.new
|
||||
txtin16.h5.new.err
|
||||
txtin16.h5.out
|
||||
txtin16.h5.out.err
|
||||
txtin8.h5
|
||||
txtin8.h5.new
|
||||
txtin8.h5.new.err
|
||||
txtin8.h5.out
|
||||
txtin8.h5.out.err
|
||||
txtuin16.h5
|
||||
txtuin16.h5.new
|
||||
txtuin16.h5.new.err
|
||||
txtuin16.h5.out
|
||||
txtuin16.h5.out.err
|
||||
txtuin32.h5
|
||||
txtuin32.h5.new
|
||||
txtuin32.h5.new.err
|
||||
txtuin32.h5.out
|
||||
txtuin32.h5.out.err
|
||||
txtfp32.h5
|
||||
txtfp32.h5.new
|
||||
txtfp32.h5.new.err
|
||||
txtfp32.h5.out
|
||||
txtfp32.h5.out.err
|
||||
txtfp64.h5
|
||||
txtfp64.h5.new
|
||||
txtfp64.h5.new.err
|
||||
txtfp64.h5.out
|
||||
txtfp64.h5.out.err
|
||||
binfp64.h5
|
||||
binfp64.h5.new
|
||||
binfp64.h5.new.err
|
||||
binfp64.h5.out
|
||||
binfp64.h5.out.err
|
||||
binin8.h5
|
||||
binin8.h5.new
|
||||
binin8.h5.new.err
|
||||
binin8.h5.out
|
||||
binin8.h5.out.err
|
||||
binin8w.h5
|
||||
binin8w.h5.new
|
||||
binin8w.h5.new.err
|
||||
binin8w.h5.out
|
||||
binin8w.h5.out.err
|
||||
binin16.h5
|
||||
binin16.h5.new
|
||||
binin16.h5.new.err
|
||||
binin16.h5.out
|
||||
binin16.h5.out.err
|
||||
binin32.h5
|
||||
binin32.h5.new
|
||||
binin32.h5.new.err
|
||||
binin32.h5.out
|
||||
binin32.h5.out.err
|
||||
binuin16.h5
|
||||
binuin16.h5.new
|
||||
binuin16.h5.new.err
|
||||
binuin16.h5.out
|
||||
binuin16.h5.out.err
|
||||
binuin32.h5
|
||||
binuin32.h5.new
|
||||
binuin32.h5.new.err
|
||||
binuin32.h5.out
|
||||
binuin32.h5.out.err
|
||||
txtstr.h5
|
||||
txtstr.h5.new
|
||||
txtstr.h5.new.err
|
||||
txtstr.h5.out
|
||||
txtstr.h5.out.err
|
||||
textpfe.h5
|
||||
textpfe.h5.new
|
||||
textpfe.h5.new.err
|
||||
textpfe.h5.out
|
||||
textpfe.h5.out.err
|
||||
dbinfp64.h5
|
||||
dbinfp64.h5.bin
|
||||
dbinfp64.h5.imp
|
||||
dbinfp64.h5.imp.err
|
||||
dbinfp64.h5.dmp
|
||||
dbinfp64.h5.dmp.err
|
||||
dbinfp64.h5.dff
|
||||
dbinfp64.h5.dff.err
|
||||
dbinin8.h5
|
||||
dbinin8.h5.bin
|
||||
dbinin8.h5.imp
|
||||
dbinin8.h5.imp.err
|
||||
dbinin8.h5.dmp
|
||||
dbinin8.h5.dmp.err
|
||||
dbinin8.h5.dff
|
||||
dbinin8.h5.dff.err
|
||||
dbinin8w.h5
|
||||
dbinin8w.h5.bin
|
||||
dbinin8w.h5.imp
|
||||
dbinin8w.h5.imp.err
|
||||
dbinin8w.h5.dmp
|
||||
dbinin8w.h5.dmp.err
|
||||
dbinin8w.h5.dff
|
||||
dbinin8w.h5.dff.err
|
||||
dbinin16.h5
|
||||
dbinin16.h5.bin
|
||||
dbinin16.h5.imp
|
||||
dbinin16.h5.imp.err
|
||||
dbinin16.h5.dmp
|
||||
dbinin16.h5.dmp.err
|
||||
dbinin16.h5.dff
|
||||
dbinin16.h5.dff.err
|
||||
dbinin32.h5
|
||||
dbinin32.h5.bin
|
||||
dbinin32.h5.imp
|
||||
dbinin32.h5.imp.err
|
||||
dbinin32.h5.dmp
|
||||
dbinin32.h5.dmp.err
|
||||
dbinin32.h5.dff
|
||||
dbinin32.h5.dff.err
|
||||
dbinuin16.h5
|
||||
dbinuin16.h5.bin
|
||||
dbinuin16.h5.imp
|
||||
dbinuin16.h5.imp.err
|
||||
dbinuin16.h5.dmp
|
||||
dbinuin16.h5.dmp.err
|
||||
dbinuin16.h5.dff
|
||||
dbinuin16.h5.dff.err
|
||||
dbinuin32.h5
|
||||
dbinuin32.h5.bin
|
||||
dbinuin32.h5.imp
|
||||
dbinuin32.h5.imp.err
|
||||
dbinuin32.h5.dmp
|
||||
dbinuin32.h5.dmp.err
|
||||
dbinuin32.h5.dff
|
||||
dbinuin32.h5.dff.err
|
||||
dtxtstr.h5
|
||||
dtxtstr.h5.bin
|
||||
dtxtstr.h5.imp
|
||||
dtxtstr.h5.imp.err
|
||||
dtxtstr.h5.dmp
|
||||
dtxtstr.h5.dmp.err
|
||||
dtxtstr.h5.dff
|
||||
dtxtstr.h5.dff.err
|
||||
)
|
||||
SET (last_test "H5IMPORT-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (NAME H5IMPORT-h5importtest COMMAND $<TARGET_FILE:h5importtest>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-h5importtest PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
# ----- TESTING "ASCII I32 rank 3 - Output BE " ;
|
||||
ADD_H5_TEST (ASCII_I32 testfiles/txtin32.txt testfiles/txtin32.conf txtin32.h5)
|
||||
|
||||
# ----- TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
|
||||
ADD_H5_TEST (ASCII_I16 testfiles/txtin16.txt testfiles/txtin16.conf txtin16.h5)
|
||||
|
||||
# ----- TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed "
|
||||
ADD_H5_TEST (ASCII_I8 testfiles/txtin8.txt testfiles/txtin8.conf txtin8.h5)
|
||||
|
||||
# ----- TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
|
||||
ADD_H5_TEST (ASCII_UI16 testfiles/txtuin16.txt testfiles/txtuin16.conf txtuin16.h5)
|
||||
|
||||
# ----- TESTING "ASCII UI32 - rank 3 - Output BE"
|
||||
ADD_H5_TEST (ASCII_UI32 testfiles/txtuin32.txt testfiles/txtuin32.conf txtuin32.h5)
|
||||
|
||||
# ----- TESTING "ASCII F32 - rank 3 - Output LE "
|
||||
ADD_H5_TEST (ASCII_F32 testfiles/txtfp32.txt testfiles/txtfp32.conf txtfp32.h5)
|
||||
|
||||
# ----- TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
|
||||
ADD_H5_TEST (ASCII_F64 testfiles/txtfp64.txt testfiles/txtfp64.conf txtfp64.h5)
|
||||
|
||||
# ----- TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
|
||||
ADD_H5_TEST (BINARY_F64 binfp64.bin testfiles/binfp64.conf binfp64.h5)
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_SKIP_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
|
||||
ELSE (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
|
||||
# ----- TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
|
||||
ADD_H5_TEST (BINARY_I8 binin8.bin testfiles/binin8.conf binin8.h5)
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_SKIP_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
|
||||
ELSE (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
|
||||
# ----- TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
|
||||
ADD_H5_TEST (BINARY_I16 binin16.bin testfiles/binin16.conf binin16.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I16 "/int/bin/16-bit" binin16.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
|
||||
ADD_H5_TEST (BINARY_I32 binin32.bin testfiles/binin32.conf binin32.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I32 "/int/bin/32-bit" binin32.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
|
||||
ADD_H5_TEST (BINARY_UI16 binuin16.bin testfiles/binuin16.conf binuin16.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_UI16 "/int/buin/16-bit" binuin16.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY UI32 - rank 3 - Output LE "
|
||||
ADD_H5_TEST (BINARY_UI32 binuin32.bin testfiles/binuin32.conf binuin32.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_UI32 "/int/buin/32-bit" binuin32.h5 BINARY)
|
||||
|
||||
# ----- TESTING "STR"
|
||||
ADD_H5_TEST (STR testfiles/txtstr.txt testfiles/txtstr.conf txtstr.h5)
|
||||
ADD_H5_DUMPTEST (STR "/mytext/data" txtstr.h5)
|
||||
|
||||
# ----- TESTING "BINARY I8 CR LF EOF"
|
||||
ADD_H5_TEST (BINARY_I8_EOF binin8w.bin testfiles/binin8w.conf binin8w.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I8_EOF "/dataset0" binin8w.h5 BINARY)
|
||||
|
||||
# ----- TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE "
|
||||
ADD_H5_TEST (ASCII_F64_R1 testfiles/textpfe64.txt testfiles/textpfe.conf textpfe.h5)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
|
478
tools/h5import/CMakeTests.cmake
Normal file
478
tools/h5import/CMakeTests.cmake
Normal file
@ -0,0 +1,478 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
SET (HDF5_REFERENCE_CONF_FILES
|
||||
binfp64.conf
|
||||
binin8.conf
|
||||
binin8w.conf
|
||||
binin16.conf
|
||||
binin32.conf
|
||||
binuin16.conf
|
||||
binuin32.conf
|
||||
txtfp32.conf
|
||||
txtfp64.conf
|
||||
txtin8.conf
|
||||
txtin16.conf
|
||||
txtin32.conf
|
||||
txtuin16.conf
|
||||
txtuin32.conf
|
||||
textpfe.conf
|
||||
txtstr.conf
|
||||
)
|
||||
SET (HDF5_REFERENCE_TXT_FILES
|
||||
txtfp32.txt
|
||||
txtfp64.txt
|
||||
txtuin16.txt
|
||||
txtuin32.txt
|
||||
txtin8.txt
|
||||
txtin16.txt
|
||||
txtin32.txt
|
||||
textpfe64.txt
|
||||
txtstr.txt
|
||||
dbinfp64.h5.txt
|
||||
dbinin8.h5.txt
|
||||
dbinin8w.h5.txt
|
||||
dbinin16.h5.txt
|
||||
dbinin32.h5.txt
|
||||
dbinuin16.h5.txt
|
||||
dbinuin32.h5.txt
|
||||
dtxtstr.h5.txt
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
binfp64.h5
|
||||
binin8.h5
|
||||
binin8w.h5
|
||||
binin16.h5
|
||||
binin32.h5
|
||||
binuin16.h5
|
||||
binuin32.h5
|
||||
txtfp32.h5
|
||||
txtfp64.h5
|
||||
txtin8.h5
|
||||
txtin16.h5
|
||||
txtin32.h5
|
||||
txtuin16.h5
|
||||
txtuin32.h5
|
||||
txtstr.h5
|
||||
textpfe.h5
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
FOREACH (conf_file ${HDF5_REFERENCE_CONF_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${conf_file}")
|
||||
#MESSAGE (STATUS " Copying ${conf_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${conf_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (conf_file ${HDF5_REFERENCE_CONF_FILES})
|
||||
|
||||
FOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${txt_file}")
|
||||
#MESSAGE (STATUS " Copying ${txt_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${txt_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5import
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
MACRO (ADD_H5_TEST testname importfile conffile testfile)
|
||||
# If using memchecker skip macro based tests
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${testfile}
|
||||
${testfile}.new
|
||||
${testfile}.new.err
|
||||
${testfile}.out
|
||||
${testfile}.out.err
|
||||
)
|
||||
|
||||
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-${testname}-clear-objects)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${testfile}.new"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname}-H5DMP PROPERTIES DEPENDS H5IMPORT-${testname})
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-${testname}-H5DMP_CMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${testfile}.out"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_REFERENCE=${testfile}.new"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-${testname}-H5DMP_CMP PROPERTIES DEPENDS H5IMPORT-${testname}-H5DMP)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST testname importfile conffile testfile)
|
||||
|
||||
MACRO (ADD_H5_DUMPTEST testname datasetname testfile)
|
||||
# If using memchecker skip tests
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
d${testfile}
|
||||
d${testfile}.bin
|
||||
d${testfile}.imp
|
||||
d${testfile}.imp.err
|
||||
d${testfile}.dmp
|
||||
d${testfile}.dmp.err
|
||||
d${testfile}.dff
|
||||
d${testfile}.dff.err
|
||||
)
|
||||
|
||||
IF ("${ARGN}" STREQUAL "BINARY")
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-b;testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ELSE ("${ARGN}" STREQUAL "BINARY")
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-y;--width=1;testfiles/${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ENDIF ("${ARGN}" STREQUAL "BINARY")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DMP PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-clear-objects")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5import>"
|
||||
-D "TEST_ARGS:STRING=d${testfile}.bin;-c;d${testfile}.dmp;-o;d${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.imp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname} PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-H5DMP")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-H5DFF
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
|
||||
-D "TEST_ARGS:STRING=-v;d${testfile};testfiles/${testfile};${datasetname};${datasetname}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=d${testfile}.dff"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(Warning)[^\n]*)"
|
||||
-D "TEST_REFERENCE=testfiles/d${testfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DFF PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_DUMPTEST testname datasetname testfile)
|
||||
|
||||
MACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-DUMP-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname} ${datasetname} ${testfile} --- DEFLATE filter not available"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Determine if filter is available for h5diff
|
||||
# --------------------------------------------------------------------
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (USE_FILTER_DEFLATE "true")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5IMPORT-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
binfp64.bin
|
||||
binin8.bin
|
||||
binin8w.bin
|
||||
binin16.bin
|
||||
binin32.bin
|
||||
binuin16.bin
|
||||
binuin32.bin
|
||||
txtin32.h5
|
||||
txtin32.h5.new
|
||||
txtin32.h5.new.err
|
||||
txtin32.h5.out
|
||||
txtin32.h5.out.err
|
||||
txtin16.h5
|
||||
txtin16.h5.new
|
||||
txtin16.h5.new.err
|
||||
txtin16.h5.out
|
||||
txtin16.h5.out.err
|
||||
txtin8.h5
|
||||
txtin8.h5.new
|
||||
txtin8.h5.new.err
|
||||
txtin8.h5.out
|
||||
txtin8.h5.out.err
|
||||
txtuin16.h5
|
||||
txtuin16.h5.new
|
||||
txtuin16.h5.new.err
|
||||
txtuin16.h5.out
|
||||
txtuin16.h5.out.err
|
||||
txtuin32.h5
|
||||
txtuin32.h5.new
|
||||
txtuin32.h5.new.err
|
||||
txtuin32.h5.out
|
||||
txtuin32.h5.out.err
|
||||
txtfp32.h5
|
||||
txtfp32.h5.new
|
||||
txtfp32.h5.new.err
|
||||
txtfp32.h5.out
|
||||
txtfp32.h5.out.err
|
||||
txtfp64.h5
|
||||
txtfp64.h5.new
|
||||
txtfp64.h5.new.err
|
||||
txtfp64.h5.out
|
||||
txtfp64.h5.out.err
|
||||
binfp64.h5
|
||||
binfp64.h5.new
|
||||
binfp64.h5.new.err
|
||||
binfp64.h5.out
|
||||
binfp64.h5.out.err
|
||||
binin8.h5
|
||||
binin8.h5.new
|
||||
binin8.h5.new.err
|
||||
binin8.h5.out
|
||||
binin8.h5.out.err
|
||||
binin8w.h5
|
||||
binin8w.h5.new
|
||||
binin8w.h5.new.err
|
||||
binin8w.h5.out
|
||||
binin8w.h5.out.err
|
||||
binin16.h5
|
||||
binin16.h5.new
|
||||
binin16.h5.new.err
|
||||
binin16.h5.out
|
||||
binin16.h5.out.err
|
||||
binin32.h5
|
||||
binin32.h5.new
|
||||
binin32.h5.new.err
|
||||
binin32.h5.out
|
||||
binin32.h5.out.err
|
||||
binuin16.h5
|
||||
binuin16.h5.new
|
||||
binuin16.h5.new.err
|
||||
binuin16.h5.out
|
||||
binuin16.h5.out.err
|
||||
binuin32.h5
|
||||
binuin32.h5.new
|
||||
binuin32.h5.new.err
|
||||
binuin32.h5.out
|
||||
binuin32.h5.out.err
|
||||
txtstr.h5
|
||||
txtstr.h5.new
|
||||
txtstr.h5.new.err
|
||||
txtstr.h5.out
|
||||
txtstr.h5.out.err
|
||||
textpfe.h5
|
||||
textpfe.h5.new
|
||||
textpfe.h5.new.err
|
||||
textpfe.h5.out
|
||||
textpfe.h5.out.err
|
||||
dbinfp64.h5
|
||||
dbinfp64.h5.bin
|
||||
dbinfp64.h5.imp
|
||||
dbinfp64.h5.imp.err
|
||||
dbinfp64.h5.dmp
|
||||
dbinfp64.h5.dmp.err
|
||||
dbinfp64.h5.dff
|
||||
dbinfp64.h5.dff.err
|
||||
dbinin8.h5
|
||||
dbinin8.h5.bin
|
||||
dbinin8.h5.imp
|
||||
dbinin8.h5.imp.err
|
||||
dbinin8.h5.dmp
|
||||
dbinin8.h5.dmp.err
|
||||
dbinin8.h5.dff
|
||||
dbinin8.h5.dff.err
|
||||
dbinin8w.h5
|
||||
dbinin8w.h5.bin
|
||||
dbinin8w.h5.imp
|
||||
dbinin8w.h5.imp.err
|
||||
dbinin8w.h5.dmp
|
||||
dbinin8w.h5.dmp.err
|
||||
dbinin8w.h5.dff
|
||||
dbinin8w.h5.dff.err
|
||||
dbinin16.h5
|
||||
dbinin16.h5.bin
|
||||
dbinin16.h5.imp
|
||||
dbinin16.h5.imp.err
|
||||
dbinin16.h5.dmp
|
||||
dbinin16.h5.dmp.err
|
||||
dbinin16.h5.dff
|
||||
dbinin16.h5.dff.err
|
||||
dbinin32.h5
|
||||
dbinin32.h5.bin
|
||||
dbinin32.h5.imp
|
||||
dbinin32.h5.imp.err
|
||||
dbinin32.h5.dmp
|
||||
dbinin32.h5.dmp.err
|
||||
dbinin32.h5.dff
|
||||
dbinin32.h5.dff.err
|
||||
dbinuin16.h5
|
||||
dbinuin16.h5.bin
|
||||
dbinuin16.h5.imp
|
||||
dbinuin16.h5.imp.err
|
||||
dbinuin16.h5.dmp
|
||||
dbinuin16.h5.dmp.err
|
||||
dbinuin16.h5.dff
|
||||
dbinuin16.h5.dff.err
|
||||
dbinuin32.h5
|
||||
dbinuin32.h5.bin
|
||||
dbinuin32.h5.imp
|
||||
dbinuin32.h5.imp.err
|
||||
dbinuin32.h5.dmp
|
||||
dbinuin32.h5.dmp.err
|
||||
dbinuin32.h5.dff
|
||||
dbinuin32.h5.dff.err
|
||||
dtxtstr.h5
|
||||
dtxtstr.h5.bin
|
||||
dtxtstr.h5.imp
|
||||
dtxtstr.h5.imp.err
|
||||
dtxtstr.h5.dmp
|
||||
dtxtstr.h5.dmp.err
|
||||
dtxtstr.h5.dff
|
||||
dtxtstr.h5.dff.err
|
||||
)
|
||||
SET (last_test "H5IMPORT-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (NAME H5IMPORT-h5importtest COMMAND $<TARGET_FILE:h5importtest>)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5IMPORT-h5importtest PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
# ----- TESTING "ASCII I32 rank 3 - Output BE " ;
|
||||
ADD_H5_TEST (ASCII_I32 testfiles/txtin32.txt testfiles/txtin32.conf txtin32.h5)
|
||||
|
||||
# ----- TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
|
||||
ADD_H5_TEST (ASCII_I16 testfiles/txtin16.txt testfiles/txtin16.conf txtin16.h5)
|
||||
|
||||
# ----- TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed "
|
||||
ADD_H5_TEST (ASCII_I8 testfiles/txtin8.txt testfiles/txtin8.conf txtin8.h5)
|
||||
|
||||
# ----- TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
|
||||
ADD_H5_TEST (ASCII_UI16 testfiles/txtuin16.txt testfiles/txtuin16.conf txtuin16.h5)
|
||||
|
||||
# ----- TESTING "ASCII UI32 - rank 3 - Output BE"
|
||||
ADD_H5_TEST (ASCII_UI32 testfiles/txtuin32.txt testfiles/txtuin32.conf txtuin32.h5)
|
||||
|
||||
# ----- TESTING "ASCII F32 - rank 3 - Output LE "
|
||||
ADD_H5_TEST (ASCII_F32 testfiles/txtfp32.txt testfiles/txtfp32.conf txtfp32.h5)
|
||||
|
||||
# ----- TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
|
||||
ADD_H5_TEST (ASCII_F64 testfiles/txtfp64.txt testfiles/txtfp64.conf txtfp64.h5)
|
||||
|
||||
# ----- TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
|
||||
ADD_H5_TEST (BINARY_F64 binfp64.bin testfiles/binfp64.conf binfp64.h5)
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_SKIP_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
|
||||
ELSE (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
|
||||
# ----- TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
|
||||
ADD_H5_TEST (BINARY_I8 binin8.bin testfiles/binin8.conf binin8.h5)
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_SKIP_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
|
||||
ELSE (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
|
||||
# ----- TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
|
||||
ADD_H5_TEST (BINARY_I16 binin16.bin testfiles/binin16.conf binin16.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I16 "/int/bin/16-bit" binin16.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
|
||||
ADD_H5_TEST (BINARY_I32 binin32.bin testfiles/binin32.conf binin32.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I32 "/int/bin/32-bit" binin32.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
|
||||
ADD_H5_TEST (BINARY_UI16 binuin16.bin testfiles/binuin16.conf binuin16.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_UI16 "/int/buin/16-bit" binuin16.h5 BINARY)
|
||||
|
||||
# ----- TESTING "BINARY UI32 - rank 3 - Output LE "
|
||||
ADD_H5_TEST (BINARY_UI32 binuin32.bin testfiles/binuin32.conf binuin32.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_UI32 "/int/buin/32-bit" binuin32.h5 BINARY)
|
||||
|
||||
# ----- TESTING "STR"
|
||||
ADD_H5_TEST (STR testfiles/txtstr.txt testfiles/txtstr.conf txtstr.h5)
|
||||
ADD_H5_DUMPTEST (STR "/mytext/data" txtstr.h5)
|
||||
|
||||
# ----- TESTING "BINARY I8 CR LF EOF"
|
||||
ADD_H5_TEST (BINARY_I8_EOF binin8w.bin testfiles/binin8w.conf binin8w.h5)
|
||||
ADD_H5_DUMPTEST (BINARY_I8_EOF "/dataset0" binin8w.h5 BINARY)
|
||||
|
||||
# ----- TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE "
|
||||
ADD_H5_TEST (ASCII_F64_R1 testfiles/textpfe64.txt testfiles/textpfe.conf textpfe.h5)
|
||||
|
@ -40,12 +40,6 @@ SET (H5_DEP_EXECUTABLES
|
||||
h5unjam
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5jam test executables
|
||||
@ -60,427 +54,7 @@ IF (BUILD_TESTING)
|
||||
#ADD_TEST (NAME h5jamgentest COMMAND $<TARGET_FILE:h5jamgentest>)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
SET (HDF5_REFERENCE_TXT_FILES
|
||||
u10.txt
|
||||
u511.txt
|
||||
u512.txt
|
||||
u513.txt
|
||||
h5jam-help.txt
|
||||
h5unjam-help.txt
|
||||
h5jam-ub-nohdf5.txt
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
tall.h5
|
||||
twithub.h5
|
||||
twithub513.h5
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5jam
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
FOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${txt_file}")
|
||||
#MESSAGE (STATUS " Copying ${txt_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5jam
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${txt_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# ============================================================
|
||||
# TEST_H5JAM_OUTPUT
|
||||
# For the purpose to verify only output & exitcode from h5jam
|
||||
#
|
||||
MACRO (TEST_H5JAM_OUTPUT expectfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-${expectfile} COMMAND $<TARGET_FILE:h5jam> ${ARGN})
|
||||
IF (NOT "${resultcode}" STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${expectfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT "${resultcode}" STREQUAL "0")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${expectfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${expectfile}.out
|
||||
${expectfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${expectfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5jam>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${expectfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=testfiles/${expectfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${expectfile} PROPERTIES DEPENDS H5JAM-${expectfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (TEST_H5JAM_OUTPUT)
|
||||
|
||||
# ============================================================
|
||||
# TEST_H5UNJAM_OUTPUT
|
||||
# For the purpose to verify only output & exitcode from h5unjam
|
||||
#
|
||||
MACRO (TEST_H5UNJAM_OUTPUT expectfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-UNJAM-${expectfile} COMMAND $<TARGET_FILE:h5unjam> ${ARGN})
|
||||
IF (NOT "${resultcode}" STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5JAM-UNJAM-${expectfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT "${resultcode}" STREQUAL "0")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-UNJAM-${expectfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${expectfile}.out
|
||||
${expectfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-UNJAM-${expectfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5unjam>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${expectfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=testfiles/${expectfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-UNJAM-${expectfile} PROPERTIES DEPENDS H5JAM-UNJAM-${expectfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (TEST_H5UNJAM_OUTPUT)
|
||||
|
||||
MACRO (CHECKFILE testname testdepends expected actual)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${actual}.new
|
||||
${actual}.new.err
|
||||
${actual}.out
|
||||
${actual}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-clear-objects PROPERTIES DEPENDS ${testdepends})
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=testfiles/${expected}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${actual}.new"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-H5DMP PROPERTIES DEPENDS H5JAM-${testname}-CHECKFILE-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-H5DMP_CMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=${actual}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${actual}.out"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_REFERENCE=${actual}.new"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-H5DMP_CMP PROPERTIES DEPENDS H5JAM-${testname}-CHECKFILE-H5DMP)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO(CHECKFILE testname testdepends expected actual)
|
||||
|
||||
MACRO (UNJAMTEST testname setfile infile ufile chkfile outfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-SETUP-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${infile}
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-SETUP
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${setfile} ${PROJECT_BINARY_DIR}/${infile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-SETUP PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-SETUP-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-SETUP)
|
||||
IF (NOT "${ufile}" STREQUAL "NONE")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM_D-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${ufile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM_D-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
ADD_TEST (NAME H5JAM-${testname}-UNJAM COMMAND $<TARGET_FILE:h5unjam> -i ${infile} -u ${ufile} -o ${outfile})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM_D-clear-objects)
|
||||
SET (compare_test ${ufile})
|
||||
ELSE (NOT "${ufile}" STREQUAL "NONE")
|
||||
IF (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM_D-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile}.ufile.txt ${outfile}.ufile.txt.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM_D-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5unjam>"
|
||||
-D "TEST_ARGS:STRING=-i;${infile};-o;${outfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${outfile}.ufile.txt"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM_D-clear-objects)
|
||||
SET (compare_test "${outfile}.ufile.txt")
|
||||
ELSE (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ADD_TEST (NAME H5JAM-${testname}-UNJAM COMMAND $<TARGET_FILE:h5unjam> -i ${infile} -o ${outfile})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
SET (compare_test "")
|
||||
ENDIF (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ENDIF (NOT "${ufile}" STREQUAL "NONE")
|
||||
IF (NOT "${compare_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${infile}.len.txt
|
||||
${infile}.cmp
|
||||
${infile}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}-UNJAM")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${infile}"
|
||||
-D "TEST_UFILE=${compare_test}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE="
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects)
|
||||
ENDIF (NOT "${compare_test}" STREQUAL "")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_NOUB
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=NO"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${outfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_UFILE=NULL"
|
||||
-D "TEST_OFILE=NULL"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
IF (NOT "${compare_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_NOUB PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-CHECK_UB_1)
|
||||
ELSE (NOT "${compare_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_NOUB PROPERTIES DEPENDS H5JAM-${testname}-UNJAM)
|
||||
ENDIF (NOT "${compare_test}" STREQUAL "")
|
||||
|
||||
CHECKFILE (${testname} "H5JAM-${testname}-UNJAM-CHECK_NOUB" ${chkfile} ${outfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO(UNJAMTEST testname infile ufile outfile)
|
||||
|
||||
MACRO (JAMTEST testname jamfile infile chkfile outfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile} ${infile}.cpy.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-${testname} COMMAND $<TARGET_FILE:h5jam> -u testfiles/${jamfile} -i testfiles/${infile} -o ${outfile} ${ARGN})
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname} PROPERTIES DEPENDS H5JAM-${testname}-clear-objects)
|
||||
SET (compare_test ${outfile})
|
||||
SET (compare_orig testfiles/${infile})
|
||||
IF ("${ARGN}" STREQUAL "--clobber")
|
||||
SET (compare_orig "")
|
||||
ENDIF ("${ARGN}" STREQUAL "--clobber")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${compare_test}.len.txt
|
||||
${compare_test}.cmp
|
||||
${compare_test}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${compare_test}"
|
||||
-D "TEST_UFILE=testfiles/${jamfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE=${compare_orig}"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}-CHECK_UB_1-clear-objects)
|
||||
CHECKFILE (${testname} "H5JAM-${testname}-CHECK_UB_1" ${chkfile} ${outfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (JAMTEST testname jamfile infile outfile)
|
||||
|
||||
MACRO (JAMTEST_NONE testname jamfile infile setfile chkfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove
|
||||
${chkfile} ${chkfile}.cpy.h5
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-SETUP
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different testfiles/${setfile} ${chkfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-SETUP PROPERTIES DEPENDS H5JAM-${testname}_NONE-clear-objects)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE_COPY
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${chkfile} ${chkfile}.cpy.h5
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE_COPY PROPERTIES DEPENDS H5JAM-${testname}_NONE-SETUP)
|
||||
|
||||
ADD_TEST (NAME H5JAM-${testname}_NONE COMMAND $<TARGET_FILE:h5jam> -u testfiles/${jamfile} -i ${chkfile} ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE PROPERTIES DEPENDS H5JAM-${testname}_NONE_COPY)
|
||||
|
||||
SET (compare_test ${chkfile})
|
||||
SET (compare_orig ${chkfile}.cpy.h5)
|
||||
IF ("${ARGN}" STREQUAL "--clobber")
|
||||
SET (compare_orig "")
|
||||
ENDIF ("${ARGN}" STREQUAL "--clobber")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${compare_test}.len.txt
|
||||
${compare_test}.cmp
|
||||
${compare_test}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}_NONE")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${compare_test}"
|
||||
-D "TEST_UFILE=testfiles/${jamfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE=${compare_orig}"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects)
|
||||
CHECKFILE (${testname} "H5JAM-${testname}_NONE-CHECK_UB_1" ${infile} ${chkfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (JAMTEST_NONE testname jamfile infile setfile chkfile)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#-------------------------------
|
||||
# Testing h5jam
|
||||
#-------------------------------
|
||||
# help page
|
||||
TEST_H5JAM_OUTPUT(h5jam-help 0 -h)
|
||||
|
||||
# don't allow HDF5 format file as an user block file
|
||||
TEST_H5JAM_OUTPUT(h5jam-ub-nohdf5 1 -i testfiles/tall.h5 -u testfiles/tall.h5 -o tall-tmp.h5)
|
||||
|
||||
JAMTEST (tall_u10 u10.txt tall.h5 tall.h5 ta2.h5)
|
||||
JAMTEST (tall_u511 u511.txt tall.h5 tall.h5 ta3.h5)
|
||||
JAMTEST (tall_u512 u512.txt tall.h5 tall.h5 ta4.h5)
|
||||
JAMTEST (tall_u513 u513.txt tall.h5 tall.h5 ta5.h5)
|
||||
|
||||
JAMTEST_NONE (N_ta_u10 u10.txt tall.h5 tall.h5 ta6.h5)
|
||||
JAMTEST_NONE (N_ta_u511 u511.txt tall.h5 tall.h5 ta7.h5)
|
||||
JAMTEST_NONE (N_ta_u512 u512.txt tall.h5 tall.h5 ta8.h5)
|
||||
JAMTEST_NONE (N_ta_u513 u513.txt tall.h5 tall.h5 ta9.h5)
|
||||
|
||||
JAMTEST (twithub_u10 u10.txt twithub.h5 tall.h5 tax2.h5)
|
||||
JAMTEST (twithub_u511 u511.txt twithub.h5 tall.h5 tax3.h5)
|
||||
JAMTEST (twithub_u512 u512.txt twithub.h5 tall.h5 tax4.h5)
|
||||
JAMTEST (twithub_u513 u513.txt twithub.h5 tall.h5 tax5.h5)
|
||||
|
||||
JAMTEST (twithub513_u10 u10.txt twithub513.h5 tall.h5 tax6.h5)
|
||||
JAMTEST (twithub513_u511 u511.txt twithub513.h5 tall.h5 tax7.h5)
|
||||
JAMTEST (twithub513_u512 u512.txt twithub513.h5 tall.h5 tax8.h5)
|
||||
JAMTEST (twithub513_u513 u513.txt twithub513.h5 tall.h5 tax9.h5)
|
||||
|
||||
JAMTEST (twithub_u10_c u10.txt twithub.h5 tall.h5 taz2.h5 --clobber)
|
||||
JAMTEST (twithub_u511_c u511.txt twithub.h5 tall.h5 taz3.h5 --clobber)
|
||||
JAMTEST (twithub_u512_c u512.txt twithub.h5 tall.h5 taz4.h5 --clobber)
|
||||
JAMTEST (twithub_u513_c u513.txt twithub.h5 tall.h5 taz5.h5 --clobber)
|
||||
|
||||
JAMTEST (twithub513_u10_c u10.txt twithub513.h5 tall.h5 taz6.h5 --clobber)
|
||||
JAMTEST (twithub513_u511_c u511.txt twithub513.h5 tall.h5 taz7.h5 --clobber)
|
||||
JAMTEST (twithub513_u512_c u512.txt twithub513.h5 tall.h5 taz8.h5 --clobber)
|
||||
JAMTEST (twithub513_u513_c u513.txt twithub513.h5 tall.h5 taz9.h5 --clobber)
|
||||
|
||||
JAMTEST_NONE (N_twithub_u10_c u10.txt tall.h5 twithub.h5 tay2.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u511_c u511.txt tall.h5 twithub.h5 tay3.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u512_c u512.txt tall.h5 twithub.h5 tay4.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u513_c u513.txt tall.h5 twithub.h5 tay5.h5 --clobber)
|
||||
|
||||
JAMTEST_NONE (N_twithub513_u10_c u10.txt tall.h5 twithub513.h5 tay6.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u511_c u511.txt tall.h5 twithub513.h5 tay7.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u512_c u512.txt tall.h5 twithub513.h5 tay8.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u513_c u513.txt tall.h5 twithub513.h5 tay9.h5 --clobber)
|
||||
|
||||
#-------------------------------
|
||||
# Testing h5unjam
|
||||
#-------------------------------
|
||||
# help page
|
||||
TEST_H5UNJAM_OUTPUT(h5unjam-help 0 -h)
|
||||
|
||||
UNJAMTEST (twithub_tall twithub.h5 tai1.h5 o10.txt tall.h5 taa1.h5)
|
||||
UNJAMTEST (twithub513_tall twithub513.h5 tai2.h5 o512.txt tall.h5 taa2.h5)
|
||||
|
||||
UNJAMTEST (N_twithub_tall twithub.h5 tai3.h5 NONE tall.h5 taa3.h5)
|
||||
UNJAMTEST (N_twithub513_tall twithub513.h5 tai4.h5 NONE tall.h5 taa4.h5)
|
||||
|
||||
UNJAMTEST (D_twithub_tall twithub.h5 taj2.h5 NONE tall.h5 tac2.h5 --delete)
|
||||
UNJAMTEST (D_twithub513_tall twithub513.h5 taj3.h5 NONE tall.h5 tac3.h5 --delete)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
|
428
tools/h5jam/CMakeTests.cmake
Normal file
428
tools/h5jam/CMakeTests.cmake
Normal file
@ -0,0 +1,428 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
SET (HDF5_REFERENCE_TXT_FILES
|
||||
u10.txt
|
||||
u511.txt
|
||||
u512.txt
|
||||
u513.txt
|
||||
h5jam-help.txt
|
||||
h5unjam-help.txt
|
||||
h5jam-ub-nohdf5.txt
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
tall.h5
|
||||
twithub.h5
|
||||
twithub513.h5
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5jam
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
FOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${txt_file}")
|
||||
#MESSAGE (STATUS " Copying ${txt_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5jam
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${txt_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# ============================================================
|
||||
# TEST_H5JAM_OUTPUT
|
||||
# For the purpose to verify only output & exitcode from h5jam
|
||||
#
|
||||
MACRO (TEST_H5JAM_OUTPUT expectfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-${expectfile} COMMAND $<TARGET_FILE:h5jam> ${ARGN})
|
||||
IF (NOT "${resultcode}" STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${expectfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT "${resultcode}" STREQUAL "0")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${expectfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${expectfile}.out
|
||||
${expectfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${expectfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5jam>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${expectfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=testfiles/${expectfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${expectfile} PROPERTIES DEPENDS H5JAM-${expectfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (TEST_H5JAM_OUTPUT)
|
||||
|
||||
# ============================================================
|
||||
# TEST_H5UNJAM_OUTPUT
|
||||
# For the purpose to verify only output & exitcode from h5unjam
|
||||
#
|
||||
MACRO (TEST_H5UNJAM_OUTPUT expectfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-UNJAM-${expectfile} COMMAND $<TARGET_FILE:h5unjam> ${ARGN})
|
||||
IF (NOT "${resultcode}" STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5JAM-UNJAM-${expectfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT "${resultcode}" STREQUAL "0")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-UNJAM-${expectfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${expectfile}.out
|
||||
${expectfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-UNJAM-${expectfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5unjam>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${expectfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=testfiles/${expectfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-UNJAM-${expectfile} PROPERTIES DEPENDS H5JAM-UNJAM-${expectfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (TEST_H5UNJAM_OUTPUT)
|
||||
|
||||
MACRO (CHECKFILE testname testdepends expected actual)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${actual}.new
|
||||
${actual}.new.err
|
||||
${actual}.out
|
||||
${actual}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-clear-objects PROPERTIES DEPENDS ${testdepends})
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-H5DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=testfiles/${expected}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${actual}.new"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-H5DMP PROPERTIES DEPENDS H5JAM-${testname}-CHECKFILE-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECKFILE-H5DMP_CMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=${actual}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${actual}.out"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_FILTER=(^(HDF5)[^\n]*)"
|
||||
-D "TEST_REFERENCE=${actual}.new"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECKFILE-H5DMP_CMP PROPERTIES DEPENDS H5JAM-${testname}-CHECKFILE-H5DMP)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO(CHECKFILE testname testdepends expected actual)
|
||||
|
||||
MACRO (UNJAMTEST testname setfile infile ufile chkfile outfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-SETUP-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${infile}
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-SETUP
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/testfiles/${setfile} ${PROJECT_BINARY_DIR}/${infile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-SETUP PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-SETUP-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-SETUP)
|
||||
IF (NOT "${ufile}" STREQUAL "NONE")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM_D-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${ufile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM_D-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
ADD_TEST (NAME H5JAM-${testname}-UNJAM COMMAND $<TARGET_FILE:h5unjam> -i ${infile} -u ${ufile} -o ${outfile})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM_D-clear-objects)
|
||||
SET (compare_test ${ufile})
|
||||
ELSE (NOT "${ufile}" STREQUAL "NONE")
|
||||
IF (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM_D-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile}.ufile.txt ${outfile}.ufile.txt.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM_D-clear-objects PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5unjam>"
|
||||
-D "TEST_ARGS:STRING=-i;${infile};-o;${outfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${outfile}.ufile.txt"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM_D-clear-objects)
|
||||
SET (compare_test "${outfile}.ufile.txt")
|
||||
ELSE (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ADD_TEST (NAME H5JAM-${testname}-UNJAM COMMAND $<TARGET_FILE:h5unjam> -i ${infile} -o ${outfile})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-clear-objects)
|
||||
SET (compare_test "")
|
||||
ENDIF (NOT "${ARGN}" STREQUAL "--delete")
|
||||
ENDIF (NOT "${ufile}" STREQUAL "NONE")
|
||||
IF (NOT "${compare_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${infile}.len.txt
|
||||
${infile}.cmp
|
||||
${infile}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}-UNJAM")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${infile}"
|
||||
-D "TEST_UFILE=${compare_test}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE="
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-CHECK_UB_1-clear-objects)
|
||||
ENDIF (NOT "${compare_test}" STREQUAL "")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-UNJAM-CHECK_NOUB
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=NO"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${outfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_UFILE=NULL"
|
||||
-D "TEST_OFILE=NULL"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
IF (NOT "${compare_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_NOUB PROPERTIES DEPENDS H5JAM-${testname}-UNJAM-CHECK_UB_1)
|
||||
ELSE (NOT "${compare_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-UNJAM-CHECK_NOUB PROPERTIES DEPENDS H5JAM-${testname}-UNJAM)
|
||||
ENDIF (NOT "${compare_test}" STREQUAL "")
|
||||
|
||||
CHECKFILE (${testname} "H5JAM-${testname}-UNJAM-CHECK_NOUB" ${chkfile} ${outfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO(UNJAMTEST testname infile ufile outfile)
|
||||
|
||||
MACRO (JAMTEST testname jamfile infile chkfile outfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${outfile} ${infile}.cpy.h5
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5JAM-${testname} COMMAND $<TARGET_FILE:h5jam> -u testfiles/${jamfile} -i testfiles/${infile} -o ${outfile} ${ARGN})
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname} PROPERTIES DEPENDS H5JAM-${testname}-clear-objects)
|
||||
SET (compare_test ${outfile})
|
||||
SET (compare_orig testfiles/${infile})
|
||||
IF ("${ARGN}" STREQUAL "--clobber")
|
||||
SET (compare_orig "")
|
||||
ENDIF ("${ARGN}" STREQUAL "--clobber")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${compare_test}.len.txt
|
||||
${compare_test}.cmp
|
||||
${compare_test}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${compare_test}"
|
||||
-D "TEST_UFILE=testfiles/${jamfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE=${compare_orig}"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}-CHECK_UB_1-clear-objects)
|
||||
CHECKFILE (${testname} "H5JAM-${testname}-CHECK_UB_1" ${chkfile} ${outfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (JAMTEST testname jamfile infile outfile)
|
||||
|
||||
MACRO (JAMTEST_NONE testname jamfile infile setfile chkfile)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND} -E remove
|
||||
${chkfile} ${chkfile}.cpy.h5
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-SETUP
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different testfiles/${setfile} ${chkfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-SETUP PROPERTIES DEPENDS H5JAM-${testname}_NONE-clear-objects)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE_COPY
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${chkfile} ${chkfile}.cpy.h5
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE_COPY PROPERTIES DEPENDS H5JAM-${testname}_NONE-SETUP)
|
||||
|
||||
ADD_TEST (NAME H5JAM-${testname}_NONE COMMAND $<TARGET_FILE:h5jam> -u testfiles/${jamfile} -i ${chkfile} ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE PROPERTIES DEPENDS H5JAM-${testname}_NONE_COPY)
|
||||
|
||||
SET (compare_test ${chkfile})
|
||||
SET (compare_orig ${chkfile}.cpy.h5)
|
||||
IF ("${ARGN}" STREQUAL "--clobber")
|
||||
SET (compare_orig "")
|
||||
ENDIF ("${ARGN}" STREQUAL "--clobber")
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${compare_test}.len.txt
|
||||
${compare_test}.cmp
|
||||
${compare_test}-ub.cmp
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects PROPERTIES DEPENDS "H5JAM-${testname}_NONE")
|
||||
ADD_TEST (
|
||||
NAME H5JAM-${testname}_NONE-CHECK_UB_1
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:tellub>"
|
||||
-D "TEST_GET_PROGRAM=$<TARGET_FILE:getub>"
|
||||
-D "TEST_CHECKUB=YES"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_HFILE=${compare_test}"
|
||||
-D "TEST_UFILE=testfiles/${jamfile}"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OFILE=${compare_orig}"
|
||||
-P "${HDF5_RESOURCES_DIR}/userblockTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5JAM-${testname}_NONE-CHECK_UB_1 PROPERTIES DEPENDS H5JAM-${testname}_NONE-CHECK_UB_1-clear-objects)
|
||||
CHECKFILE (${testname} "H5JAM-${testname}_NONE-CHECK_UB_1" ${infile} ${chkfile})
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (JAMTEST_NONE testname jamfile infile setfile chkfile)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
#-------------------------------
|
||||
# Testing h5jam
|
||||
#-------------------------------
|
||||
# help page
|
||||
TEST_H5JAM_OUTPUT(h5jam-help 0 -h)
|
||||
|
||||
# don't allow HDF5 format file as an user block file
|
||||
TEST_H5JAM_OUTPUT(h5jam-ub-nohdf5 1 -i testfiles/tall.h5 -u testfiles/tall.h5 -o tall-tmp.h5)
|
||||
|
||||
JAMTEST (tall_u10 u10.txt tall.h5 tall.h5 ta2.h5)
|
||||
JAMTEST (tall_u511 u511.txt tall.h5 tall.h5 ta3.h5)
|
||||
JAMTEST (tall_u512 u512.txt tall.h5 tall.h5 ta4.h5)
|
||||
JAMTEST (tall_u513 u513.txt tall.h5 tall.h5 ta5.h5)
|
||||
|
||||
JAMTEST_NONE (N_ta_u10 u10.txt tall.h5 tall.h5 ta6.h5)
|
||||
JAMTEST_NONE (N_ta_u511 u511.txt tall.h5 tall.h5 ta7.h5)
|
||||
JAMTEST_NONE (N_ta_u512 u512.txt tall.h5 tall.h5 ta8.h5)
|
||||
JAMTEST_NONE (N_ta_u513 u513.txt tall.h5 tall.h5 ta9.h5)
|
||||
|
||||
JAMTEST (twithub_u10 u10.txt twithub.h5 tall.h5 tax2.h5)
|
||||
JAMTEST (twithub_u511 u511.txt twithub.h5 tall.h5 tax3.h5)
|
||||
JAMTEST (twithub_u512 u512.txt twithub.h5 tall.h5 tax4.h5)
|
||||
JAMTEST (twithub_u513 u513.txt twithub.h5 tall.h5 tax5.h5)
|
||||
|
||||
JAMTEST (twithub513_u10 u10.txt twithub513.h5 tall.h5 tax6.h5)
|
||||
JAMTEST (twithub513_u511 u511.txt twithub513.h5 tall.h5 tax7.h5)
|
||||
JAMTEST (twithub513_u512 u512.txt twithub513.h5 tall.h5 tax8.h5)
|
||||
JAMTEST (twithub513_u513 u513.txt twithub513.h5 tall.h5 tax9.h5)
|
||||
|
||||
JAMTEST (twithub_u10_c u10.txt twithub.h5 tall.h5 taz2.h5 --clobber)
|
||||
JAMTEST (twithub_u511_c u511.txt twithub.h5 tall.h5 taz3.h5 --clobber)
|
||||
JAMTEST (twithub_u512_c u512.txt twithub.h5 tall.h5 taz4.h5 --clobber)
|
||||
JAMTEST (twithub_u513_c u513.txt twithub.h5 tall.h5 taz5.h5 --clobber)
|
||||
|
||||
JAMTEST (twithub513_u10_c u10.txt twithub513.h5 tall.h5 taz6.h5 --clobber)
|
||||
JAMTEST (twithub513_u511_c u511.txt twithub513.h5 tall.h5 taz7.h5 --clobber)
|
||||
JAMTEST (twithub513_u512_c u512.txt twithub513.h5 tall.h5 taz8.h5 --clobber)
|
||||
JAMTEST (twithub513_u513_c u513.txt twithub513.h5 tall.h5 taz9.h5 --clobber)
|
||||
|
||||
JAMTEST_NONE (N_twithub_u10_c u10.txt tall.h5 twithub.h5 tay2.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u511_c u511.txt tall.h5 twithub.h5 tay3.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u512_c u512.txt tall.h5 twithub.h5 tay4.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub_u513_c u513.txt tall.h5 twithub.h5 tay5.h5 --clobber)
|
||||
|
||||
JAMTEST_NONE (N_twithub513_u10_c u10.txt tall.h5 twithub513.h5 tay6.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u511_c u511.txt tall.h5 twithub513.h5 tay7.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u512_c u512.txt tall.h5 twithub513.h5 tay8.h5 --clobber)
|
||||
JAMTEST_NONE (N_twithub513_u513_c u513.txt tall.h5 twithub513.h5 tay9.h5 --clobber)
|
||||
|
||||
#-------------------------------
|
||||
# Testing h5unjam
|
||||
#-------------------------------
|
||||
# help page
|
||||
TEST_H5UNJAM_OUTPUT(h5unjam-help 0 -h)
|
||||
|
||||
UNJAMTEST (twithub_tall twithub.h5 tai1.h5 o10.txt tall.h5 taa1.h5)
|
||||
UNJAMTEST (twithub513_tall twithub513.h5 tai2.h5 o512.txt tall.h5 taa2.h5)
|
||||
|
||||
UNJAMTEST (N_twithub_tall twithub.h5 tai3.h5 NONE tall.h5 taa3.h5)
|
||||
UNJAMTEST (N_twithub513_tall twithub513.h5 tai4.h5 NONE tall.h5 taa4.h5)
|
||||
|
||||
UNJAMTEST (D_twithub_tall twithub.h5 taj2.h5 NONE tall.h5 tac2.h5 --delete)
|
||||
UNJAMTEST (D_twithub513_tall twithub513.h5 taj3.h5 NONE tall.h5 tac3.h5 --delete)
|
@ -19,408 +19,9 @@ SET (H5_DEP_EXECUTABLES
|
||||
h5ls
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the test files from source directory to test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinktar.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/nosuchfile.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg_le.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg_be.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdataregbe.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdataregle.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-5.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-6.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-7.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-1-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-2-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-3-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-6-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-7-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-5.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-nodangle-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlinks-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tmultifile.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2le.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2be.ls
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
# copy the list of test files
|
||||
FOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${listfiles}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${listfiles} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5ls
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${listfiles} ${dest}
|
||||
)
|
||||
ENDFOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5LS-${resultfile} COMMAND $<TARGET_FILE:h5ls> ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5LS-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ./testfiles/${resultfile}.out ./testfiles/${resultfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5LS-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5ls>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.ls"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES DEPENDS "H5LS-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5LS-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
help-1.out
|
||||
help-1.out.err
|
||||
help-2.out
|
||||
help-2.out.err
|
||||
help-3.out
|
||||
help-3.out.err
|
||||
nosuchfile.out
|
||||
nosuchfile.out.err
|
||||
tall-1.out
|
||||
tall-1.out.err
|
||||
tall-2.out
|
||||
tall-2.out.err
|
||||
tarray1.out
|
||||
tarray1.out.err
|
||||
tattr2.out
|
||||
tattr2.out.err
|
||||
tcomp-1.out
|
||||
tcomp-1.out.err
|
||||
tdataregbe.out
|
||||
tdataregbe.out.err
|
||||
tdataregle.out
|
||||
tdataregle.out.err
|
||||
tdset-1.out
|
||||
tdset-1.out.err
|
||||
tempty.out
|
||||
tempty.out.err
|
||||
textlink-1.out
|
||||
textlink-1.out.err
|
||||
textlinksrc-1.out
|
||||
textlinksrc-1.out.err
|
||||
textlinksrc-2.out
|
||||
textlinksrc-2.out.err
|
||||
textlinksrc-3.out
|
||||
textlinksrc-3.out.err
|
||||
textlinksrc-4.out
|
||||
textlinksrc-4.out.err
|
||||
textlinksrc-5.out
|
||||
textlinksrc-5.out.err
|
||||
textlinksrc-6.out
|
||||
textlinksrc-6.out.err
|
||||
textlinksrc-7.out
|
||||
textlinksrc-7.out.err
|
||||
textlinksrc-1-old.out
|
||||
textlinksrc-1-old.out.err
|
||||
textlinksrc-2-old.out
|
||||
textlinksrc-2-old.out.err
|
||||
textlinksrc-3-old.out
|
||||
textlinksrc-3-old.out.err
|
||||
textlinksrc-6-old.out
|
||||
textlinksrc-6-old.out.err
|
||||
textlinksrc-7-old.out
|
||||
textlinksrc-7-old.out.err
|
||||
tgrp_comments.out
|
||||
tgrp_comments.out.err
|
||||
tsoftlinks-1.out
|
||||
tsoftlinks-1.out.err
|
||||
tsoftlinks-2.out
|
||||
tsoftlinks-2.out.err
|
||||
tsoftlinks-3.out
|
||||
tsoftlinks-3.out.err
|
||||
tsoftlinks-4.out
|
||||
tsoftlinks-4.out.err
|
||||
tsoftlinks-5.out
|
||||
tsoftlinks-5.out.err
|
||||
textlinksrc-nodangle-1.out
|
||||
textlinksrc-nodangle-1.out.err
|
||||
textlinksrc-nodangle-2.out
|
||||
textlinksrc-nodangle-2.out.err
|
||||
tsoftlinks-nodangle-1.out
|
||||
tsoftlinks-nodangle-1.out.err
|
||||
thlinks-nodangle-1.out
|
||||
thlinks-nodangle-1.out.err
|
||||
tgroup.out
|
||||
tgroup.out.err
|
||||
tgroup-1.out
|
||||
tgroup-1.out.err
|
||||
tgroup-2.out
|
||||
tgroup-2.out.err
|
||||
tgroup-3.out
|
||||
tgroup-3.out.err
|
||||
thlink-1.out
|
||||
thlink-1.out.err
|
||||
tloop-1.out
|
||||
tloop-1.out.err
|
||||
tnestcomp-1.out
|
||||
tnestcomp-1.out.err
|
||||
tnestcomp-2.out
|
||||
tnestcomp-2.out.err
|
||||
tnestcomp-3.out
|
||||
tnestcomp-3.out.err
|
||||
tnestcomp-4.out
|
||||
tnestcomp-4.out.err
|
||||
tsaf.out
|
||||
tsaf.out.err
|
||||
tslink-1.out
|
||||
tslink-1.out.err
|
||||
tstr-1.out
|
||||
tstr-1.out.err
|
||||
tudlink-1.out
|
||||
tudlink-1.out.err
|
||||
tvldtypes1.out
|
||||
tvldtypes1.out.err
|
||||
tvldtypes2le.out
|
||||
tvldtypes2le.out.err
|
||||
tvldtypes2be.out
|
||||
tvldtypes2be.out.err
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5LS-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5LS-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# test the help syntax
|
||||
ADD_H5_TEST (help-1 0 -w80 -h)
|
||||
ADD_H5_TEST (help-2 0 -w80 --help)
|
||||
ADD_H5_TEST (help-3 0 -w80 -?)
|
||||
|
||||
# test simple command
|
||||
ADD_H5_TEST (tall-1 0 -w80 tall.h5)
|
||||
ADD_H5_TEST (tall-2 0 -w80 -r -d tall.h5)
|
||||
ADD_H5_TEST (tgroup 0 -w80 tgroup.h5)
|
||||
ADD_H5_TEST (tgroup-3 0 -w80 tgroup.h5/g1)
|
||||
|
||||
# test for displaying groups
|
||||
# The following combination of arguments is expected to return an error message
|
||||
# and return value 1
|
||||
ADD_H5_TEST (tgroup-1 1 -w80 -r -g tgroup.h5)
|
||||
ADD_H5_TEST (tgroup-2 0 -w80 -g tgroup.h5/g1)
|
||||
|
||||
# test for files with groups that have long comments
|
||||
ADD_H5_TEST (tgrp_comments 0 -w80 -v -g tgrp_comments.h5/glongcomment)
|
||||
|
||||
# test for displaying simple space datasets
|
||||
ADD_H5_TEST (tdset-1 0 -w80 -r -d tdset.h5)
|
||||
|
||||
# test for displaying soft links (dangle)
|
||||
ADD_H5_TEST (tslink-1 0 -w80 -r tslink.h5)
|
||||
|
||||
# test for displaying more soft links with --follow-symlinks
|
||||
ADD_H5_TEST (tsoftlinks-1 0 --follow-symlinks tsoftlinks.h5)
|
||||
ADD_H5_TEST (tsoftlinks-2 0 --follow-symlinks -r tsoftlinks.h5)
|
||||
ADD_H5_TEST (tsoftlinks-3 0 --follow-symlinks tsoftlinks.h5/group1)
|
||||
ADD_H5_TEST (tsoftlinks-4 0 --follow-symlinks -r tsoftlinks.h5/group1)
|
||||
ADD_H5_TEST (tsoftlinks-5 0 --follow-symlinks tsoftlinks.h5/soft_dset1)
|
||||
|
||||
# test for displaying external and user-defined links with --follow-symlinks
|
||||
ADD_H5_TEST (textlink-1 0 -w80 -r textlink.h5)
|
||||
ADD_H5_TEST (textlinksrc-1 0 -w80 --follow-symlinks -r textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-2 0 -w80 --follow-symlinks -rv textlinksrc.h5/ext_link5)
|
||||
ADD_H5_TEST (textlinksrc-3 0 -w80 --follow-symlinks -r textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-4 0 -w80 -r textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-5 0 -w80 -r textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-6 0 -w80 --follow-symlinks textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-7 0 -w80 --follow-symlinks textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (tudlink-1 0 -w80 -r tudlink.h5)
|
||||
|
||||
# test for displaying external links with -E
|
||||
# the option -E will be depriciated but keep it for backward compatibility
|
||||
ADD_H5_TEST (textlinksrc-1-old 0 -w80 -Er textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-2-old 0 -w80 -Erv textlinksrc.h5/ext_link5)
|
||||
ADD_H5_TEST (textlinksrc-3-old 0 -w80 -Er textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-6-old 0 -w80 -E textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-7-old 0 -w80 -E textlinksrc.h5/ext_link1)
|
||||
|
||||
# tests for no-dangling-links
|
||||
# if this option is given on dangling link, h5ls should return exit code 1
|
||||
# when used alone , expect to print out help and return exit code 1
|
||||
ADD_H5_TEST (textlinksrc-nodangle-1 1 -w80 --no-dangling-links textlinksrc.h5)
|
||||
# external dangling link - expected exit code 1
|
||||
ADD_H5_TEST (textlinksrc-nodangle-2 1 -w80 --follow-symlinks --no-dangling-links textlinksrc.h5)
|
||||
# soft dangling link - expected exit code 1
|
||||
ADD_H5_TEST (tsoftlinks-nodangle-1 1 -w80 --follow-symlinks --no-dangling-links tsoftlinks.h5)
|
||||
# when used file with no dangling links - expected exit code 0
|
||||
ADD_H5_TEST (thlinks-nodangle-1 0 -w80 --follow-symlinks --no-dangling-links thlink.h5)
|
||||
|
||||
# test for wildcards in filename (does not work with cmake)
|
||||
# ADD_H5_TEST (tstarfile 0 -w80 t*link.h5)
|
||||
# ADD_H5_TEST (tqmarkfile 0 -w80 t?link.h5)
|
||||
ADD_H5_TEST (tmultifile 0 -w80 thlink.h5 tslink.h5)
|
||||
|
||||
# tests for hard links
|
||||
ADD_H5_TEST (thlink-1 0 -w80 thlink.h5)
|
||||
|
||||
# tests for compound data types
|
||||
ADD_H5_TEST (tcomp-1 0 -w80 -r -d tcompound.h5)
|
||||
|
||||
#test for the nested compound type
|
||||
ADD_H5_TEST (tnestcomp-1 0 -w80 -r -d tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-2 0 -w80 -r -d -S tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-3 0 -w80 -r -d -l tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-4 0 -w80 -r -d -l -S tnestedcomp.h5)
|
||||
|
||||
# test for loop detection
|
||||
ADD_H5_TEST (tloop-1 0 -w80 -r -d tloop.h5)
|
||||
|
||||
# test for string
|
||||
ADD_H5_TEST (tstr-1 0 -w80 -r -d tstr.h5)
|
||||
|
||||
# test test file created from lib SAF team
|
||||
ADD_H5_TEST (tsaf 0 -w80 -r -d tsaf.h5)
|
||||
|
||||
# test for variable length data types
|
||||
ADD_H5_TEST (tvldtypes1 0 -w80 -r -d tvldtypes1.h5)
|
||||
|
||||
# test for array data types
|
||||
ADD_H5_TEST (tarray1 0 -w80 -r -d tarray1.h5)
|
||||
|
||||
# test for empty data
|
||||
ADD_H5_TEST (tempty 0 -w80 -d tempty.h5)
|
||||
|
||||
# test for all dataset types written to attributes
|
||||
# enable -S for avoiding printing NATIVE types
|
||||
ADD_H5_TEST (tattr2 0 -w80 -v -S tattr2.h5)
|
||||
|
||||
# test for attribute with region references wo verbose mode
|
||||
# ( HDFFV-7838, )
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tattrreg_be 0 -w80 -v -d tattrreg.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tattrreg_le 0 -w80 -v -d tattrreg.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
|
||||
# test for non-existing file
|
||||
ADD_H5_TEST (nosuchfile 1 nosuchfile.h5)
|
||||
|
||||
# test for variable length data types in verbose mode
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tvldtypes2be 0 -v tvldtypes1.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tvldtypes2le 0 -v tvldtypes1.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
|
||||
# test for dataset region references data types in verbose mode
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tdataregbe 0 -v tdatareg.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tdataregle 0 -v tdatareg.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
|
402
tools/h5ls/CMakeTests.cmake
Normal file
402
tools/h5ls/CMakeTests.cmake
Normal file
@ -0,0 +1,402 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the test files from source directory to test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr2.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinktar.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/help-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/nosuchfile.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattr2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg_le.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg_be.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdataregbe.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdataregle.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-5.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-6.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-7.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-1-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-2-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-3-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-6-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-7-old.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-5.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc-nodangle-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlinks-nodangle-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tloop-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tmultifile.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-2.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-3.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-4.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tstr-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink-1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2le.ls
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2be.ls
|
||||
)
|
||||
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
# copy the list of test files
|
||||
FOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${listfiles}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${listfiles} to ${dest}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5ls
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${listfiles} ${dest}
|
||||
)
|
||||
ENDFOREACH (listfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5LS-${resultfile} COMMAND $<TARGET_FILE:h5ls> ${ARGN})
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (${resultcode} STREQUAL "1")
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (${resultcode} STREQUAL "1")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5LS-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ./testfiles/${resultfile}.out ./testfiles/${resultfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5LS-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5ls>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.ls"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5LS-${resultfile} PROPERTIES DEPENDS "H5LS-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5LS-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
help-1.out
|
||||
help-1.out.err
|
||||
help-2.out
|
||||
help-2.out.err
|
||||
help-3.out
|
||||
help-3.out.err
|
||||
nosuchfile.out
|
||||
nosuchfile.out.err
|
||||
tall-1.out
|
||||
tall-1.out.err
|
||||
tall-2.out
|
||||
tall-2.out.err
|
||||
tarray1.out
|
||||
tarray1.out.err
|
||||
tattr2.out
|
||||
tattr2.out.err
|
||||
tcomp-1.out
|
||||
tcomp-1.out.err
|
||||
tdataregbe.out
|
||||
tdataregbe.out.err
|
||||
tdataregle.out
|
||||
tdataregle.out.err
|
||||
tdset-1.out
|
||||
tdset-1.out.err
|
||||
tempty.out
|
||||
tempty.out.err
|
||||
textlink-1.out
|
||||
textlink-1.out.err
|
||||
textlinksrc-1.out
|
||||
textlinksrc-1.out.err
|
||||
textlinksrc-2.out
|
||||
textlinksrc-2.out.err
|
||||
textlinksrc-3.out
|
||||
textlinksrc-3.out.err
|
||||
textlinksrc-4.out
|
||||
textlinksrc-4.out.err
|
||||
textlinksrc-5.out
|
||||
textlinksrc-5.out.err
|
||||
textlinksrc-6.out
|
||||
textlinksrc-6.out.err
|
||||
textlinksrc-7.out
|
||||
textlinksrc-7.out.err
|
||||
textlinksrc-1-old.out
|
||||
textlinksrc-1-old.out.err
|
||||
textlinksrc-2-old.out
|
||||
textlinksrc-2-old.out.err
|
||||
textlinksrc-3-old.out
|
||||
textlinksrc-3-old.out.err
|
||||
textlinksrc-6-old.out
|
||||
textlinksrc-6-old.out.err
|
||||
textlinksrc-7-old.out
|
||||
textlinksrc-7-old.out.err
|
||||
tgrp_comments.out
|
||||
tgrp_comments.out.err
|
||||
tsoftlinks-1.out
|
||||
tsoftlinks-1.out.err
|
||||
tsoftlinks-2.out
|
||||
tsoftlinks-2.out.err
|
||||
tsoftlinks-3.out
|
||||
tsoftlinks-3.out.err
|
||||
tsoftlinks-4.out
|
||||
tsoftlinks-4.out.err
|
||||
tsoftlinks-5.out
|
||||
tsoftlinks-5.out.err
|
||||
textlinksrc-nodangle-1.out
|
||||
textlinksrc-nodangle-1.out.err
|
||||
textlinksrc-nodangle-2.out
|
||||
textlinksrc-nodangle-2.out.err
|
||||
tsoftlinks-nodangle-1.out
|
||||
tsoftlinks-nodangle-1.out.err
|
||||
thlinks-nodangle-1.out
|
||||
thlinks-nodangle-1.out.err
|
||||
tgroup.out
|
||||
tgroup.out.err
|
||||
tgroup-1.out
|
||||
tgroup-1.out.err
|
||||
tgroup-2.out
|
||||
tgroup-2.out.err
|
||||
tgroup-3.out
|
||||
tgroup-3.out.err
|
||||
thlink-1.out
|
||||
thlink-1.out.err
|
||||
tloop-1.out
|
||||
tloop-1.out.err
|
||||
tnestcomp-1.out
|
||||
tnestcomp-1.out.err
|
||||
tnestcomp-2.out
|
||||
tnestcomp-2.out.err
|
||||
tnestcomp-3.out
|
||||
tnestcomp-3.out.err
|
||||
tnestcomp-4.out
|
||||
tnestcomp-4.out.err
|
||||
tsaf.out
|
||||
tsaf.out.err
|
||||
tslink-1.out
|
||||
tslink-1.out.err
|
||||
tstr-1.out
|
||||
tstr-1.out.err
|
||||
tudlink-1.out
|
||||
tudlink-1.out.err
|
||||
tvldtypes1.out
|
||||
tvldtypes1.out.err
|
||||
tvldtypes2le.out
|
||||
tvldtypes2le.out.err
|
||||
tvldtypes2be.out
|
||||
tvldtypes2be.out.err
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5LS-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5LS-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# test the help syntax
|
||||
ADD_H5_TEST (help-1 0 -w80 -h)
|
||||
ADD_H5_TEST (help-2 0 -w80 --help)
|
||||
ADD_H5_TEST (help-3 0 -w80 -?)
|
||||
|
||||
# test simple command
|
||||
ADD_H5_TEST (tall-1 0 -w80 tall.h5)
|
||||
ADD_H5_TEST (tall-2 0 -w80 -r -d tall.h5)
|
||||
ADD_H5_TEST (tgroup 0 -w80 tgroup.h5)
|
||||
ADD_H5_TEST (tgroup-3 0 -w80 tgroup.h5/g1)
|
||||
|
||||
# test for displaying groups
|
||||
# The following combination of arguments is expected to return an error message
|
||||
# and return value 1
|
||||
ADD_H5_TEST (tgroup-1 1 -w80 -r -g tgroup.h5)
|
||||
ADD_H5_TEST (tgroup-2 0 -w80 -g tgroup.h5/g1)
|
||||
|
||||
# test for files with groups that have long comments
|
||||
ADD_H5_TEST (tgrp_comments 0 -w80 -v -g tgrp_comments.h5/glongcomment)
|
||||
|
||||
# test for displaying simple space datasets
|
||||
ADD_H5_TEST (tdset-1 0 -w80 -r -d tdset.h5)
|
||||
|
||||
# test for displaying soft links (dangle)
|
||||
ADD_H5_TEST (tslink-1 0 -w80 -r tslink.h5)
|
||||
|
||||
# test for displaying more soft links with --follow-symlinks
|
||||
ADD_H5_TEST (tsoftlinks-1 0 --follow-symlinks tsoftlinks.h5)
|
||||
ADD_H5_TEST (tsoftlinks-2 0 --follow-symlinks -r tsoftlinks.h5)
|
||||
ADD_H5_TEST (tsoftlinks-3 0 --follow-symlinks tsoftlinks.h5/group1)
|
||||
ADD_H5_TEST (tsoftlinks-4 0 --follow-symlinks -r tsoftlinks.h5/group1)
|
||||
ADD_H5_TEST (tsoftlinks-5 0 --follow-symlinks tsoftlinks.h5/soft_dset1)
|
||||
|
||||
# test for displaying external and user-defined links with --follow-symlinks
|
||||
ADD_H5_TEST (textlink-1 0 -w80 -r textlink.h5)
|
||||
ADD_H5_TEST (textlinksrc-1 0 -w80 --follow-symlinks -r textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-2 0 -w80 --follow-symlinks -rv textlinksrc.h5/ext_link5)
|
||||
ADD_H5_TEST (textlinksrc-3 0 -w80 --follow-symlinks -r textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-4 0 -w80 -r textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-5 0 -w80 -r textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-6 0 -w80 --follow-symlinks textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-7 0 -w80 --follow-symlinks textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (tudlink-1 0 -w80 -r tudlink.h5)
|
||||
|
||||
# test for displaying external links with -E
|
||||
# the option -E will be depriciated but keep it for backward compatibility
|
||||
ADD_H5_TEST (textlinksrc-1-old 0 -w80 -Er textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-2-old 0 -w80 -Erv textlinksrc.h5/ext_link5)
|
||||
ADD_H5_TEST (textlinksrc-3-old 0 -w80 -Er textlinksrc.h5/ext_link1)
|
||||
ADD_H5_TEST (textlinksrc-6-old 0 -w80 -E textlinksrc.h5)
|
||||
ADD_H5_TEST (textlinksrc-7-old 0 -w80 -E textlinksrc.h5/ext_link1)
|
||||
|
||||
# tests for no-dangling-links
|
||||
# if this option is given on dangling link, h5ls should return exit code 1
|
||||
# when used alone , expect to print out help and return exit code 1
|
||||
ADD_H5_TEST (textlinksrc-nodangle-1 1 -w80 --no-dangling-links textlinksrc.h5)
|
||||
# external dangling link - expected exit code 1
|
||||
ADD_H5_TEST (textlinksrc-nodangle-2 1 -w80 --follow-symlinks --no-dangling-links textlinksrc.h5)
|
||||
# soft dangling link - expected exit code 1
|
||||
ADD_H5_TEST (tsoftlinks-nodangle-1 1 -w80 --follow-symlinks --no-dangling-links tsoftlinks.h5)
|
||||
# when used file with no dangling links - expected exit code 0
|
||||
ADD_H5_TEST (thlinks-nodangle-1 0 -w80 --follow-symlinks --no-dangling-links thlink.h5)
|
||||
|
||||
# test for wildcards in filename (does not work with cmake)
|
||||
# ADD_H5_TEST (tstarfile 0 -w80 t*link.h5)
|
||||
# ADD_H5_TEST (tqmarkfile 0 -w80 t?link.h5)
|
||||
ADD_H5_TEST (tmultifile 0 -w80 thlink.h5 tslink.h5)
|
||||
|
||||
# tests for hard links
|
||||
ADD_H5_TEST (thlink-1 0 -w80 thlink.h5)
|
||||
|
||||
# tests for compound data types
|
||||
ADD_H5_TEST (tcomp-1 0 -w80 -r -d tcompound.h5)
|
||||
|
||||
#test for the nested compound type
|
||||
ADD_H5_TEST (tnestcomp-1 0 -w80 -r -d tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-2 0 -w80 -r -d -S tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-3 0 -w80 -r -d -l tnestedcomp.h5)
|
||||
|
||||
ADD_H5_TEST (tnestcomp-4 0 -w80 -r -d -l -S tnestedcomp.h5)
|
||||
|
||||
# test for loop detection
|
||||
ADD_H5_TEST (tloop-1 0 -w80 -r -d tloop.h5)
|
||||
|
||||
# test for string
|
||||
ADD_H5_TEST (tstr-1 0 -w80 -r -d tstr.h5)
|
||||
|
||||
# test test file created from lib SAF team
|
||||
ADD_H5_TEST (tsaf 0 -w80 -r -d tsaf.h5)
|
||||
|
||||
# test for variable length data types
|
||||
ADD_H5_TEST (tvldtypes1 0 -w80 -r -d tvldtypes1.h5)
|
||||
|
||||
# test for array data types
|
||||
ADD_H5_TEST (tarray1 0 -w80 -r -d tarray1.h5)
|
||||
|
||||
# test for empty data
|
||||
ADD_H5_TEST (tempty 0 -w80 -d tempty.h5)
|
||||
|
||||
# test for all dataset types written to attributes
|
||||
# enable -S for avoiding printing NATIVE types
|
||||
ADD_H5_TEST (tattr2 0 -w80 -v -S tattr2.h5)
|
||||
|
||||
# test for attribute with region references wo verbose mode
|
||||
# ( HDFFV-7838, )
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tattrreg_be 0 -w80 -v -d tattrreg.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tattrreg_le 0 -w80 -v -d tattrreg.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
|
||||
# test for non-existing file
|
||||
ADD_H5_TEST (nosuchfile 1 nosuchfile.h5)
|
||||
|
||||
# test for variable length data types in verbose mode
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tvldtypes2be 0 -v tvldtypes1.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tvldtypes2le 0 -v tvldtypes1.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
||||
|
||||
# test for dataset region references data types in verbose mode
|
||||
IF (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tdataregbe 0 -v tdatareg.h5)
|
||||
ELSE (H5_WORDS_BIGENDIAN)
|
||||
ADD_H5_TEST (tdataregle 0 -v tdatareg.h5)
|
||||
ENDIF (H5_WORDS_BIGENDIAN)
|
@ -28,12 +28,6 @@ SET_TARGET_PROPERTIES (h5repack PROPERTIES FOLDER tools)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES h5repack)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add h5Repack test executables
|
||||
@ -50,936 +44,7 @@ IF (BUILD_TESTING)
|
||||
TARGET_LINK_LIBRARIES (h5repacktest ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (h5repacktest PROPERTIES FOLDER tools)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-VFD-${vfdname}-h5repacktest
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5repacktest>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=h5repacktest"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-VFD-${vfdname}-h5repacktest PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5REPACK-VFD-${vfdname}-h5repacktest")
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_attr.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_attr_refs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_deflate.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_early.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_ext.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_fill.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_filters.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_fletcher.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_hlink.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layouto.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout2.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout3.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_named_dtypes.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_nbit.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_objs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_refs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_shuffle.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_soffset.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_szip.h5
|
||||
# h5diff/testfile
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_attr1.h5
|
||||
# tools/testfiles
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00000.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00001.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00002.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00003.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00004.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00005.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00006.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00007.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00008.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00009.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00010.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_ext.bin
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/ublock.bin
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack.info
|
||||
# tools/testfiles
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/h5repack_filters.h5.ddl
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${h5_file}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5repack
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST_OLD testname testtype testfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} -i ${PROJECT_BINARY_DIR}/testfiles/${testfile} -o ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} -i ${PROJECT_BINARY_DIR}/testfiles/${testfile} -o ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_OLD-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_OLD-${testname}_DFF PROPERTIES DEPENDS H5REPACK_OLD-${testname})
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_TEST_OLD)
|
||||
|
||||
MACRO (ADD_H5_TEST testname testtype testfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-${testname}_DFF PROPERTIES DEPENDS H5REPACK-${testname})
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_TEST)
|
||||
|
||||
MACRO (ADD_H5_CMP_TEST testname testfilter testtype resultcode resultfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_CMP-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5REPACK_CMP-${testname} COMMAND $<TARGET_FILE:h5repack> ${ARGN} testfiles/${resultfile} testfiles/out-${testname}.${resultfile})
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_CMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5repack>"
|
||||
-D "TEST_ARGS:STRING=${ARGN};testfiles/${resultfile};testfiles/out-${testname}.${resultfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${resultfile}-${testname}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${testfilter}"
|
||||
-D "TEST_REFERENCE=testfiles/${resultfile}.ddl"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_CMP-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_CMP_TEST)
|
||||
|
||||
MACRO (ADD_H5_VERIFY_TEST testname testtype resultcode testfile testdset testfilter)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP -d ${testdset} -pH ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DFF PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname})
|
||||
IF (${resultcode} STREQUAL "0")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-d;${testdset};-pH;testfiles/out-${testname}.${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testfile}-${testname}-v.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${testfilter}"
|
||||
-D "TEST_REFERENCE=${testfilter}"
|
||||
-P "${HDF5_RESOURCES_DIR}/grepTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DMP PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DFF)
|
||||
ELSE (${resultcode} STREQUAL "0")
|
||||
IF (${testfilter} STREQUAL "CHUNKED")
|
||||
SET (nottestfilter "(CONTIGUOUS|COMPACT)")
|
||||
ENDIF (${testfilter} STREQUAL "CHUNKED")
|
||||
IF (${testfilter} STREQUAL "CONTIGUOUS")
|
||||
SET (nottestfilter "(CHUNK|COMPACT)")
|
||||
ENDIF (${testfilter} STREQUAL "CONTIGUOUS")
|
||||
IF (${testfilter} STREQUAL "COMPACT")
|
||||
SET (nottestfilter "(CONTIGUOUS|CHUNK)")
|
||||
ENDIF (${testfilter} STREQUAL "COMPACT")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-pH;testfiles/out-${testname}.${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testfile}-${testname}-v.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${nottestfilter}"
|
||||
-D "TEST_REFERENCE=${testfilter}"
|
||||
-P "${HDF5_RESOURCES_DIR}/grepTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DMP PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DFF)
|
||||
ENDIF (${resultcode} STREQUAL "0")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_VERIFY_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST_META testname testfile)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_META-${testname}_N
|
||||
COMMAND $<TARGET_FILE:h5repack> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_N.${testname}.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname}_N PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_META-${testname}_M
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_M.${testname}.h5
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname}_M PROPERTIES DEPENDS H5REPACK_META-${testname}_N)
|
||||
|
||||
ADD_TEST (NAME H5REPACK_META-${testname} COMMAND ${CMAKE_COMMAND} -E compare_files ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_N.${testname}.h5 ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_M.${testname}.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname} PROPERTIES WILL_FAIL "true")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname} PROPERTIES DEPENDS H5REPACK_META-${testname}_M)
|
||||
ENDMACRO (ADD_H5_TEST_META)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# test file names
|
||||
# --------------------------------------------------------------------
|
||||
SET (INFO_FILE testfiles/h5repack.info)
|
||||
|
||||
SET (FILE0 h5repack_fill.h5)
|
||||
SET (FILE1 h5repack_objs.h5)
|
||||
SET (FILE2 h5repack_attr.h5)
|
||||
SET (FILE3 h5repack_hlink.h5)
|
||||
SET (FILE4 h5repack_layout.h5)
|
||||
SET (FILE5 h5repack_early.h5)
|
||||
SET (FILE7 h5repack_szip.h5)
|
||||
SET (FILE8 h5repack_deflate.h5)
|
||||
SET (FILE9 h5repack_shuffle.h5)
|
||||
SET (FILE10 h5repack_fletcher.h5)
|
||||
SET (FILE11 h5repack_filters.h5)
|
||||
SET (FILE12 h5repack_nbit.h5)
|
||||
SET (FILE13 h5repack_soffset.h5)
|
||||
SET (FILE14 h5repack_layouto.h5 ) # A file with an older version of the layout message (copy of test/tlayouto.h5)
|
||||
SET (FILE15 h5repack_named_dtypes.h5)
|
||||
SET (FILE16 tfamily%05d.h5) # located in common testfiles folder
|
||||
SET (FILE18 h5repack_layout2.h5)
|
||||
SET (FILE_REF h5repack_refs.h5)
|
||||
SET (FILE_ATTR_REF h5repack_attr_refs.h5)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/h5repack_filters.h5-gzip_verbose_filters.out
|
||||
./testfiles/h5repack_filters.h5-gzip_verbose_filters.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_18x13-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_18x13-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_20x10-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_20x10-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-compa-v.out
|
||||
./testfiles/h5repack_layout.h5-compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-conti-v.out
|
||||
./testfiles/h5repack_layout.h5-conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_chunk_20x10-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_chunk_20x10-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_chunk-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_chunk-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_chunk-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_chunk-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-layout_long_switches-v.out
|
||||
./testfiles/h5repack_layout.h5-layout_long_switches-v.out.err
|
||||
./testfiles/h5repack_layout.h5-layout_short_switches-v.out
|
||||
./testfiles/h5repack_layout.h5-layout_short_switches-v.out.err
|
||||
./testfiles/h5repack_layout2.h5-contig_small_compa-v.out
|
||||
./testfiles/h5repack_layout2.h5-contig_small_compa-v.out.err
|
||||
./testfiles/h5repack_layout2.h5-contig_small_fixed_compa-v.out
|
||||
./testfiles/h5repack_layout2.h5-contig_small_fixed_compa-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2chunk-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2chunk-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2compa-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2compa-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2conti-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2conti-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error1-v.out
|
||||
./testfiles/h5repack_layout3.h5-error1-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error2-v.out
|
||||
./testfiles/h5repack_layout3.h5-error2-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error3-v.out
|
||||
./testfiles/h5repack_layout3.h5-error3-v.out.err
|
||||
./testfiles/out-family.tfamily%05d.h5
|
||||
./testfiles/out-HDFFV-7840.h5diff_attr1.h5
|
||||
./testfiles/out-attr.h5repack_attr.h5
|
||||
./testfiles/out-native_attr.h5repack_attr.h5
|
||||
./testfiles/out-HDFFV-5932.h5repack_attr_refs.h5
|
||||
./testfiles/out-deflate_copy.h5repack_deflate.h5
|
||||
./testfiles/out-deflate_remove.h5repack_deflate.h5
|
||||
./testfiles/out-early.h5repack_early.h5
|
||||
./testfiles/out-fill.h5repack_fill.h5
|
||||
./testfiles/out-native_fill.h5repack_fill.h5
|
||||
./testfiles/out-gzip_verbose_filters.h5repack_filters.h5
|
||||
./testfiles/out-fletcher_copy.h5repack_fletcher.h5
|
||||
./testfiles/out-fletcher_remove.h5repack_fletcher.h5
|
||||
./testfiles/out-hlink.h5repack_hlink.h5
|
||||
./testfiles/out-chunk_18x13.h5repack_layout.h5
|
||||
./testfiles/out-chunk_20x10.h5repack_layout.h5
|
||||
./testfiles/out-chunk_compa.h5repack_layout.h5
|
||||
./testfiles/out-chunk_conti.h5repack_layout.h5
|
||||
./testfiles/out-compa.h5repack_layout.h5
|
||||
./testfiles/out-conti.h5repack_layout.h5
|
||||
./testfiles/out-deflate_file.h5repack_layout.h5
|
||||
./testfiles/out-deflate_limit.h5repack_layout.h5
|
||||
./testfiles/out-dset2_chunk_20x10.h5repack_layout.h5
|
||||
./testfiles/out-dset2_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset2_conti.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_chunk.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_conti.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_chunk.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_conti.h5repack_layout.h5
|
||||
./testfiles/out-fletcher_all.h5repack_layout.h5
|
||||
./testfiles/out-fletcher_individual.h5repack_layout.h5
|
||||
./testfiles/out-global_filters.h5repack_layout.h5
|
||||
./testfiles/out-gzip_all.h5repack_layout.h5
|
||||
./testfiles/out-gzip_individual.h5repack_layout.h5
|
||||
./testfiles/out-layout.h5repack_layout.h5
|
||||
./testfiles/out-layout_long_switches.h5repack_layout.h5
|
||||
./testfiles/out-layout_short_switches.h5repack_layout.h5
|
||||
./testfiles/out-old_style_layout_short_switches.h5repack_layout.h5
|
||||
./testfiles/out-shuffle_all.h5repack_layout.h5
|
||||
./testfiles/out-shuffle_individual.h5repack_layout.h5
|
||||
./testfiles/out-upgrade_layout.h5repack_layouto.h5
|
||||
./testfiles/out-contig_small_compa.h5repack_layout2.h5
|
||||
./testfiles/out-contig_small_fixed_compa.h5repack_layout2.h5
|
||||
./testfiles/out-chunk2chunk.h5repack_layout3.h5
|
||||
./testfiles/out-chunk2compa.h5repack_layout3.h5
|
||||
./testfiles/out-chunk2conti.h5repack_layout3.h5
|
||||
./testfiles/out-error1.h5repack_layout3.h5
|
||||
./testfiles/out-error2.h5repack_layout3.h5
|
||||
./testfiles/out-error3.h5repack_layout3.h5
|
||||
./testfiles/out-error4.h5repack_layout3.h5
|
||||
./testfiles/out-committed_dt.h5repack_named_dtypes.h5
|
||||
./testfiles/out-nbit_add.h5repack_nbit.h5
|
||||
./testfiles/out-nbit_copy.h5repack_nbit.h5
|
||||
./testfiles/out-nbit_remove.h5repack_nbit.h5
|
||||
./testfiles/out-add_alignment.h5repack_objs.h5
|
||||
./testfiles/out-add_userblock.h5repack_objs.h5
|
||||
./testfiles/out-objs.h5repack_objs.h5
|
||||
./testfiles/out-gt_mallocsize.h5repack_objs.h5
|
||||
./testfiles/out-bug1814.h5repack_refs.h5
|
||||
./testfiles/out-shuffle_copy.h5repack_shuffle.h5
|
||||
./testfiles/out-shuffle_remove.h5repack_shuffle.h5
|
||||
./testfiles/out-scale_add.h5repack_soffset.h5
|
||||
./testfiles/out-scale_copy.h5repack_soffset.h5
|
||||
./testfiles/out-scale_remove.h5repack_soffset.h5
|
||||
./testfiles/out-meta_short_M.meta_short.h5
|
||||
./testfiles/out-meta_short_N.meta_short.h5
|
||||
./testfiles/out-meta_long_M.meta_long.h5
|
||||
./testfiles/out-meta_long_N.meta_long.h5
|
||||
# from the h5repacktst
|
||||
h5repack_attr.h5
|
||||
h5repack_attr_out.h5
|
||||
h5repack_attr_refs.h5
|
||||
h5repack_big.h5
|
||||
h5repack_deflate.h5
|
||||
h5repack_deflate_out.h5
|
||||
h5repack_early2.h5
|
||||
h5repack_early.h5
|
||||
h5repack_early_out.h5
|
||||
h5repack_ext.h5
|
||||
h5repack_ext_out.h5
|
||||
h5repack_fill.h5
|
||||
h5repack_fill_out.h5
|
||||
h5repack_filters.h5
|
||||
h5repack_filters_out.h5
|
||||
h5repack_fletcher.h5
|
||||
h5repack_fletcher_out.h5
|
||||
h5repack_hlink.h5
|
||||
h5repack_hlink_out.h5
|
||||
h5repack_layout.h5
|
||||
h5repack_layout_out.h5
|
||||
h5repack_layout2.h5
|
||||
h5repack_layout3.h5
|
||||
h5repack_named_dtypes.h5
|
||||
h5repack_named_dtypes_out.h5
|
||||
h5repack_nbit.h5
|
||||
h5repack_nbit_out.h5
|
||||
h5repack_objs.h5
|
||||
h5repack_objs_out.h5
|
||||
h5repack_refs.h5
|
||||
h5repack_shuffle.h5
|
||||
h5repack_shuffle_out.h5
|
||||
h5repack_soffset.h5
|
||||
h5repack_soffset_out.h5
|
||||
h5repack_szip.h5
|
||||
h5repack_szip_out.h5
|
||||
h5repack_ub.h5
|
||||
h5repack_ub_out.h5
|
||||
h5repack_ext.bin
|
||||
ublock.bin
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
ADD_TEST (NAME H5REPACK-testh5repack_detect_szip COMMAND $<TARGET_FILE:testh5repack_detect_szip>)
|
||||
IF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (passRegex "yes")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "yes")
|
||||
ELSE (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (passRegex "no")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no")
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
ELSE (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
SET (passRegex "no")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no")
|
||||
ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES DEPENDS H5REPACK-clearall-objects)
|
||||
|
||||
ADD_TEST (NAME H5REPACK-h5repacktest COMMAND $<TARGET_FILE:h5repacktest>)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-h5repacktest PROPERTIES DEPENDS H5REPACK-testh5repack_detect_szip)
|
||||
SET (last_test "H5REPACK-h5repacktest")
|
||||
|
||||
#
|
||||
# The tests
|
||||
# We use the files generated by h5repacktst
|
||||
# Each run generates "<file>.out.h5" and the tool h5diff is used to
|
||||
# compare the input and output files
|
||||
#
|
||||
# the tests are the same as the program h5repacktst, but run from the CLI
|
||||
#
|
||||
|
||||
# See which filters are usable (and skip tests for filters we
|
||||
# don't have). Do this by searching H5pubconf.h to see which
|
||||
# filters are defined.
|
||||
|
||||
# detect whether the encoder is present.
|
||||
SET (USE_FILTER_SZIP_ENCODER "no")
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (USE_FILTER_SZIP_ENCODER ${testh5repack_detect_szip})
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (USE_FILTER_DEFLATE "true")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
|
||||
IF (H5_HAVE_FILTER_SZIP)
|
||||
SET (USE_FILTER_SZIP "true")
|
||||
ENDIF (H5_HAVE_FILTER_SZIP)
|
||||
|
||||
IF (H5_HAVE_FILTER_SHUFFLE)
|
||||
SET (USE_FILTER_SHUFFLE "true")
|
||||
ENDIF (H5_HAVE_FILTER_SHUFFLE)
|
||||
|
||||
IF (H5_HAVE_FILTER_FLETCHER32)
|
||||
SET (USE_FILTER_FLETCHER32 "true")
|
||||
ENDIF (H5_HAVE_FILTER_FLETCHER32)
|
||||
|
||||
IF (H5_HAVE_FILTER_NBIT)
|
||||
SET (USE_FILTER_NBIT "true")
|
||||
ENDIF (H5_HAVE_FILTER_NBIT)
|
||||
|
||||
IF (H5_HAVE_FILTER_SCALEOFFSET)
|
||||
SET (USE_FILTER_SCALEOFFSET "true")
|
||||
ENDIF (H5_HAVE_FILTER_SCALEOFFSET)
|
||||
|
||||
# copy files (these files have no filters)
|
||||
ADD_H5_TEST (fill "TEST" ${FILE0})
|
||||
ADD_H5_TEST (objs "TEST" ${FILE1})
|
||||
ADD_H5_TEST (attr "TEST" ${FILE2})
|
||||
ADD_H5_TEST (hlink "TEST" ${FILE3})
|
||||
ADD_H5_TEST (layout "TEST" ${FILE4})
|
||||
ADD_H5_TEST (early "TEST" ${FILE5})
|
||||
|
||||
# use $FILE4 to write some filters (this file has no filters)
|
||||
|
||||
# gzip with individual object
|
||||
SET (arg ${FILE4} -f dset1:GZIP=1 -l dset1:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (gzip_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# gzip for all
|
||||
SET (arg ${FILE4} -f GZIP=1)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (gzip_all ${TESTTYPE} ${arg})
|
||||
|
||||
# szip with individual object
|
||||
SET (arg ${FILE4} -f dset2:SZIP=8,EC -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# szip for all
|
||||
SET (arg ${FILE4} -f SZIP=8,NN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_all ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle with individual object
|
||||
SET (arg ${FILE4} -f dset2:SHUF -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle for all
|
||||
SET (arg ${FILE4} -f SHUF)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_all ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 with individual object
|
||||
SET (arg ${FILE4} -f dset2:FLET -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 for all
|
||||
SET (arg ${FILE4} -f FLET)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_all ${TESTTYPE} ${arg})
|
||||
|
||||
# all filters
|
||||
SET (arg ${FILE4} -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (all_filters ${TESTTYPE} ${arg})
|
||||
|
||||
# verbose gzip with individual object
|
||||
SET (arg ${FILE11} -v -f /dset_deflate:GZIP=9)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_CMP_TEST (gzip_verbose_filters "O?...ing file[^\n]+\n" ${TESTTYPE} 0 ${arg})
|
||||
|
||||
###########################################################
|
||||
# the following tests assume the input files have filters
|
||||
###########################################################
|
||||
|
||||
# szip copy
|
||||
SET (arg ${FILE7})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# szip remove
|
||||
SET (arg ${FILE7} --filter=dset_szip:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# deflate copy
|
||||
SET (arg ${FILE8})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# deflate remove
|
||||
SET (arg ${FILE8} -f dset_deflate:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle copy
|
||||
SET (arg ${FILE9})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle remove
|
||||
SET (arg ${FILE9} -f dset_shuffle:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 copy
|
||||
SET (arg ${FILE10})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 remove
|
||||
SET (arg ${FILE10} -f dset_fletcher32:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit copy
|
||||
SET (arg ${FILE12})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit remove
|
||||
SET (arg ${FILE12} -f dset_nbit:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit add
|
||||
SET (arg ${FILE12} -f dset_int31:NBIT)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_add ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset copy
|
||||
SET (arg ${FILE13})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset add
|
||||
SET (arg ${FILE13} -f dset_none:SOFF=31,IN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_add ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset remove
|
||||
SET (arg ${FILE13} -f dset_scaleoffset:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# remove all filters
|
||||
SET (arg ${FILE11} -f NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (remove_all ${TESTTYPE} ${arg})
|
||||
|
||||
#filter conversions
|
||||
SET (arg ${FILE8} -f dset_deflate:SZIP=8,NN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_convert ${TESTTYPE} ${arg})
|
||||
|
||||
SET (arg ${FILE7} -f dset_szip:GZIP=1)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (szip_convert ${TESTTYPE} ${arg})
|
||||
|
||||
#limit
|
||||
SET (arg ${FILE4} -f GZIP=1 -m 1024)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_limit ${TESTTYPE} ${arg})
|
||||
|
||||
#file
|
||||
SET (arg ${FILE4} -e ${INFO_FILE})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_file ${TESTTYPE} ${arg})
|
||||
|
||||
#########################################################
|
||||
# layout options (these files have no filters)
|
||||
#########################################################
|
||||
ADD_H5_VERIFY_TEST (dset2_chunk_20x10 "TEST" 0 ${FILE4} dset2 CHUNKED --layout=dset2:CHUNK=20x10)
|
||||
ADD_H5_VERIFY_TEST (chunk_20x10 "TEST" 1 ${FILE4} null CHUNKED -l CHUNK=20x10)
|
||||
ADD_H5_VERIFY_TEST (dset2_conti "TEST" 0 ${FILE4} dset2 CONTIGUOUS -l dset2:CONTI)
|
||||
ADD_H5_VERIFY_TEST (conti "TEST" 1 ${FILE4} null CONTIGUOUS -l CONTI)
|
||||
ADD_H5_VERIFY_TEST (dset2_compa "TEST" 0 ${FILE4} dset2 COMPACT -l dset2:COMPA)
|
||||
ADD_H5_VERIFY_TEST (compa "TEST" 1 ${FILE4} null COMPACT -l COMPA)
|
||||
|
||||
################################################################
|
||||
# layout conversions (file has no filters)
|
||||
###############################################################
|
||||
ADD_H5_VERIFY_TEST (dset_compa_conti "TEST" 0 ${FILE4} dset_compact CONTIGUOUS -l dset_compact:CONTI)
|
||||
ADD_H5_VERIFY_TEST (dset_compa_chunk "TEST" 0 ${FILE4} dset_compact CHUNKED -l dset_compact:CHUNK=2x5)
|
||||
ADD_H5_VERIFY_TEST (dset_compa_compa "TEST" 0 ${FILE4} dset_compact COMPACT -l dset_compact:COMPA)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_compa "TEST" 0 ${FILE4} dset_contiguous COMPACT -l dset_contiguous:COMPA)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_chunk "TEST" 0 ${FILE4} dset_contiguous CHUNKED -l dset_contiguous:CHUNK=3x6)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_conti "TEST" 0 ${FILE4} dset_contiguous CONTIGUOUS -l dset_contiguous:CONTI)
|
||||
ADD_H5_VERIFY_TEST (chunk_compa "TEST" 0 ${FILE4} dset_chunk COMPACT -l dset_chunk:COMPA)
|
||||
ADD_H5_VERIFY_TEST (chunk_conti "TEST" 0 ${FILE4} dset_chunk CONTIGUOUS -l dset_chunk:CONTI)
|
||||
ADD_H5_VERIFY_TEST (chunk_18x13 "TEST" 0 ${FILE4} dset_chunk CHUNKED -l dset_chunk:CHUNK=18x13)
|
||||
|
||||
# test convert small size dataset ( < 1k) to compact layout without -m
|
||||
ADD_H5_VERIFY_TEST (contig_small_compa "TEST" 0 ${FILE18} contig_small COMPACT -l contig_small:COMPA)
|
||||
ADD_H5_VERIFY_TEST (contig_small_fixed_compa "TEST" 0 ${FILE18} chunked_small_fixed COMPACT -l chunked_small_fixed:COMPA)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Test file contains chunked datasets (need multiple dsets) with
|
||||
# unlimited max dims. (HDFFV-7933)
|
||||
# Use first dset to test.
|
||||
#---------------------------------------------------------------------------
|
||||
# chunk to chunk - specify chunk dim bigger than any current dim
|
||||
ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300)
|
||||
|
||||
# chunk to contiguous
|
||||
ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI)
|
||||
|
||||
# chunk to compact - convert big dataset (should be > 64k) for this purpose,
|
||||
# should remain as original layout (chunk)
|
||||
ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA)
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Test -f for some specific cases. Chunked dataset with unlimited max dims.
|
||||
# (HDFFV-8012)
|
||||
#--------------------------------------------------------------------------
|
||||
# - should not fail
|
||||
# - should not change max dims from unlimit
|
||||
|
||||
# chunk dim is bigger than dataset dim. ( dset size < 64k )
|
||||
ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE)
|
||||
|
||||
# chunk dim is bigger than dataset dim. ( dset size > 64k )
|
||||
ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE)
|
||||
|
||||
# chunk dims are smaller than dataset dims. ( dset size < 64k )
|
||||
ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE)
|
||||
|
||||
# file input - should not fail
|
||||
ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE)
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Test base: Convert CHUNK to CONTI for a chunked dataset with small dataset
|
||||
# (dset size < 64K) and with unlimited max dims on a condition as follow.
|
||||
# (HDFFV-8214)
|
||||
#--------------------------------------------------------------------------
|
||||
# chunk dim is bigger than dataset dim. should succeed.
|
||||
ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI)
|
||||
# chunk dim is smaller than dataset dim. should succeed.
|
||||
ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI)
|
||||
|
||||
|
||||
|
||||
# Native option
|
||||
# Do not use FILE1, as the named dtype will be converted to native, and h5diff will
|
||||
# report a difference.
|
||||
ADD_H5_TEST (native_fill "TEST" ${FILE0} -n)
|
||||
ADD_H5_TEST (native_attr "TEST" ${FILE2} -n)
|
||||
|
||||
# latest file format with long switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg --layout CHUNK=20x10 --filter GZIP=1 --minimum=10 --native --latest --compact=8 --indexed=6 --ssize=8[:dtype])
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_VERIFY_TEST (layout_long_switches ${TESTTYPE} 1 ${FILE4} null CHUNKED ${arg})
|
||||
|
||||
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype])
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_VERIFY_TEST (layout_short_switches ${TESTTYPE} 1 ${FILE4} null CHUNKED ${arg})
|
||||
|
||||
# several global filters
|
||||
SET (arg ${FILE4} --filter GZIP=1 --filter SHUF)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (global_filters ${TESTTYPE} ${arg})
|
||||
|
||||
# syntax of -i infile -o outfile
|
||||
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg ${FILE4} -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype])
|
||||
SET (TESTTYPE "LEGACY")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST_OLD (old_style_layout_short_switches ${TESTTYPE} ${arg})
|
||||
|
||||
# add a userblock to file
|
||||
SET (arg ${FILE1} -u ${PROJECT_BINARY_DIR}/testfiles/ublock.bin -b 2048)
|
||||
ADD_H5_TEST (add_userblock "TEST" ${arg})
|
||||
|
||||
# add alignment
|
||||
SET (arg ${FILE1} -t 1 -a 1)
|
||||
ADD_H5_TEST (add_alignment "TEST" ${arg})
|
||||
|
||||
# Check repacking file with old version of layout message (should get upgraded
|
||||
# to new version and be readable, etc.)
|
||||
ADD_H5_TEST (upgrade_layout "TEST" ${FILE14})
|
||||
|
||||
# test for datum size > H5TOOLS_MALLOCSIZE
|
||||
ADD_H5_TEST (gt_mallocsize "TEST" ${FILE1} -f GZIP=1)
|
||||
|
||||
# Check repacking file with committed datatypes in odd configurations
|
||||
ADD_H5_TEST (committed_dt "TEST" ${FILE15})
|
||||
|
||||
# tests family driver (file is located in common testfiles folder, uses TOOLTEST1
|
||||
ADD_H5_TEST (family "TEST" ${FILE16})
|
||||
|
||||
# test various references (bug 1814 and 1726)
|
||||
ADD_H5_TEST (bug1814 "TEST" ${FILE_REF})
|
||||
|
||||
# test attribute with various references (bug1797 / HDFFV-5932)
|
||||
# the references in attribute of compund or vlen datatype
|
||||
ADD_H5_TEST (HDFFV-5932 "TEST" ${FILE_ATTR_REF})
|
||||
|
||||
# Add test for memory leak in attirbute. This test is verified by CTEST.
|
||||
# 1. leak from vlen string
|
||||
# 2. leak from compound type without reference member
|
||||
# (HDFFV-7840, )
|
||||
# Note: this test is experimental for sharing test file among tools
|
||||
ADD_H5_TEST (HDFFV-7840 "TEST" h5diff_attr1.h5)
|
||||
|
||||
# tests for metadata block size option ('-M')
|
||||
ADD_H5_TEST_META (meta_short h5repack_layout.h5 -M 8192)
|
||||
ADD_H5_TEST_META (meta_long h5repack_layout.h5 --metadata_block_size=8192)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
|
937
tools/h5repack/CMakeTests.cmake
Normal file
937
tools/h5repack/CMakeTests.cmake
Normal file
@ -0,0 +1,937 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
SET (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
IF (DIRECT_VFD)
|
||||
SET (VFD_LIST ${VFD_LIST} direct)
|
||||
ENDIF (DIRECT_VFD)
|
||||
|
||||
MACRO (ADD_VFD_TEST vfdname resultcode)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-VFD-${vfdname}-h5repacktest
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5repacktest>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=h5repacktest"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-VFD-${vfdname}-h5repacktest PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5REPACK-VFD-${vfdname}-h5repacktest")
|
||||
ENDMACRO (ADD_VFD_TEST)
|
||||
ENDIF (HDF5_TEST_VFD)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (LIST_HDF5_TEST_FILES
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_attr.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_attr_refs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_deflate.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_early.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_ext.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_fill.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_filters.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_fletcher.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_hlink.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layouto.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout2.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout3.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_named_dtypes.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_nbit.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_objs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_refs.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_shuffle.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_soffset.h5
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_szip.h5
|
||||
# h5diff/testfile
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_attr1.h5
|
||||
# tools/testfiles
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00000.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00001.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00002.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00003.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00004.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00005.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00006.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00007.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00008.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00009.h5
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00010.h5
|
||||
)
|
||||
|
||||
SET (LIST_OTHER_TEST_FILES
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_ext.bin
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/ublock.bin
|
||||
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack.info
|
||||
# tools/testfiles
|
||||
${HDF5_TOOLS_SRC_DIR}/testfiles/h5repack_filters.h5.ddl
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
GET_FILENAME_COMPONENT(fname "${h5_file}" NAME)
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5repack
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST_OLD testname testtype testfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} -i ${PROJECT_BINARY_DIR}/testfiles/${testfile} -o ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} -i ${PROJECT_BINARY_DIR}/testfiles/${testfile} -o ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_OLD-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_OLD-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_OLD-${testname}_DFF PROPERTIES DEPENDS H5REPACK_OLD-${testname})
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_TEST_OLD)
|
||||
|
||||
MACRO (ADD_H5_TEST testname testtype testfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-${testname}_DFF PROPERTIES DEPENDS H5REPACK-${testname})
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_TEST)
|
||||
|
||||
MACRO (ADD_H5_CMP_TEST testname testfilter testtype resultcode resultfile)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_CMP-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5REPACK_CMP-${testname} COMMAND $<TARGET_FILE:h5repack> ${ARGN} testfiles/${resultfile} testfiles/out-${testname}.${resultfile})
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_CMP-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5repack>"
|
||||
-D "TEST_ARGS:STRING=${ARGN};testfiles/${resultfile};testfiles/out-${testname}.${resultfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${resultfile}-${testname}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${testfilter}"
|
||||
-D "TEST_REFERENCE=testfiles/${resultfile}.ddl"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_CMP-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_CMP_TEST)
|
||||
|
||||
MACRO (ADD_H5_VERIFY_TEST testname testtype resultcode testfile testdset testfilter)
|
||||
IF (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}-SKIPPED
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "SKIP -d ${testdset} -pH ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}"
|
||||
)
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ELSE (${testtype} STREQUAL "SKIP")
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DFF
|
||||
COMMAND $<TARGET_FILE:h5diff> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DFF PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname})
|
||||
IF (${resultcode} STREQUAL "0")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-d;${testdset};-pH;testfiles/out-${testname}.${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testfile}-${testname}-v.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${testfilter}"
|
||||
-D "TEST_REFERENCE=${testfilter}"
|
||||
-P "${HDF5_RESOURCES_DIR}/grepTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DMP PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DFF)
|
||||
ELSE (${resultcode} STREQUAL "0")
|
||||
IF (${testfilter} STREQUAL "CHUNKED")
|
||||
SET (nottestfilter "(CONTIGUOUS|COMPACT)")
|
||||
ENDIF (${testfilter} STREQUAL "CHUNKED")
|
||||
IF (${testfilter} STREQUAL "CONTIGUOUS")
|
||||
SET (nottestfilter "(CHUNK|COMPACT)")
|
||||
ENDIF (${testfilter} STREQUAL "CONTIGUOUS")
|
||||
IF (${testfilter} STREQUAL "COMPACT")
|
||||
SET (nottestfilter "(CONTIGUOUS|CHUNK)")
|
||||
ENDIF (${testfilter} STREQUAL "COMPACT")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_VERIFY_LAYOUT-${testname}_DMP
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
|
||||
-D "TEST_ARGS:STRING=-pH;testfiles/out-${testname}.${testfile}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=./testfiles/${testfile}-${testname}-v.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_FILTER:STRING=${nottestfilter}"
|
||||
-D "TEST_REFERENCE=${testfilter}"
|
||||
-P "${HDF5_RESOURCES_DIR}/grepTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_VERIFY_LAYOUT-${testname}_DMP PROPERTIES DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DFF)
|
||||
ENDIF (${resultcode} STREQUAL "0")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDIF (${testtype} STREQUAL "SKIP")
|
||||
ENDMACRO (ADD_H5_VERIFY_TEST)
|
||||
|
||||
MACRO (ADD_H5_TEST_META testname testfile)
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_META-${testname}_N
|
||||
COMMAND $<TARGET_FILE:h5repack> ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_N.${testname}.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname}_N PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ADD_TEST (
|
||||
NAME H5REPACK_META-${testname}_M
|
||||
COMMAND $<TARGET_FILE:h5repack> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_M.${testname}.h5
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname}_M PROPERTIES DEPENDS H5REPACK_META-${testname}_N)
|
||||
|
||||
ADD_TEST (NAME H5REPACK_META-${testname} COMMAND ${CMAKE_COMMAND} -E compare_files ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_N.${testname}.h5 ${PROJECT_BINARY_DIR}/testfiles/out-${testname}_M.${testname}.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname} PROPERTIES WILL_FAIL "true")
|
||||
SET_TESTS_PROPERTIES (H5REPACK_META-${testname} PROPERTIES DEPENDS H5REPACK_META-${testname}_M)
|
||||
ENDMACRO (ADD_H5_TEST_META)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# test file names
|
||||
# --------------------------------------------------------------------
|
||||
SET (INFO_FILE testfiles/h5repack.info)
|
||||
|
||||
SET (FILE0 h5repack_fill.h5)
|
||||
SET (FILE1 h5repack_objs.h5)
|
||||
SET (FILE2 h5repack_attr.h5)
|
||||
SET (FILE3 h5repack_hlink.h5)
|
||||
SET (FILE4 h5repack_layout.h5)
|
||||
SET (FILE5 h5repack_early.h5)
|
||||
SET (FILE7 h5repack_szip.h5)
|
||||
SET (FILE8 h5repack_deflate.h5)
|
||||
SET (FILE9 h5repack_shuffle.h5)
|
||||
SET (FILE10 h5repack_fletcher.h5)
|
||||
SET (FILE11 h5repack_filters.h5)
|
||||
SET (FILE12 h5repack_nbit.h5)
|
||||
SET (FILE13 h5repack_soffset.h5)
|
||||
SET (FILE14 h5repack_layouto.h5 ) # A file with an older version of the layout message (copy of test/tlayouto.h5)
|
||||
SET (FILE15 h5repack_named_dtypes.h5)
|
||||
SET (FILE16 tfamily%05d.h5) # located in common testfiles folder
|
||||
SET (FILE18 h5repack_layout2.h5)
|
||||
SET (FILE_REF h5repack_refs.h5)
|
||||
SET (FILE_ATTR_REF h5repack_attr_refs.h5)
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5REPACK-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
./testfiles/h5repack_filters.h5-gzip_verbose_filters.out
|
||||
./testfiles/h5repack_filters.h5-gzip_verbose_filters.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_18x13-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_18x13-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_20x10-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_20x10-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-chunk_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-chunk_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-compa-v.out
|
||||
./testfiles/h5repack_layout.h5-compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-conti-v.out
|
||||
./testfiles/h5repack_layout.h5-conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_chunk_20x10-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_chunk_20x10-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset2_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset2_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_chunk-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_chunk-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_compa_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_compa_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_chunk-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_chunk-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_compa-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_compa-v.out.err
|
||||
./testfiles/h5repack_layout.h5-dset_conti_conti-v.out
|
||||
./testfiles/h5repack_layout.h5-dset_conti_conti-v.out.err
|
||||
./testfiles/h5repack_layout.h5-layout_long_switches-v.out
|
||||
./testfiles/h5repack_layout.h5-layout_long_switches-v.out.err
|
||||
./testfiles/h5repack_layout.h5-layout_short_switches-v.out
|
||||
./testfiles/h5repack_layout.h5-layout_short_switches-v.out.err
|
||||
./testfiles/h5repack_layout2.h5-contig_small_compa-v.out
|
||||
./testfiles/h5repack_layout2.h5-contig_small_compa-v.out.err
|
||||
./testfiles/h5repack_layout2.h5-contig_small_fixed_compa-v.out
|
||||
./testfiles/h5repack_layout2.h5-contig_small_fixed_compa-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2chunk-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2chunk-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2compa-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2compa-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-chunk2conti-v.out
|
||||
./testfiles/h5repack_layout3.h5-chunk2conti-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error1-v.out
|
||||
./testfiles/h5repack_layout3.h5-error1-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error2-v.out
|
||||
./testfiles/h5repack_layout3.h5-error2-v.out.err
|
||||
./testfiles/h5repack_layout3.h5-error3-v.out
|
||||
./testfiles/h5repack_layout3.h5-error3-v.out.err
|
||||
./testfiles/out-family.tfamily%05d.h5
|
||||
./testfiles/out-HDFFV-7840.h5diff_attr1.h5
|
||||
./testfiles/out-attr.h5repack_attr.h5
|
||||
./testfiles/out-native_attr.h5repack_attr.h5
|
||||
./testfiles/out-HDFFV-5932.h5repack_attr_refs.h5
|
||||
./testfiles/out-deflate_copy.h5repack_deflate.h5
|
||||
./testfiles/out-deflate_remove.h5repack_deflate.h5
|
||||
./testfiles/out-early.h5repack_early.h5
|
||||
./testfiles/out-fill.h5repack_fill.h5
|
||||
./testfiles/out-native_fill.h5repack_fill.h5
|
||||
./testfiles/out-gzip_verbose_filters.h5repack_filters.h5
|
||||
./testfiles/out-fletcher_copy.h5repack_fletcher.h5
|
||||
./testfiles/out-fletcher_remove.h5repack_fletcher.h5
|
||||
./testfiles/out-hlink.h5repack_hlink.h5
|
||||
./testfiles/out-chunk_18x13.h5repack_layout.h5
|
||||
./testfiles/out-chunk_20x10.h5repack_layout.h5
|
||||
./testfiles/out-chunk_compa.h5repack_layout.h5
|
||||
./testfiles/out-chunk_conti.h5repack_layout.h5
|
||||
./testfiles/out-compa.h5repack_layout.h5
|
||||
./testfiles/out-conti.h5repack_layout.h5
|
||||
./testfiles/out-deflate_file.h5repack_layout.h5
|
||||
./testfiles/out-deflate_limit.h5repack_layout.h5
|
||||
./testfiles/out-dset2_chunk_20x10.h5repack_layout.h5
|
||||
./testfiles/out-dset2_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset2_conti.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_chunk.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset_compa_conti.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_chunk.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_compa.h5repack_layout.h5
|
||||
./testfiles/out-dset_conti_conti.h5repack_layout.h5
|
||||
./testfiles/out-fletcher_all.h5repack_layout.h5
|
||||
./testfiles/out-fletcher_individual.h5repack_layout.h5
|
||||
./testfiles/out-global_filters.h5repack_layout.h5
|
||||
./testfiles/out-gzip_all.h5repack_layout.h5
|
||||
./testfiles/out-gzip_individual.h5repack_layout.h5
|
||||
./testfiles/out-layout.h5repack_layout.h5
|
||||
./testfiles/out-layout_long_switches.h5repack_layout.h5
|
||||
./testfiles/out-layout_short_switches.h5repack_layout.h5
|
||||
./testfiles/out-old_style_layout_short_switches.h5repack_layout.h5
|
||||
./testfiles/out-shuffle_all.h5repack_layout.h5
|
||||
./testfiles/out-shuffle_individual.h5repack_layout.h5
|
||||
./testfiles/out-upgrade_layout.h5repack_layouto.h5
|
||||
./testfiles/out-contig_small_compa.h5repack_layout2.h5
|
||||
./testfiles/out-contig_small_fixed_compa.h5repack_layout2.h5
|
||||
./testfiles/out-chunk2chunk.h5repack_layout3.h5
|
||||
./testfiles/out-chunk2compa.h5repack_layout3.h5
|
||||
./testfiles/out-chunk2conti.h5repack_layout3.h5
|
||||
./testfiles/out-error1.h5repack_layout3.h5
|
||||
./testfiles/out-error2.h5repack_layout3.h5
|
||||
./testfiles/out-error3.h5repack_layout3.h5
|
||||
./testfiles/out-error4.h5repack_layout3.h5
|
||||
./testfiles/out-committed_dt.h5repack_named_dtypes.h5
|
||||
./testfiles/out-nbit_add.h5repack_nbit.h5
|
||||
./testfiles/out-nbit_copy.h5repack_nbit.h5
|
||||
./testfiles/out-nbit_remove.h5repack_nbit.h5
|
||||
./testfiles/out-add_alignment.h5repack_objs.h5
|
||||
./testfiles/out-add_userblock.h5repack_objs.h5
|
||||
./testfiles/out-objs.h5repack_objs.h5
|
||||
./testfiles/out-gt_mallocsize.h5repack_objs.h5
|
||||
./testfiles/out-bug1814.h5repack_refs.h5
|
||||
./testfiles/out-shuffle_copy.h5repack_shuffle.h5
|
||||
./testfiles/out-shuffle_remove.h5repack_shuffle.h5
|
||||
./testfiles/out-scale_add.h5repack_soffset.h5
|
||||
./testfiles/out-scale_copy.h5repack_soffset.h5
|
||||
./testfiles/out-scale_remove.h5repack_soffset.h5
|
||||
./testfiles/out-meta_short_M.meta_short.h5
|
||||
./testfiles/out-meta_short_N.meta_short.h5
|
||||
./testfiles/out-meta_long_M.meta_long.h5
|
||||
./testfiles/out-meta_long_N.meta_long.h5
|
||||
# from the h5repacktst
|
||||
h5repack_attr.h5
|
||||
h5repack_attr_out.h5
|
||||
h5repack_attr_refs.h5
|
||||
h5repack_big.h5
|
||||
h5repack_deflate.h5
|
||||
h5repack_deflate_out.h5
|
||||
h5repack_early2.h5
|
||||
h5repack_early.h5
|
||||
h5repack_early_out.h5
|
||||
h5repack_ext.h5
|
||||
h5repack_ext_out.h5
|
||||
h5repack_fill.h5
|
||||
h5repack_fill_out.h5
|
||||
h5repack_filters.h5
|
||||
h5repack_filters_out.h5
|
||||
h5repack_fletcher.h5
|
||||
h5repack_fletcher_out.h5
|
||||
h5repack_hlink.h5
|
||||
h5repack_hlink_out.h5
|
||||
h5repack_layout.h5
|
||||
h5repack_layout_out.h5
|
||||
h5repack_layout2.h5
|
||||
h5repack_layout3.h5
|
||||
h5repack_named_dtypes.h5
|
||||
h5repack_named_dtypes_out.h5
|
||||
h5repack_nbit.h5
|
||||
h5repack_nbit_out.h5
|
||||
h5repack_objs.h5
|
||||
h5repack_objs_out.h5
|
||||
h5repack_refs.h5
|
||||
h5repack_shuffle.h5
|
||||
h5repack_shuffle_out.h5
|
||||
h5repack_soffset.h5
|
||||
h5repack_soffset_out.h5
|
||||
h5repack_szip.h5
|
||||
h5repack_szip_out.h5
|
||||
h5repack_ub.h5
|
||||
h5repack_ub_out.h5
|
||||
h5repack_ext.bin
|
||||
ublock.bin
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
|
||||
ADD_TEST (NAME H5REPACK-testh5repack_detect_szip COMMAND $<TARGET_FILE:testh5repack_detect_szip>)
|
||||
IF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (passRegex "yes")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "yes")
|
||||
ELSE (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (passRegex "no")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no")
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
ELSE (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
SET (passRegex "no")
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no")
|
||||
ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-testh5repack_detect_szip PROPERTIES DEPENDS H5REPACK-clearall-objects)
|
||||
|
||||
ADD_TEST (NAME H5REPACK-h5repacktest COMMAND $<TARGET_FILE:h5repacktest>)
|
||||
SET_TESTS_PROPERTIES (H5REPACK-h5repacktest PROPERTIES DEPENDS H5REPACK-testh5repack_detect_szip)
|
||||
SET (last_test "H5REPACK-h5repacktest")
|
||||
|
||||
#
|
||||
# The tests
|
||||
# We use the files generated by h5repacktst
|
||||
# Each run generates "<file>.out.h5" and the tool h5diff is used to
|
||||
# compare the input and output files
|
||||
#
|
||||
# the tests are the same as the program h5repacktst, but run from the CLI
|
||||
#
|
||||
|
||||
# See which filters are usable (and skip tests for filters we
|
||||
# don't have). Do this by searching H5pubconf.h to see which
|
||||
# filters are defined.
|
||||
|
||||
# detect whether the encoder is present.
|
||||
SET (USE_FILTER_SZIP_ENCODER "no")
|
||||
IF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
SET (USE_FILTER_SZIP_ENCODER ${testh5repack_detect_szip})
|
||||
ENDIF (HDF5_ENABLE_SZIP_ENCODING)
|
||||
|
||||
IF (H5_HAVE_FILTER_DEFLATE)
|
||||
SET (USE_FILTER_DEFLATE "true")
|
||||
ENDIF (H5_HAVE_FILTER_DEFLATE)
|
||||
|
||||
IF (H5_HAVE_FILTER_SZIP)
|
||||
SET (USE_FILTER_SZIP "true")
|
||||
ENDIF (H5_HAVE_FILTER_SZIP)
|
||||
|
||||
IF (H5_HAVE_FILTER_SHUFFLE)
|
||||
SET (USE_FILTER_SHUFFLE "true")
|
||||
ENDIF (H5_HAVE_FILTER_SHUFFLE)
|
||||
|
||||
IF (H5_HAVE_FILTER_FLETCHER32)
|
||||
SET (USE_FILTER_FLETCHER32 "true")
|
||||
ENDIF (H5_HAVE_FILTER_FLETCHER32)
|
||||
|
||||
IF (H5_HAVE_FILTER_NBIT)
|
||||
SET (USE_FILTER_NBIT "true")
|
||||
ENDIF (H5_HAVE_FILTER_NBIT)
|
||||
|
||||
IF (H5_HAVE_FILTER_SCALEOFFSET)
|
||||
SET (USE_FILTER_SCALEOFFSET "true")
|
||||
ENDIF (H5_HAVE_FILTER_SCALEOFFSET)
|
||||
|
||||
# copy files (these files have no filters)
|
||||
ADD_H5_TEST (fill "TEST" ${FILE0})
|
||||
ADD_H5_TEST (objs "TEST" ${FILE1})
|
||||
ADD_H5_TEST (attr "TEST" ${FILE2})
|
||||
ADD_H5_TEST (hlink "TEST" ${FILE3})
|
||||
ADD_H5_TEST (layout "TEST" ${FILE4})
|
||||
ADD_H5_TEST (early "TEST" ${FILE5})
|
||||
|
||||
# use $FILE4 to write some filters (this file has no filters)
|
||||
|
||||
# gzip with individual object
|
||||
SET (arg ${FILE4} -f dset1:GZIP=1 -l dset1:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (gzip_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# gzip for all
|
||||
SET (arg ${FILE4} -f GZIP=1)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (gzip_all ${TESTTYPE} ${arg})
|
||||
|
||||
# szip with individual object
|
||||
SET (arg ${FILE4} -f dset2:SZIP=8,EC -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# szip for all
|
||||
SET (arg ${FILE4} -f SZIP=8,NN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_all ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle with individual object
|
||||
SET (arg ${FILE4} -f dset2:SHUF -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle for all
|
||||
SET (arg ${FILE4} -f SHUF)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_all ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 with individual object
|
||||
SET (arg ${FILE4} -f dset2:FLET -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_individual ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 for all
|
||||
SET (arg ${FILE4} -f FLET)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_all ${TESTTYPE} ${arg})
|
||||
|
||||
# all filters
|
||||
SET (arg ${FILE4} -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (all_filters ${TESTTYPE} ${arg})
|
||||
|
||||
# verbose gzip with individual object
|
||||
SET (arg ${FILE11} -v -f /dset_deflate:GZIP=9)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_CMP_TEST (gzip_verbose_filters "O?...ing file[^\n]+\n" ${TESTTYPE} 0 ${arg})
|
||||
|
||||
###########################################################
|
||||
# the following tests assume the input files have filters
|
||||
###########################################################
|
||||
|
||||
# szip copy
|
||||
SET (arg ${FILE7})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# szip remove
|
||||
SET (arg ${FILE7} --filter=dset_szip:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP)
|
||||
ADD_H5_TEST (szip_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# deflate copy
|
||||
SET (arg ${FILE8})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# deflate remove
|
||||
SET (arg ${FILE8} -f dset_deflate:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle copy
|
||||
SET (arg ${FILE9})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# shuffle remove
|
||||
SET (arg ${FILE9} -f dset_shuffle:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (shuffle_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 copy
|
||||
SET (arg ${FILE10})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# fletcher32 remove
|
||||
SET (arg ${FILE10} -f dset_fletcher32:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32)
|
||||
ADD_H5_TEST (fletcher_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit copy
|
||||
SET (arg ${FILE12})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit remove
|
||||
SET (arg ${FILE12} -f dset_nbit:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# nbit add
|
||||
SET (arg ${FILE12} -f dset_int31:NBIT)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_NBIT)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_NBIT)
|
||||
ADD_H5_TEST (nbit_add ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset copy
|
||||
SET (arg ${FILE13})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_copy ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset add
|
||||
SET (arg ${FILE13} -f dset_none:SOFF=31,IN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_add ${TESTTYPE} ${arg})
|
||||
|
||||
# scaleoffset remove
|
||||
SET (arg ${FILE13} -f dset_scaleoffset:NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (scale_remove ${TESTTYPE} ${arg})
|
||||
|
||||
# remove all filters
|
||||
SET (arg ${FILE11} -f NONE)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
|
||||
ADD_H5_TEST (remove_all ${TESTTYPE} ${arg})
|
||||
|
||||
#filter conversions
|
||||
SET (arg ${FILE8} -f dset_deflate:SZIP=8,NN)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_convert ${TESTTYPE} ${arg})
|
||||
|
||||
SET (arg ${FILE7} -f dset_szip:GZIP=1)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (szip_convert ${TESTTYPE} ${arg})
|
||||
|
||||
#limit
|
||||
SET (arg ${FILE4} -f GZIP=1 -m 1024)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_limit ${TESTTYPE} ${arg})
|
||||
|
||||
#file
|
||||
SET (arg ${FILE4} -e ${INFO_FILE})
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST (deflate_file ${TESTTYPE} ${arg})
|
||||
|
||||
#########################################################
|
||||
# layout options (these files have no filters)
|
||||
#########################################################
|
||||
ADD_H5_VERIFY_TEST (dset2_chunk_20x10 "TEST" 0 ${FILE4} dset2 CHUNKED --layout=dset2:CHUNK=20x10)
|
||||
ADD_H5_VERIFY_TEST (chunk_20x10 "TEST" 1 ${FILE4} null CHUNKED -l CHUNK=20x10)
|
||||
ADD_H5_VERIFY_TEST (dset2_conti "TEST" 0 ${FILE4} dset2 CONTIGUOUS -l dset2:CONTI)
|
||||
ADD_H5_VERIFY_TEST (conti "TEST" 1 ${FILE4} null CONTIGUOUS -l CONTI)
|
||||
ADD_H5_VERIFY_TEST (dset2_compa "TEST" 0 ${FILE4} dset2 COMPACT -l dset2:COMPA)
|
||||
ADD_H5_VERIFY_TEST (compa "TEST" 1 ${FILE4} null COMPACT -l COMPA)
|
||||
|
||||
################################################################
|
||||
# layout conversions (file has no filters)
|
||||
###############################################################
|
||||
ADD_H5_VERIFY_TEST (dset_compa_conti "TEST" 0 ${FILE4} dset_compact CONTIGUOUS -l dset_compact:CONTI)
|
||||
ADD_H5_VERIFY_TEST (dset_compa_chunk "TEST" 0 ${FILE4} dset_compact CHUNKED -l dset_compact:CHUNK=2x5)
|
||||
ADD_H5_VERIFY_TEST (dset_compa_compa "TEST" 0 ${FILE4} dset_compact COMPACT -l dset_compact:COMPA)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_compa "TEST" 0 ${FILE4} dset_contiguous COMPACT -l dset_contiguous:COMPA)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_chunk "TEST" 0 ${FILE4} dset_contiguous CHUNKED -l dset_contiguous:CHUNK=3x6)
|
||||
ADD_H5_VERIFY_TEST (dset_conti_conti "TEST" 0 ${FILE4} dset_contiguous CONTIGUOUS -l dset_contiguous:CONTI)
|
||||
ADD_H5_VERIFY_TEST (chunk_compa "TEST" 0 ${FILE4} dset_chunk COMPACT -l dset_chunk:COMPA)
|
||||
ADD_H5_VERIFY_TEST (chunk_conti "TEST" 0 ${FILE4} dset_chunk CONTIGUOUS -l dset_chunk:CONTI)
|
||||
ADD_H5_VERIFY_TEST (chunk_18x13 "TEST" 0 ${FILE4} dset_chunk CHUNKED -l dset_chunk:CHUNK=18x13)
|
||||
|
||||
# test convert small size dataset ( < 1k) to compact layout without -m
|
||||
ADD_H5_VERIFY_TEST (contig_small_compa "TEST" 0 ${FILE18} contig_small COMPACT -l contig_small:COMPA)
|
||||
ADD_H5_VERIFY_TEST (contig_small_fixed_compa "TEST" 0 ${FILE18} chunked_small_fixed COMPACT -l chunked_small_fixed:COMPA)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Test file contains chunked datasets (need multiple dsets) with
|
||||
# unlimited max dims. (HDFFV-7933)
|
||||
# Use first dset to test.
|
||||
#---------------------------------------------------------------------------
|
||||
# chunk to chunk - specify chunk dim bigger than any current dim
|
||||
ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300)
|
||||
|
||||
# chunk to contiguous
|
||||
ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI)
|
||||
|
||||
# chunk to compact - convert big dataset (should be > 64k) for this purpose,
|
||||
# should remain as original layout (chunk)
|
||||
ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA)
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Test -f for some specific cases. Chunked dataset with unlimited max dims.
|
||||
# (HDFFV-8012)
|
||||
#--------------------------------------------------------------------------
|
||||
# - should not fail
|
||||
# - should not change max dims from unlimit
|
||||
|
||||
# chunk dim is bigger than dataset dim. ( dset size < 64k )
|
||||
ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE)
|
||||
|
||||
# chunk dim is bigger than dataset dim. ( dset size > 64k )
|
||||
ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE)
|
||||
|
||||
# chunk dims are smaller than dataset dims. ( dset size < 64k )
|
||||
ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE)
|
||||
|
||||
# file input - should not fail
|
||||
ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE)
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Test base: Convert CHUNK to CONTI for a chunked dataset with small dataset
|
||||
# (dset size < 64K) and with unlimited max dims on a condition as follow.
|
||||
# (HDFFV-8214)
|
||||
#--------------------------------------------------------------------------
|
||||
# chunk dim is bigger than dataset dim. should succeed.
|
||||
ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI)
|
||||
# chunk dim is smaller than dataset dim. should succeed.
|
||||
ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI)
|
||||
|
||||
|
||||
|
||||
# Native option
|
||||
# Do not use FILE1, as the named dtype will be converted to native, and h5diff will
|
||||
# report a difference.
|
||||
ADD_H5_TEST (native_fill "TEST" ${FILE0} -n)
|
||||
ADD_H5_TEST (native_attr "TEST" ${FILE2} -n)
|
||||
|
||||
# latest file format with long switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg --layout CHUNK=20x10 --filter GZIP=1 --minimum=10 --native --latest --compact=8 --indexed=6 --ssize=8[:dtype])
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_VERIFY_TEST (layout_long_switches ${TESTTYPE} 1 ${FILE4} null CHUNKED ${arg})
|
||||
|
||||
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype])
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_VERIFY_TEST (layout_short_switches ${TESTTYPE} 1 ${FILE4} null CHUNKED ${arg})
|
||||
|
||||
# several global filters
|
||||
SET (arg ${FILE4} --filter GZIP=1 --filter SHUF)
|
||||
SET (TESTTYPE "TEST")
|
||||
IF (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
|
||||
ADD_H5_TEST (global_filters ${TESTTYPE} ${arg})
|
||||
|
||||
# syntax of -i infile -o outfile
|
||||
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
|
||||
SET (arg ${FILE4} -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype])
|
||||
SET (TESTTYPE "LEGACY")
|
||||
IF (NOT USE_FILTER_DEFLATE)
|
||||
SET (TESTTYPE "SKIP")
|
||||
ENDIF (NOT USE_FILTER_DEFLATE)
|
||||
ADD_H5_TEST_OLD (old_style_layout_short_switches ${TESTTYPE} ${arg})
|
||||
|
||||
# add a userblock to file
|
||||
SET (arg ${FILE1} -u ${PROJECT_BINARY_DIR}/testfiles/ublock.bin -b 2048)
|
||||
ADD_H5_TEST (add_userblock "TEST" ${arg})
|
||||
|
||||
# add alignment
|
||||
SET (arg ${FILE1} -t 1 -a 1)
|
||||
ADD_H5_TEST (add_alignment "TEST" ${arg})
|
||||
|
||||
# Check repacking file with old version of layout message (should get upgraded
|
||||
# to new version and be readable, etc.)
|
||||
ADD_H5_TEST (upgrade_layout "TEST" ${FILE14})
|
||||
|
||||
# test for datum size > H5TOOLS_MALLOCSIZE
|
||||
ADD_H5_TEST (gt_mallocsize "TEST" ${FILE1} -f GZIP=1)
|
||||
|
||||
# Check repacking file with committed datatypes in odd configurations
|
||||
ADD_H5_TEST (committed_dt "TEST" ${FILE15})
|
||||
|
||||
# tests family driver (file is located in common testfiles folder, uses TOOLTEST1
|
||||
ADD_H5_TEST (family "TEST" ${FILE16})
|
||||
|
||||
# test various references (bug 1814 and 1726)
|
||||
ADD_H5_TEST (bug1814 "TEST" ${FILE_REF})
|
||||
|
||||
# test attribute with various references (bug1797 / HDFFV-5932)
|
||||
# the references in attribute of compund or vlen datatype
|
||||
ADD_H5_TEST (HDFFV-5932 "TEST" ${FILE_ATTR_REF})
|
||||
|
||||
# Add test for memory leak in attirbute. This test is verified by CTEST.
|
||||
# 1. leak from vlen string
|
||||
# 2. leak from compound type without reference member
|
||||
# (HDFFV-7840, )
|
||||
# Note: this test is experimental for sharing test file among tools
|
||||
ADD_H5_TEST (HDFFV-7840 "TEST" h5diff_attr1.h5)
|
||||
|
||||
# tests for metadata block size option ('-M')
|
||||
ADD_H5_TEST_META (meta_short h5repack_layout.h5 -M 8192)
|
||||
ADD_H5_TEST_META (meta_long h5repack_layout.h5 --metadata_block_size=8192)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
# Run test with different Virtual File Driver
|
||||
FOREACH (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
ENDFOREACH (vfd ${VFD_LIST})
|
||||
ENDIF (HDF5_TEST_VFD)
|
@ -17,12 +17,6 @@ SET_TARGET_PROPERTIES (h5stat PROPERTIES FOLDER tools)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES h5stat)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5stat test executables
|
||||
@ -36,256 +30,8 @@ IF (BUILD_TESTING)
|
||||
|
||||
#ADD_TEST (NAME h5stat_gentest COMMAND $<TARGET_FILE:h5stat_gentest>)
|
||||
ENDIF (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_FILES
|
||||
h5stat_help1.ddl
|
||||
h5stat_help2.ddl
|
||||
h5stat_notexist.ddl
|
||||
h5stat_nofile.ddl
|
||||
h5stat_filters.ddl
|
||||
h5stat_filters-file.ddl
|
||||
h5stat_filters-F.ddl
|
||||
h5stat_filters-d.ddl
|
||||
h5stat_filters-g.ddl
|
||||
h5stat_filters-dT.ddl
|
||||
h5stat_filters-UD.ddl
|
||||
h5stat_filters-UT.ddl
|
||||
h5stat_tsohm.ddl
|
||||
h5stat_newgrat.ddl
|
||||
h5stat_newgrat-UG.ddl
|
||||
h5stat_newgrat-UA.ddl
|
||||
h5stat_err1_links.ddl
|
||||
h5stat_links1.ddl
|
||||
h5stat_links2.ddl
|
||||
h5stat_links3.ddl
|
||||
h5stat_links4.ddl
|
||||
h5stat_links5.ddl
|
||||
h5stat_err1_dims.ddl
|
||||
h5stat_dims1.ddl
|
||||
h5stat_dims2.ddl
|
||||
h5stat_err1_numattrs.ddl
|
||||
h5stat_err2_numattrs.ddl
|
||||
h5stat_numattrs1.ddl
|
||||
h5stat_numattrs2.ddl
|
||||
h5stat_numattrs3.ddl
|
||||
h5stat_numattrs4.ddl
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
h5stat_filters.h5
|
||||
h5stat_tsohm.h5
|
||||
h5stat_newgrat.h5
|
||||
h5stat_threshold.h5
|
||||
)
|
||||
|
||||
FOREACH (ddl_file ${HDF5_REFERENCE_FILES})
|
||||
SET (ddldest "${PROJECT_BINARY_DIR}/${ddl_file}")
|
||||
#MESSAGE (STATUS " Translating ${ddl_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5stat
|
||||
POST_BUILD
|
||||
COMMAND ${XLATE_UTILITY}
|
||||
ARGS ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/testfiles/${ddl_file} ${ddldest} -l3
|
||||
)
|
||||
ENDFOREACH (ddl_file ${HDF5_REFERENCE_FILES})
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5stat
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5STAT-${resultfile} COMMAND $<TARGET_FILE:h5stat> ${ARGN})
|
||||
IF (NOT ${resultcode} STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "0")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5STAT-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ${resultfile}.out ${resultfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5STAT-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5stat>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.ddl"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES DEPENDS "H5STAT-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5STAT-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
h5stat_help1.out
|
||||
h5stat_help1.out.err
|
||||
h5stat_help2.out
|
||||
h5stat_help2.out.err
|
||||
h5stat_notexist.out
|
||||
h5stat_notexist.out.err
|
||||
h5stat_nofile.out
|
||||
h5stat_nofile.out.err
|
||||
h5stat_filters.out
|
||||
h5stat_filters.out.err
|
||||
h5stat_filters-file.out
|
||||
h5stat_filters-file.out.err
|
||||
h5stat_filters-F.out
|
||||
h5stat_filters-F.out.err
|
||||
h5stat_filters-d.out
|
||||
h5stat_filters-d.out.err
|
||||
h5stat_filters-g.out
|
||||
h5stat_filters-g.out.err
|
||||
h5stat_filters-dT.out
|
||||
h5stat_filters-dT.out.err
|
||||
h5stat_filters-UD.out
|
||||
h5stat_filters-UD.out.err
|
||||
h5stat_filters-UT.out
|
||||
h5stat_filters-UT.out.err
|
||||
h5stat_tsohm.out
|
||||
h5stat_tsohm.out.err
|
||||
h5stat_newgrat.out
|
||||
h5stat_newgrat.out.err
|
||||
h5stat_newgrat-UG.out
|
||||
h5stat_newgrat-UG.out.err
|
||||
h5stat_newgrat-UA.out
|
||||
h5stat_newgrat-UA.out.err
|
||||
h5stat_err1_links.out
|
||||
h5stat_err1_links.out.err
|
||||
h5stat_links1.out
|
||||
h5stat_links1.out.err
|
||||
h5stat_links2.out
|
||||
h5stat_links2.out.err
|
||||
h5stat_links3.out
|
||||
h5stat_links3.out.err
|
||||
h5stat_links4.out
|
||||
h5stat_links4.out.err
|
||||
h5stat_links5.out
|
||||
h5stat_links5.out.err
|
||||
h5stat_err1_dims.out
|
||||
h5stat_err1_dims.out.err
|
||||
h5stat_dims1.out
|
||||
h5stat_dims1.out.err
|
||||
h5stat_dims2.out
|
||||
h5stat_dims2.out.err
|
||||
h5stat_err1_numattrs.out
|
||||
h5stat_err1_numattrs.out.err
|
||||
h5stat_err2_numattrs.out
|
||||
h5stat_err2_numattrs.out.err
|
||||
h5stat_numattrs1.out
|
||||
h5stat_numattrs1.out.err
|
||||
h5stat_numattrs2.out
|
||||
h5stat_numattrs2.out.err
|
||||
h5stat_numattrs3.out
|
||||
h5stat_numattrs3.out.err
|
||||
h5stat_numattrs4.out
|
||||
h5stat_numattrs4.out.err
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5STAT-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5STAT-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# Test for help flag
|
||||
ADD_H5_TEST (h5stat_help1 0 -h)
|
||||
ADD_H5_TEST (h5stat_help2 0 --help)
|
||||
|
||||
# Test when h5stat a file that does not exist
|
||||
ADD_H5_TEST (h5stat_notexist 1 notexist.h5)
|
||||
ADD_H5_TEST (h5stat_nofile 1 '')
|
||||
|
||||
# Test file with groups, compressed datasets, user-applied fileters, etc.
|
||||
# h5stat_filters.h5 is a copy of ../../testfiles/tfilters.h5 as of release 1.8.0-alpha4
|
||||
ADD_H5_TEST (h5stat_filters 0 h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-file 0 -f h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-F 0 -F h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-d 0 -d h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-g 0 -g h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-dT 0 -dT h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-UD 0 -D h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-UT 0 -T h5stat_filters.h5)
|
||||
# h5stat_tsohm.h5 is a copy of ../../../test/tsohm.h5 generated by tsohm.c
|
||||
# as of release 1.8.0-alpha4
|
||||
ADD_H5_TEST (h5stat_tsohm 0 h5stat_tsohm.h5)
|
||||
# h5stat_newgrat.h5 is generated by h5stat_gentest.c
|
||||
ADD_H5_TEST (h5stat_newgrat 0 h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_newgrat-UG 0 -G h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_newgrat-UA 0 -A h5stat_newgrat.h5)
|
||||
#
|
||||
# Tests for -l (--links) option on h5stat_threshold.h5:
|
||||
# -l 0 (incorrect threshold value)
|
||||
# -g -l 8
|
||||
# --links=8
|
||||
# --links=20 -g
|
||||
ADD_H5_TEST (h5stat_err1_links 1 -l 0 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links1 0 -g -l 8 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links2 0 --links=8 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links3 0 --links=20 -g h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -l (--links) option on h5stat_newgrat.h5:
|
||||
# -g
|
||||
# -g -l 40000
|
||||
ADD_H5_TEST (h5stat_links4 0 -g h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_links5 0 -g -l 40000 h5stat_newgrat.h5)
|
||||
#
|
||||
# Tests for -m (--dims) option on h5stat_threshold.h5
|
||||
# -d --dims=-1 (incorrect threshold value)
|
||||
# -gd -m 5
|
||||
# -d --di=15
|
||||
ADD_H5_TEST (h5stat_err1_dims 1 -d --dims=-1 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_dims1 0 -gd -m 5 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_dims2 0 -d --di=15 h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -a option on h5stat_threshold.h5
|
||||
# -a -2 (incorrect threshold value)
|
||||
# --numattrs (without threshold value)
|
||||
# -AS -a 10
|
||||
# -a 1
|
||||
# -A --numattrs=25
|
||||
ADD_H5_TEST (h5stat_err1_numattrs 1 -a -2 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_err2_numattrs 1 --numattrs h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs1 0 -AS -a 10 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs2 0 -a 1 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs3 0 -A --numattrs=25 h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -a option on h5stat_newgrat.h5
|
||||
# -A -a 100
|
||||
ADD_H5_TEST (h5stat_numattrs4 0 -A -a 100 h5stat_newgrat.h5)
|
||||
#
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
##############################################################################
|
||||
|
257
tools/h5stat/CMakeTests.cmake
Normal file
257
tools/h5stat/CMakeTests.cmake
Normal file
@ -0,0 +1,257 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the test directory into the source directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_FILES
|
||||
h5stat_help1.ddl
|
||||
h5stat_help2.ddl
|
||||
h5stat_notexist.ddl
|
||||
h5stat_nofile.ddl
|
||||
h5stat_filters.ddl
|
||||
h5stat_filters-file.ddl
|
||||
h5stat_filters-F.ddl
|
||||
h5stat_filters-d.ddl
|
||||
h5stat_filters-g.ddl
|
||||
h5stat_filters-dT.ddl
|
||||
h5stat_filters-UD.ddl
|
||||
h5stat_filters-UT.ddl
|
||||
h5stat_tsohm.ddl
|
||||
h5stat_newgrat.ddl
|
||||
h5stat_newgrat-UG.ddl
|
||||
h5stat_newgrat-UA.ddl
|
||||
h5stat_err1_links.ddl
|
||||
h5stat_links1.ddl
|
||||
h5stat_links2.ddl
|
||||
h5stat_links3.ddl
|
||||
h5stat_links4.ddl
|
||||
h5stat_links5.ddl
|
||||
h5stat_err1_dims.ddl
|
||||
h5stat_dims1.ddl
|
||||
h5stat_dims2.ddl
|
||||
h5stat_err1_numattrs.ddl
|
||||
h5stat_err2_numattrs.ddl
|
||||
h5stat_numattrs1.ddl
|
||||
h5stat_numattrs2.ddl
|
||||
h5stat_numattrs3.ddl
|
||||
h5stat_numattrs4.ddl
|
||||
)
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
h5stat_filters.h5
|
||||
h5stat_tsohm.h5
|
||||
h5stat_newgrat.h5
|
||||
h5stat_threshold.h5
|
||||
)
|
||||
|
||||
FOREACH (ddl_file ${HDF5_REFERENCE_FILES})
|
||||
SET (ddldest "${PROJECT_BINARY_DIR}/${ddl_file}")
|
||||
#MESSAGE (STATUS " Translating ${ddl_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5stat
|
||||
POST_BUILD
|
||||
COMMAND ${XLATE_UTILITY}
|
||||
ARGS ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/testfiles/${ddl_file} ${ddldest} -l3
|
||||
)
|
||||
ENDFOREACH (ddl_file ${HDF5_REFERENCE_FILES})
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5stat
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5STAT-${resultfile} COMMAND $<TARGET_FILE:h5stat> ${ARGN})
|
||||
IF (NOT ${resultcode} STREQUAL "0")
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
ENDIF (NOT ${resultcode} STREQUAL "0")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5STAT-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ${resultfile}.out ${resultfile}.out.err
|
||||
)
|
||||
ADD_TEST (
|
||||
NAME H5STAT-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5stat>"
|
||||
-D "TEST_ARGS=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.ddl"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5STAT-${resultfile} PROPERTIES DEPENDS "H5STAT-${resultfile}-clear-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5STAT-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
h5stat_help1.out
|
||||
h5stat_help1.out.err
|
||||
h5stat_help2.out
|
||||
h5stat_help2.out.err
|
||||
h5stat_notexist.out
|
||||
h5stat_notexist.out.err
|
||||
h5stat_nofile.out
|
||||
h5stat_nofile.out.err
|
||||
h5stat_filters.out
|
||||
h5stat_filters.out.err
|
||||
h5stat_filters-file.out
|
||||
h5stat_filters-file.out.err
|
||||
h5stat_filters-F.out
|
||||
h5stat_filters-F.out.err
|
||||
h5stat_filters-d.out
|
||||
h5stat_filters-d.out.err
|
||||
h5stat_filters-g.out
|
||||
h5stat_filters-g.out.err
|
||||
h5stat_filters-dT.out
|
||||
h5stat_filters-dT.out.err
|
||||
h5stat_filters-UD.out
|
||||
h5stat_filters-UD.out.err
|
||||
h5stat_filters-UT.out
|
||||
h5stat_filters-UT.out.err
|
||||
h5stat_tsohm.out
|
||||
h5stat_tsohm.out.err
|
||||
h5stat_newgrat.out
|
||||
h5stat_newgrat.out.err
|
||||
h5stat_newgrat-UG.out
|
||||
h5stat_newgrat-UG.out.err
|
||||
h5stat_newgrat-UA.out
|
||||
h5stat_newgrat-UA.out.err
|
||||
h5stat_err1_links.out
|
||||
h5stat_err1_links.out.err
|
||||
h5stat_links1.out
|
||||
h5stat_links1.out.err
|
||||
h5stat_links2.out
|
||||
h5stat_links2.out.err
|
||||
h5stat_links3.out
|
||||
h5stat_links3.out.err
|
||||
h5stat_links4.out
|
||||
h5stat_links4.out.err
|
||||
h5stat_links5.out
|
||||
h5stat_links5.out.err
|
||||
h5stat_err1_dims.out
|
||||
h5stat_err1_dims.out.err
|
||||
h5stat_dims1.out
|
||||
h5stat_dims1.out.err
|
||||
h5stat_dims2.out
|
||||
h5stat_dims2.out.err
|
||||
h5stat_err1_numattrs.out
|
||||
h5stat_err1_numattrs.out.err
|
||||
h5stat_err2_numattrs.out
|
||||
h5stat_err2_numattrs.out.err
|
||||
h5stat_numattrs1.out
|
||||
h5stat_numattrs1.out.err
|
||||
h5stat_numattrs2.out
|
||||
h5stat_numattrs2.out.err
|
||||
h5stat_numattrs3.out
|
||||
h5stat_numattrs3.out.err
|
||||
h5stat_numattrs4.out
|
||||
h5stat_numattrs4.out.err
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5STAT-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5STAT-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# Test for help flag
|
||||
ADD_H5_TEST (h5stat_help1 0 -h)
|
||||
ADD_H5_TEST (h5stat_help2 0 --help)
|
||||
|
||||
# Test when h5stat a file that does not exist
|
||||
ADD_H5_TEST (h5stat_notexist 1 notexist.h5)
|
||||
ADD_H5_TEST (h5stat_nofile 1 '')
|
||||
|
||||
# Test file with groups, compressed datasets, user-applied fileters, etc.
|
||||
# h5stat_filters.h5 is a copy of ../../testfiles/tfilters.h5 as of release 1.8.0-alpha4
|
||||
ADD_H5_TEST (h5stat_filters 0 h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-file 0 -f h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-F 0 -F h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-d 0 -d h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-g 0 -g h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-dT 0 -dT h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-UD 0 -D h5stat_filters.h5)
|
||||
ADD_H5_TEST (h5stat_filters-UT 0 -T h5stat_filters.h5)
|
||||
# h5stat_tsohm.h5 is a copy of ../../../test/tsohm.h5 generated by tsohm.c
|
||||
# as of release 1.8.0-alpha4
|
||||
ADD_H5_TEST (h5stat_tsohm 0 h5stat_tsohm.h5)
|
||||
# h5stat_newgrat.h5 is generated by h5stat_gentest.c
|
||||
ADD_H5_TEST (h5stat_newgrat 0 h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_newgrat-UG 0 -G h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_newgrat-UA 0 -A h5stat_newgrat.h5)
|
||||
#
|
||||
# Tests for -l (--links) option on h5stat_threshold.h5:
|
||||
# -l 0 (incorrect threshold value)
|
||||
# -g -l 8
|
||||
# --links=8
|
||||
# --links=20 -g
|
||||
ADD_H5_TEST (h5stat_err1_links 1 -l 0 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links1 0 -g -l 8 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links2 0 --links=8 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_links3 0 --links=20 -g h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -l (--links) option on h5stat_newgrat.h5:
|
||||
# -g
|
||||
# -g -l 40000
|
||||
ADD_H5_TEST (h5stat_links4 0 -g h5stat_newgrat.h5)
|
||||
ADD_H5_TEST (h5stat_links5 0 -g -l 40000 h5stat_newgrat.h5)
|
||||
#
|
||||
# Tests for -m (--dims) option on h5stat_threshold.h5
|
||||
# -d --dims=-1 (incorrect threshold value)
|
||||
# -gd -m 5
|
||||
# -d --di=15
|
||||
ADD_H5_TEST (h5stat_err1_dims 1 -d --dims=-1 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_dims1 0 -gd -m 5 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_dims2 0 -d --di=15 h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -a option on h5stat_threshold.h5
|
||||
# -a -2 (incorrect threshold value)
|
||||
# --numattrs (without threshold value)
|
||||
# -AS -a 10
|
||||
# -a 1
|
||||
# -A --numattrs=25
|
||||
ADD_H5_TEST (h5stat_err1_numattrs 1 -a -2 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_err2_numattrs 1 --numattrs h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs1 0 -AS -a 10 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs2 0 -a 1 h5stat_threshold.h5)
|
||||
ADD_H5_TEST (h5stat_numattrs3 0 -A --numattrs=25 h5stat_threshold.h5)
|
||||
#
|
||||
# Tests for -a option on h5stat_newgrat.h5
|
||||
# -A -a 100
|
||||
ADD_H5_TEST (h5stat_numattrs4 0 -A -a 100 h5stat_newgrat.h5)
|
||||
#
|
||||
|
@ -41,12 +41,6 @@ SET (H5_DEP_EXECUTABLES
|
||||
# CONFIGURE_FILE (${HDF5_TOOLS_MISC_SOURCE_DIR}/h5cc.in ${HDF5_BINARY_DIR}/h5cc @ONLY)
|
||||
#ENDIF (NOT WIN32)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
IF (BUILD_TESTING)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the misc test executables
|
||||
@ -65,272 +59,8 @@ IF (BUILD_TESTING)
|
||||
TARGET_C_PROPERTIES (h5repart_test " " " ")
|
||||
TARGET_LINK_LIBRARIES (h5repart_test ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
SET_TARGET_PROPERTIES (h5repart_test PROPERTIES FOLDER tools)
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
family_file00000.h5
|
||||
family_file00001.h5
|
||||
family_file00002.h5
|
||||
family_file00003.h5
|
||||
family_file00004.h5
|
||||
family_file00005.h5
|
||||
family_file00006.h5
|
||||
family_file00007.h5
|
||||
family_file00008.h5
|
||||
family_file00009.h5
|
||||
family_file00010.h5
|
||||
family_file00011.h5
|
||||
family_file00012.h5
|
||||
family_file00013.h5
|
||||
family_file00014.h5
|
||||
family_file00015.h5
|
||||
family_file00016.h5
|
||||
family_file00017.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5repart
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
SET (HDF5_MKGRP_TEST_FILES
|
||||
#h5mkgrp_help.txt
|
||||
#h5mkgrp_version
|
||||
h5mkgrp_single.ls
|
||||
h5mkgrp_single_v.ls
|
||||
h5mkgrp_single_p.ls
|
||||
h5mkgrp_single_l.ls
|
||||
h5mkgrp_several.ls
|
||||
h5mkgrp_several_v.ls
|
||||
h5mkgrp_several_p.ls
|
||||
h5mkgrp_several_l.ls
|
||||
h5mkgrp_nested_p.ls
|
||||
h5mkgrp_nested_lp.ls
|
||||
h5mkgrp_nested_mult_p.ls
|
||||
h5mkgrp_nested_mult_lp.ls
|
||||
)
|
||||
|
||||
# make test dir
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
FOREACH (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_mkgrp_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_mkgrp_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5mkgrp
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_mkgrp_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5mkgrp
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_help.txt ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_help.txt
|
||||
)
|
||||
CONFIGURE_FILE (${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_version.txt.in ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_version.txt @ONLY)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode resultoption)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${resultfile}.h5
|
||||
${resultfile}.out
|
||||
${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}
|
||||
COMMAND $<TARGET_FILE:h5mkgrp> ${resultoption} ${resultfile}.h5 ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES DEPENDS H5MKGRP-${resultfile}-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}-h5ls
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5ls>"
|
||||
-D "TEST_ARGS:STRING=-v;-r;${resultfile}.h5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_MASK_MOD=true"
|
||||
-D "TEST_REFERENCE=${resultfile}.ls"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile}-h5ls PROPERTIES DEPENDS H5MKGRP-${resultfile})
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST resultfile resultcode resultoption)
|
||||
|
||||
MACRO (ADD_H5_CMP resultfile resultcode)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5MKGRP_CMP-${resultfile} COMMAND $<TARGET_FILE:h5mkgrp> ${ARGN})
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP_CMP-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${resultfile}.h5
|
||||
${resultfile}.out
|
||||
${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP_CMP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP_CMP-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5mkgrp>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP_CMP-${resultfile} PROPERTIES DEPENDS H5MKGRP_CMP-${resultfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_CMP resultfile resultcode)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5REPART-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
fst_family00000.h5
|
||||
scd_family00000.h5
|
||||
scd_family00001.h5
|
||||
scd_family00002.h5
|
||||
scd_family00003.h5
|
||||
family_to_sec2.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPART-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5REPART-clearall-objects")
|
||||
|
||||
# repartition family member size to 20,000 bytes.
|
||||
ADD_TEST (NAME H5REPART-h5repart_20K COMMAND $<TARGET_FILE:h5repart> -m 20000 family_file%05d.h5 fst_family%05d.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_20K PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# repartition family member size to 5 KB.
|
||||
ADD_TEST (NAME H5REPART-h5repart_5K COMMAND $<TARGET_FILE:h5repart> -m 5k family_file%05d.h5 scd_family%05d.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_5K PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# convert family file to sec2 file of 20,000 bytes
|
||||
ADD_TEST (NAME H5REPART-h5repart_sec2 COMMAND $<TARGET_FILE:h5repart> -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_sec2 PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# test the output files repartitioned above.
|
||||
ADD_TEST (NAME H5REPART-h5repart_test COMMAND $<TARGET_FILE:h5repart_test>)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_test PROPERTIES DEPENDS H5REPART-clearall-objects DEPENDS H5REPART-h5repart_20K DEPENDS H5REPART-h5repart_5K DEPENDS H5REPART-h5repart_sec2)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
|
||||
h5repart_test
|
||||
)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
h5mkgrp_help.out
|
||||
h5mkgrp_help.out.err
|
||||
h5mkgrp_version.out
|
||||
h5mkgrp_version.out.err
|
||||
h5mkgrp_single.h5
|
||||
h5mkgrp_single.out
|
||||
h5mkgrp_single.out.err
|
||||
h5mkgrp_single_v.h5
|
||||
h5mkgrp_single_v.out
|
||||
h5mkgrp_single_v.out.err
|
||||
h5mkgrp_single_p.h5
|
||||
h5mkgrp_single_p.out
|
||||
h5mkgrp_single_p.out.err
|
||||
h5mkgrp_single_l.h5
|
||||
h5mkgrp_single_l.out
|
||||
h5mkgrp_single_l.out.err
|
||||
h5mkgrp_several.h5
|
||||
h5mkgrp_several.out
|
||||
h5mkgrp_several.out.err
|
||||
h5mkgrp_several_v.h5
|
||||
h5mkgrp_several_v.out
|
||||
h5mkgrp_several_v.out.err
|
||||
h5mkgrp_several_p.h5
|
||||
h5mkgrp_several_p.out
|
||||
h5mkgrp_several_p.out.err
|
||||
h5mkgrp_several_l.h5
|
||||
h5mkgrp_several_l.out
|
||||
h5mkgrp_several_l.out.err
|
||||
h5mkgrp_nested_p.h5
|
||||
h5mkgrp_nested_p.out
|
||||
h5mkgrp_nested_p.out.err
|
||||
h5mkgrp_nested_lp.h5
|
||||
h5mkgrp_nested_lp.out
|
||||
h5mkgrp_nested_lp.out.err
|
||||
h5mkgrp_nested_mult_p.h5
|
||||
h5mkgrp_nested_mult_p.out
|
||||
h5mkgrp_nested_mult_p.out.err
|
||||
h5mkgrp_nested_mult_lp.h5
|
||||
h5mkgrp_nested_mult_lp.out
|
||||
h5mkgrp_nested_mult_lp.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5MKGRP-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# Check that help & version is displayed properly
|
||||
ADD_H5_CMP (h5mkgrp_help 0 "-h")
|
||||
ADD_H5_CMP (h5mkgrp_version 0 "-V")
|
||||
|
||||
# Create single group at root level
|
||||
ADD_H5_TEST (h5mkgrp_single 0 "" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_v 0 "-v" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_p 0 "-p" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_l 0 "-l" latest)
|
||||
|
||||
# Create several groups at root level
|
||||
ADD_H5_TEST (h5mkgrp_several 0 "" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_v 0 "-v" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_p 0 "-p" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_l 0 "-l" one two)
|
||||
|
||||
# Create various nested groups
|
||||
ADD_H5_TEST (h5mkgrp_nested_p 0 "-p" /one/two)
|
||||
ADD_H5_TEST (h5mkgrp_nested_lp 0 "-lp" /one/two)
|
||||
ADD_H5_TEST (h5mkgrp_nested_mult_p 0 "-p" /one/two /three/four)
|
||||
ADD_H5_TEST (h5mkgrp_nested_mult_lp 0 "-lp" /one/two /three/four)
|
||||
INCLUDE (CMakeTests.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
|
||||
##############################################################################
|
||||
|
272
tools/misc/CMakeTests.cmake
Normal file
272
tools/misc/CMakeTests.cmake
Normal file
@ -0,0 +1,272 @@
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Copy all the HDF5 files from the source directory into the test directory
|
||||
# --------------------------------------------------------------------
|
||||
SET (HDF5_REFERENCE_TEST_FILES
|
||||
family_file00000.h5
|
||||
family_file00001.h5
|
||||
family_file00002.h5
|
||||
family_file00003.h5
|
||||
family_file00004.h5
|
||||
family_file00005.h5
|
||||
family_file00006.h5
|
||||
family_file00007.h5
|
||||
family_file00008.h5
|
||||
family_file00009.h5
|
||||
family_file00010.h5
|
||||
family_file00011.h5
|
||||
family_file00012.h5
|
||||
family_file00013.h5
|
||||
family_file00014.h5
|
||||
family_file00015.h5
|
||||
family_file00016.h5
|
||||
family_file00017.h5
|
||||
)
|
||||
|
||||
FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5repart
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
|
||||
|
||||
SET (HDF5_MKGRP_TEST_FILES
|
||||
#h5mkgrp_help.txt
|
||||
#h5mkgrp_version
|
||||
h5mkgrp_single.ls
|
||||
h5mkgrp_single_v.ls
|
||||
h5mkgrp_single_p.ls
|
||||
h5mkgrp_single_l.ls
|
||||
h5mkgrp_several.ls
|
||||
h5mkgrp_several_v.ls
|
||||
h5mkgrp_several_p.ls
|
||||
h5mkgrp_several_l.ls
|
||||
h5mkgrp_nested_p.ls
|
||||
h5mkgrp_nested_lp.ls
|
||||
h5mkgrp_nested_mult_p.ls
|
||||
h5mkgrp_nested_mult_lp.ls
|
||||
)
|
||||
|
||||
# make test dir
|
||||
FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
|
||||
FOREACH (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_mkgrp_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_mkgrp_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5mkgrp
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_mkgrp_file} ${dest}
|
||||
)
|
||||
ENDFOREACH (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET h5mkgrp
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_help.txt ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_help.txt
|
||||
)
|
||||
CONFIGURE_FILE (${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_version.txt.in ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_version.txt @ONLY)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S M A C R O S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
MACRO (ADD_H5_TEST resultfile resultcode resultoption)
|
||||
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${resultfile}.h5
|
||||
${resultfile}.out
|
||||
${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}
|
||||
COMMAND $<TARGET_FILE:h5mkgrp> ${resultoption} ${resultfile}.h5 ${ARGN}
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile} PROPERTIES DEPENDS H5MKGRP-${resultfile}-clear-objects)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-${resultfile}-h5ls
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5ls>"
|
||||
-D "TEST_ARGS:STRING=-v;-r;${resultfile}.h5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_MASK_MOD=true"
|
||||
-D "TEST_REFERENCE=${resultfile}.ls"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-${resultfile}-h5ls PROPERTIES DEPENDS H5MKGRP-${resultfile})
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_TEST resultfile resultcode resultoption)
|
||||
|
||||
MACRO (ADD_H5_CMP resultfile resultcode)
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (NAME H5MKGRP_CMP-${resultfile} COMMAND $<TARGET_FILE:h5mkgrp> ${ARGN})
|
||||
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP_CMP-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
${resultfile}.h5
|
||||
${resultfile}.out
|
||||
${resultfile}.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP_CMP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP_CMP-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5mkgrp>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.txt"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP_CMP-${resultfile} PROPERTIES DEPENDS H5MKGRP_CMP-${resultfile}-clear-objects)
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_CMP resultfile resultcode)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T H E T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
# Remove any output file left over from previous test run
|
||||
ADD_TEST (
|
||||
NAME H5REPART-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
fst_family00000.h5
|
||||
scd_family00000.h5
|
||||
scd_family00001.h5
|
||||
scd_family00002.h5
|
||||
scd_family00003.h5
|
||||
family_to_sec2.h5
|
||||
)
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5REPART-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5REPART-clearall-objects")
|
||||
|
||||
# repartition family member size to 20,000 bytes.
|
||||
ADD_TEST (NAME H5REPART-h5repart_20K COMMAND $<TARGET_FILE:h5repart> -m 20000 family_file%05d.h5 fst_family%05d.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_20K PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# repartition family member size to 5 KB.
|
||||
ADD_TEST (NAME H5REPART-h5repart_5K COMMAND $<TARGET_FILE:h5repart> -m 5k family_file%05d.h5 scd_family%05d.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_5K PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# convert family file to sec2 file of 20,000 bytes
|
||||
ADD_TEST (NAME H5REPART-h5repart_sec2 COMMAND $<TARGET_FILE:h5repart> -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_sec2 PROPERTIES DEPENDS H5REPART-clearall-objects)
|
||||
|
||||
# test the output files repartitioned above.
|
||||
ADD_TEST (NAME H5REPART-h5repart_test COMMAND $<TARGET_FILE:h5repart_test>)
|
||||
SET_TESTS_PROPERTIES (H5REPART-h5repart_test PROPERTIES DEPENDS H5REPART-clearall-objects DEPENDS H5REPART-h5repart_20K DEPENDS H5REPART-h5repart_5K DEPENDS H5REPART-h5repart_sec2)
|
||||
|
||||
SET (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
|
||||
h5repart_test
|
||||
)
|
||||
|
||||
IF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ADD_TEST (
|
||||
NAME H5MKGRP-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
h5mkgrp_help.out
|
||||
h5mkgrp_help.out.err
|
||||
h5mkgrp_version.out
|
||||
h5mkgrp_version.out.err
|
||||
h5mkgrp_single.h5
|
||||
h5mkgrp_single.out
|
||||
h5mkgrp_single.out.err
|
||||
h5mkgrp_single_v.h5
|
||||
h5mkgrp_single_v.out
|
||||
h5mkgrp_single_v.out.err
|
||||
h5mkgrp_single_p.h5
|
||||
h5mkgrp_single_p.out
|
||||
h5mkgrp_single_p.out.err
|
||||
h5mkgrp_single_l.h5
|
||||
h5mkgrp_single_l.out
|
||||
h5mkgrp_single_l.out.err
|
||||
h5mkgrp_several.h5
|
||||
h5mkgrp_several.out
|
||||
h5mkgrp_several.out.err
|
||||
h5mkgrp_several_v.h5
|
||||
h5mkgrp_several_v.out
|
||||
h5mkgrp_several_v.out.err
|
||||
h5mkgrp_several_p.h5
|
||||
h5mkgrp_several_p.out
|
||||
h5mkgrp_several_p.out.err
|
||||
h5mkgrp_several_l.h5
|
||||
h5mkgrp_several_l.out
|
||||
h5mkgrp_several_l.out.err
|
||||
h5mkgrp_nested_p.h5
|
||||
h5mkgrp_nested_p.out
|
||||
h5mkgrp_nested_p.out.err
|
||||
h5mkgrp_nested_lp.h5
|
||||
h5mkgrp_nested_lp.out
|
||||
h5mkgrp_nested_lp.out.err
|
||||
h5mkgrp_nested_mult_p.h5
|
||||
h5mkgrp_nested_mult_p.out
|
||||
h5mkgrp_nested_mult_p.out.err
|
||||
h5mkgrp_nested_mult_lp.h5
|
||||
h5mkgrp_nested_mult_lp.out
|
||||
h5mkgrp_nested_mult_lp.out.err
|
||||
)
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
IF (NOT "${last_test}" STREQUAL "")
|
||||
SET_TESTS_PROPERTIES (H5MKGRP-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
ENDIF (NOT "${last_test}" STREQUAL "")
|
||||
SET (last_test "H5MKGRP-clearall-objects")
|
||||
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
# Check that help & version is displayed properly
|
||||
ADD_H5_CMP (h5mkgrp_help 0 "-h")
|
||||
ADD_H5_CMP (h5mkgrp_version 0 "-V")
|
||||
|
||||
# Create single group at root level
|
||||
ADD_H5_TEST (h5mkgrp_single 0 "" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_v 0 "-v" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_p 0 "-p" single)
|
||||
ADD_H5_TEST (h5mkgrp_single_l 0 "-l" latest)
|
||||
|
||||
# Create several groups at root level
|
||||
ADD_H5_TEST (h5mkgrp_several 0 "" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_v 0 "-v" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_p 0 "-p" one two)
|
||||
ADD_H5_TEST (h5mkgrp_several_l 0 "-l" one two)
|
||||
|
||||
# Create various nested groups
|
||||
ADD_H5_TEST (h5mkgrp_nested_p 0 "-p" /one/two)
|
||||
ADD_H5_TEST (h5mkgrp_nested_lp 0 "-lp" /one/two)
|
||||
ADD_H5_TEST (h5mkgrp_nested_mult_p 0 "-p" /one/two /three/four)
|
||||
ADD_H5_TEST (h5mkgrp_nested_mult_lp 0 "-lp" /one/two /three/four)
|
Loading…
x
Reference in New Issue
Block a user