From 9ee3d472113fc3e66ef34e40a0990ed07a2824bc Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 11 Apr 2019 11:27:12 -0700 Subject: Renamed the HDF5_TEST_VOL option to HDF5_TEST_PASSTHROUGH_VOL. --- CMakeLists.txt | 10 +- MANIFEST | 2 +- release_docs/INSTALL_CMake.txt | 2 +- test/CMakePassthroughVOLTests.cmake | 403 ++++++++++++++++++++++++++++++++++++ test/CMakeTests.cmake | 4 +- test/CMakeVOLTests.cmake | 403 ------------------------------------ 6 files changed, 412 insertions(+), 412 deletions(-) create mode 100644 test/CMakePassthroughVOLTests.cmake delete mode 100644 test/CMakeVOLTests.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index f1489c1..06ff1f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -772,11 +772,11 @@ if (BUILD_TESTING) mark_as_advanced (HDF5_TEST_FHEAP_VFD) endif () - option (HDF5_TEST_VOL "Execute tests with different VOL connectors" OFF) - mark_as_advanced (HDF5_TEST_VOL) - if (HDF5_TEST_VOL) - option (HDF5_TEST_FHEAP_VOL "Execute fheap test with different VOL connectors" ON) - mark_as_advanced (HDF5_TEST_FHEAP_VOL) + option (HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF) + mark_as_advanced (HDF5_TEST_PASSTHROUGH_VOL) + if (HDF5_TEST_PASSTHROUGH_VOL) + option (HDF5_TEST_FHEAP_PASSTHROUGH_VOL "Execute fheap test with different passthrough VOL connectors" ON) + mark_as_advanced (HDF5_TEST_FHEAP_PASSTHROUGH VOL) endif () option (HDF_TEST_EXPRESS "Control testing framework (0-3)" "0") diff --git a/MANIFEST b/MANIFEST index 16f62b1..aa4c008 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3338,9 +3338,9 @@ ./hl/tools/h5watch/CMakeTests.cmake ./src/CMakeLists.txt ./test/CMakeLists.txt +./test/CMakePassthroughVOLTests.cmake ./test/CMakeTests.cmake ./test/CMakeVFDTests.cmake -./test/CMakeVOLTests.cmake ./test/flushrefreshTest.cmake ./test/ShellTests.cmake ./testpar/CMakeLists.txt diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 7505196..f61f016 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -651,7 +651,7 @@ HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF HDF_TEST_EXPRESS "Control testing framework (0-3)" "0" HDF5_TEST_VFD "Execute tests with different VFDs" OFF -HDF5_TEST_VOL "Execute tests with different VOL connectors" OFF +HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF SKIP_ERROR_STACK_TESTS "Skip tests that check the error stack" OFF HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF diff --git a/test/CMakePassthroughVOLTests.cmake b/test/CMakePassthroughVOLTests.cmake new file mode 100644 index 0000000..8c7d797 --- /dev/null +++ b/test/CMakePassthroughVOLTests.cmake @@ -0,0 +1,403 @@ + +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the COPYING file, which can be found at the root of the source code +# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. +# + +############################################################################## +############################################################################## +### T E S T I N G ### +############################################################################## +############################################################################## +# included from CMakeTests.cmake + +set (VOL_LIST + vol_native + vol_pass_through1 + vol_pass_through2 +) + +set (vol_native native) +set (vol_pass_through1 "pass_through under_vol=0\;under_info={}") +set (vol_pass_through2 "pass_through under_vol=505\;under_info={under_vol=0\;under_info={}}") + +foreach (voltest ${VOL_LIST}) + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}") + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}/testfiles") + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files") + if (BUILD_SHARED_LIBS) + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared") + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles") + file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files") + endif () +endforeach () + +foreach (voltest ${VOL_LIST}) + foreach (h5_tfile ${HDF5_TEST_FILES}) + HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${voltest}/${h5_tfile}" "HDF5_VOLTEST_LIB_files") + if (BUILD_SHARED_LIBS) + HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/${h5_tfile}" "HDF5_VOLTEST_LIBSH_files") + endif () + endforeach () +endforeach () + +foreach (voltest ${VOL_LIST}) + foreach (ref_file ${HDF5_REFERENCE_FILES}) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${voltest}/${ref_file}" "HDF5_VOLTEST_LIB_files") + if (BUILD_SHARED_LIBS) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${voltest}-shared/${ref_file}" "HDF5_VOLTEST_LIBSH_files") + endif () + endforeach () +endforeach () + +foreach (voltest ${VOL_LIST}) + foreach (h5_file ${HDF5_REFERENCE_TEST_FILES}) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${voltest}/${h5_file}" "HDF5_VOLTEST_LIB_files") + if (BUILD_SHARED_LIBS) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${voltest}-shared/${h5_file}" "HDF5_VOLTEST_LIBSH_files") + endif () + endforeach () +endforeach () + +foreach (voltest ${VOL_LIST}) + foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES}) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files/${plistfile}" "HDF5_VOLTEST_LIB_files") + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files/def_${plistfile}" "HDF5_VOLTEST_LIB_files") + if (BUILD_SHARED_LIBS) + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files/${plistfile}" "HDF5_VOLTEST_LIBSH_files") + HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files/def_${plistfile}" "HDF5_VOLTEST_LIBSH_files") + endif () + endforeach () +endforeach () + +add_custom_target(HDF5_VOLTEST_LIB_files ALL COMMENT "Copying files needed by HDF5_VOLTEST_LIB tests" DEPENDS ${HDF5_VOLTEST_LIB_files_list}) +if (BUILD_SHARED_LIBS) + add_custom_target(HDF5_VOLTEST_LIBSH_files ALL COMMENT "Copying files needed by HDF5_VOLTEST_LIBSH tests" DEPENDS ${HDF5_VOLTEST_LIBSH_files_list}) +endif () + +############################################################################## +############################################################################## +### V O L T E S T S ### +############################################################################## +############################################################################## + + set (H5_VOL_SKIP_TESTS + cache + cache_image + accum + fheap + big + vol + error_test + err_compat + tcheck_version + testmeta + links_env + ) + if (NOT CYGWIN) + list (REMOVE_ITEM H5_VOL_SKIP_TESTS big cache) + endif () + + # Windows only macro + macro (CHECK_VOL_TEST voltest volname volinfo resultcode) + if ("${voltest}" STREQUAL "flush1" OR "${voltest}" STREQUAL "flush2") + if ("${volname}" STREQUAL "multi" OR "${volname}" STREQUAL "split") + if (NOT BUILD_SHARED_LIBS AND NOT ${HDF_CFG_NAME} MATCHES "Debug") + add_test ( + NAME VOL-${volname}-${voltest}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}/${volname}-${voltest}.out + ${volname}/${volname}-${voltest}.out.err + ) + add_test (NAME VOL-${volname}-${voltest} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest} PROPERTIES + DEPENDS VOL-${volname}-${voltest}-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} + ) + if (BUILD_SHARED_LIBS) + add_test ( + NAME VOL-${volname}-${voltest}-shared-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}-shared/${volname}-${voltest}-shared.out + ${volname}-shared/${volname}-${voltest}-shared.out.err + ) + add_test (NAME VOL-${volname}-${voltest}-shared + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES + DEPENDS VOL-${volname}-${voltest}-shared-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared + ) + endif () + else () + add_test (NAME VOL-${volname}-${voltest} + COMMAND ${CMAKE_COMMAND} -E echo "SKIP VOL-${volname}-${voltest}" + ) + if (BUILD_SHARED_LIBS) + add_test (NAME VOL-${volname}-${voltest}-shared + COMMAND ${CMAKE_COMMAND} -E echo "SKIP VOL-${volname}-${voltest}-shared" + ) + endif () + endif () + else () + add_test ( + NAME VOL-${volname}-${voltest}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}/${volname}-${voltest}.out + ${volname}/${volname}-${voltest}.out.err + ) + add_test (NAME VOL-${volname}-${voltest} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest} PROPERTIES + DEPENDS VOL-${volname}-${voltest}-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} + ) + if (BUILD_SHARED_LIBS) + add_test ( + NAME VOL-${volname}-${voltest}-shared-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}-shared/${volname}-${voltest}-shared.out + ${volname}-shared/${volname}-${voltest}-shared.out.err + ) + add_test (NAME VOL-${volname}-${voltest}-shared + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES + DEPENDS VOL-${volname}-${voltest}-shared-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared + ) + endif () + endif () + else () + add_test ( + NAME VOL-${volname}-${voltest}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}/${volname}-${voltest}.out + ${volname}/${volname}-${voltest}.out.err + ) + add_test (NAME VOL-${volname}-${voltest} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest} PROPERTIES + DEPENDS VOL-${volname}-${voltest}-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname};HDF5TestExpress=${HDF_TEST_EXPRESS}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} + ) + if (BUILD_SHARED_LIBS AND NOT "${voltest}" STREQUAL "cache") + add_test ( + NAME VOL-${volname}-${voltest}-shared-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}-shared/${volname}-${voltest}-shared.out + ${volname}-shared/${volname}-${voltest}-shared.out.err + ) + add_test (NAME VOL-${volname}-${voltest}-shared + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES + DEPENDS VOL-${volname}-${voltest}-shared-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared;HDF5TestExpress=${HDF_TEST_EXPRESS}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared + ) + endif () + endif () + endmacro () + + macro (DO_VOL_TEST voltest volname volinfo resultcode) + #message(STATUS "${voltest}-${volname} with ${volinfo}") + add_test ( + NAME VOL-${volname}-${voltest}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}/${volname}-${voltest}.out + ${volname}/${volname}-${voltest}.out.err + ) + add_test (NAME VOL-${volname}-${voltest} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest} PROPERTIES + DEPENDS VOL-${volname}-${voltest}-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} + ) + if (BUILD_SHARED_LIBS) + add_test ( + NAME VOL-${volname}-${voltest}-shared-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}-shared/${volname}-${voltest}-shared.out + ${volname}-shared/${volname}-${voltest}-shared.out.err + ) + add_test (NAME VOL-${volname}-${voltest}-shared + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES + DEPENDS VOL-${volname}-${voltest}-shared-clear-objects + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared + ) + endif () + endmacro () + + macro (ADD_VOL_TEST volname volinfo resultcode) + #message(STATUS "volname=${volname} volinfo=${volinfo}") + foreach (h5_test ${H5_TESTS}) + if (NOT h5_test IN_LIST H5_VOL_SKIP_TESTS) + if (WIN32) + CHECK_VOL_TEST (${h5_test} ${volname} "${volinfo}" ${resultcode}) + else () + DO_VOL_TEST (${h5_test} ${volname} "${volinfo}" ${resultcode}) + endif () + endif () + endforeach () + set_tests_properties (VOL-${volname}-flush2 PROPERTIES DEPENDS VOL-${volname}-flush1) + set_tests_properties (VOL-${volname}-flush1 PROPERTIES TIMEOUT 10) + set_tests_properties (VOL-${volname}-flush2 PROPERTIES TIMEOUT 10) + set_tests_properties (VOL-${volname}-istore PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) + if (NOT CYGWIN) + set_tests_properties (VOL-${volname}-cache PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) + endif () + if (BUILD_SHARED_LIBS) + set_tests_properties (VOL-${volname}-flush2-shared PROPERTIES DEPENDS VOL-${volname}-flush1-shared) + set_tests_properties (VOL-${volname}-flush1-shared PROPERTIES TIMEOUT 10) + set_tests_properties (VOL-${volname}-flush2-shared PROPERTIES TIMEOUT 10) + set_tests_properties (VOL-${volname}-istore-shared PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) + if (NOT CYGWIN AND NOT WIN32) + set_tests_properties (VOL-${volname}-cache-shared PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) + endif () + endif () + if (HDF5_TEST_FHEAP_PASSTHROUGH_VOL) + add_test ( + NAME VOL-${volname}-fheap-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}/${volname}-fheap.out + ${volname}/${volname}-fheap.out.err + ) + add_test (NAME VOL-${volname}-fheap + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-fheap.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-fheap PROPERTIES + DEPENDS VOL-${volname}-fheap-clear-objects + TIMEOUT ${CTEST_VERY_LONG_TIMEOUT} + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname};HDF5TestExpress=${HDF_TEST_EXPRESS}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} + ) + if (BUILD_SHARED_LIBS) + add_test ( + NAME VOL-${volname}-fheap-shared-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${volname}-shared/${volname}-fheap-shared.out + ${volname}-shared/${volname}-fheap-shared.out.err + ) + add_test (NAME VOL-${volname}-fheap-shared + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_VOL:STRING=${volinfo}" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_OUTPUT=${volname}-fheap-shared.out" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" + -P "${HDF_RESOURCES_DIR}/volTest.cmake" + ) + set_tests_properties (VOL-${volname}-fheap-shared PROPERTIES + DEPENDS VOL-${volname}-fheap-shared-clear-objects + TIMEOUT ${CTEST_VERY_LONG_TIMEOUT} + ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared;HDF5TestExpress=${HDF_TEST_EXPRESS}" + WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared + ) + endif () + endif () + endmacro () + + # Run test with different Virtual File Driver + foreach (volname ${VOL_LIST}) + #message(STATUS "volname=${volname}") + foreach (volinfo IN LISTS ${volname}) + #message(STATUS "${volname} volinfo=${volinfo}") + ADD_VOL_TEST (${volname} "${volinfo}" 0) + endforeach () + endforeach () + diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake index c606eb1..fa6507a 100644 --- a/test/CMakeTests.cmake +++ b/test/CMakeTests.cmake @@ -1149,8 +1149,8 @@ endif () ############################################################################## ############################################################################## -if (HDF5_TEST_VOL) - include (CMakeVOLTests.cmake) +if (HDF5_TEST_PASSTHROUGH_VOL) + include (CMakePassthroughVOLTests.cmake) endif () ############################################################################## diff --git a/test/CMakeVOLTests.cmake b/test/CMakeVOLTests.cmake deleted file mode 100644 index cf47291..0000000 --- a/test/CMakeVOLTests.cmake +++ /dev/null @@ -1,403 +0,0 @@ - -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the COPYING file, which can be found at the root of the source code -# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. -# - -############################################################################## -############################################################################## -### T E S T I N G ### -############################################################################## -############################################################################## -# included from CMakeTests.cmake - -set (VOL_LIST - vol_native - vol_pass_through1 - vol_pass_through2 -) - -set (vol_native native) -set (vol_pass_through1 "pass_through under_vol=0\;under_info={}") -set (vol_pass_through2 "pass_through under_vol=505\;under_info={under_vol=0\;under_info={}}") - -foreach (voltest ${VOL_LIST}) - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}") - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}/testfiles") - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files") - if (BUILD_SHARED_LIBS) - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared") - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles") - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files") - endif () -endforeach () - -foreach (voltest ${VOL_LIST}) - foreach (h5_tfile ${HDF5_TEST_FILES}) - HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${voltest}/${h5_tfile}" "HDF5_VOLTEST_LIB_files") - if (BUILD_SHARED_LIBS) - HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/${h5_tfile}" "HDF5_VOLTEST_LIBSH_files") - endif () - endforeach () -endforeach () - -foreach (voltest ${VOL_LIST}) - foreach (ref_file ${HDF5_REFERENCE_FILES}) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${voltest}/${ref_file}" "HDF5_VOLTEST_LIB_files") - if (BUILD_SHARED_LIBS) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${voltest}-shared/${ref_file}" "HDF5_VOLTEST_LIBSH_files") - endif () - endforeach () -endforeach () - -foreach (voltest ${VOL_LIST}) - foreach (h5_file ${HDF5_REFERENCE_TEST_FILES}) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${voltest}/${h5_file}" "HDF5_VOLTEST_LIB_files") - if (BUILD_SHARED_LIBS) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${voltest}-shared/${h5_file}" "HDF5_VOLTEST_LIBSH_files") - endif () - endforeach () -endforeach () - -foreach (voltest ${VOL_LIST}) - foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES}) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files/${plistfile}" "HDF5_VOLTEST_LIB_files") - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}/testfiles/plist_files/def_${plistfile}" "HDF5_VOLTEST_LIB_files") - if (BUILD_SHARED_LIBS) - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files/${plistfile}" "HDF5_VOLTEST_LIBSH_files") - HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${voltest}-shared/testfiles/plist_files/def_${plistfile}" "HDF5_VOLTEST_LIBSH_files") - endif () - endforeach () -endforeach () - -add_custom_target(HDF5_VOLTEST_LIB_files ALL COMMENT "Copying files needed by HDF5_VOLTEST_LIB tests" DEPENDS ${HDF5_VOLTEST_LIB_files_list}) -if (BUILD_SHARED_LIBS) - add_custom_target(HDF5_VOLTEST_LIBSH_files ALL COMMENT "Copying files needed by HDF5_VOLTEST_LIBSH tests" DEPENDS ${HDF5_VOLTEST_LIBSH_files_list}) -endif () - -############################################################################## -############################################################################## -### V O L T E S T S ### -############################################################################## -############################################################################## - - set (H5_VOL_SKIP_TESTS - cache - cache_image - accum - fheap - big - vol - error_test - err_compat - tcheck_version - testmeta - links_env - ) - if (NOT CYGWIN) - list (REMOVE_ITEM H5_VOL_SKIP_TESTS big cache) - endif () - - # Windows only macro - macro (CHECK_VOL_TEST voltest volname volinfo resultcode) - if ("${voltest}" STREQUAL "flush1" OR "${voltest}" STREQUAL "flush2") - if ("${volname}" STREQUAL "multi" OR "${volname}" STREQUAL "split") - if (NOT BUILD_SHARED_LIBS AND NOT ${HDF_CFG_NAME} MATCHES "Debug") - add_test ( - NAME VOL-${volname}-${voltest}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}/${volname}-${voltest}.out - ${volname}/${volname}-${voltest}.out.err - ) - add_test (NAME VOL-${volname}-${voltest} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest} PROPERTIES - DEPENDS VOL-${volname}-${voltest}-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} - ) - if (BUILD_SHARED_LIBS) - add_test ( - NAME VOL-${volname}-${voltest}-shared-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}-shared/${volname}-${voltest}-shared.out - ${volname}-shared/${volname}-${voltest}-shared.out.err - ) - add_test (NAME VOL-${volname}-${voltest}-shared - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES - DEPENDS VOL-${volname}-${voltest}-shared-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared - ) - endif () - else () - add_test (NAME VOL-${volname}-${voltest} - COMMAND ${CMAKE_COMMAND} -E echo "SKIP VOL-${volname}-${voltest}" - ) - if (BUILD_SHARED_LIBS) - add_test (NAME VOL-${volname}-${voltest}-shared - COMMAND ${CMAKE_COMMAND} -E echo "SKIP VOL-${volname}-${voltest}-shared" - ) - endif () - endif () - else () - add_test ( - NAME VOL-${volname}-${voltest}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}/${volname}-${voltest}.out - ${volname}/${volname}-${voltest}.out.err - ) - add_test (NAME VOL-${volname}-${voltest} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest} PROPERTIES - DEPENDS VOL-${volname}-${voltest}-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} - ) - if (BUILD_SHARED_LIBS) - add_test ( - NAME VOL-${volname}-${voltest}-shared-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}-shared/${volname}-${voltest}-shared.out - ${volname}-shared/${volname}-${voltest}-shared.out.err - ) - add_test (NAME VOL-${volname}-${voltest}-shared - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES - DEPENDS VOL-${volname}-${voltest}-shared-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared - ) - endif () - endif () - else () - add_test ( - NAME VOL-${volname}-${voltest}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}/${volname}-${voltest}.out - ${volname}/${volname}-${voltest}.out.err - ) - add_test (NAME VOL-${volname}-${voltest} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest} PROPERTIES - DEPENDS VOL-${volname}-${voltest}-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname};HDF5TestExpress=${HDF_TEST_EXPRESS}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} - ) - if (BUILD_SHARED_LIBS AND NOT "${voltest}" STREQUAL "cache") - add_test ( - NAME VOL-${volname}-${voltest}-shared-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}-shared/${volname}-${voltest}-shared.out - ${volname}-shared/${volname}-${voltest}-shared.out.err - ) - add_test (NAME VOL-${volname}-${voltest}-shared - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES - DEPENDS VOL-${volname}-${voltest}-shared-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared;HDF5TestExpress=${HDF_TEST_EXPRESS}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared - ) - endif () - endif () - endmacro () - - macro (DO_VOL_TEST voltest volname volinfo resultcode) - #message(STATUS "${voltest}-${volname} with ${volinfo}") - add_test ( - NAME VOL-${volname}-${voltest}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}/${volname}-${voltest}.out - ${volname}/${volname}-${voltest}.out.err - ) - add_test (NAME VOL-${volname}-${voltest} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest} PROPERTIES - DEPENDS VOL-${volname}-${voltest}-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} - ) - if (BUILD_SHARED_LIBS) - add_test ( - NAME VOL-${volname}-${voltest}-shared-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}-shared/${volname}-${voltest}-shared.out - ${volname}-shared/${volname}-${voltest}-shared.out.err - ) - add_test (NAME VOL-${volname}-${voltest}-shared - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-${voltest}-shared.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-${voltest}-shared PROPERTIES - DEPENDS VOL-${volname}-${voltest}-shared-clear-objects - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared - ) - endif () - endmacro () - - macro (ADD_VOL_TEST volname volinfo resultcode) - #message(STATUS "volname=${volname} volinfo=${volinfo}") - foreach (h5_test ${H5_TESTS}) - if (NOT h5_test IN_LIST H5_VOL_SKIP_TESTS) - if (WIN32) - CHECK_VOL_TEST (${h5_test} ${volname} "${volinfo}" ${resultcode}) - else () - DO_VOL_TEST (${h5_test} ${volname} "${volinfo}" ${resultcode}) - endif () - endif () - endforeach () - set_tests_properties (VOL-${volname}-flush2 PROPERTIES DEPENDS VOL-${volname}-flush1) - set_tests_properties (VOL-${volname}-flush1 PROPERTIES TIMEOUT 10) - set_tests_properties (VOL-${volname}-flush2 PROPERTIES TIMEOUT 10) - set_tests_properties (VOL-${volname}-istore PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) - if (NOT CYGWIN) - set_tests_properties (VOL-${volname}-cache PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) - endif () - if (BUILD_SHARED_LIBS) - set_tests_properties (VOL-${volname}-flush2-shared PROPERTIES DEPENDS VOL-${volname}-flush1-shared) - set_tests_properties (VOL-${volname}-flush1-shared PROPERTIES TIMEOUT 10) - set_tests_properties (VOL-${volname}-flush2-shared PROPERTIES TIMEOUT 10) - set_tests_properties (VOL-${volname}-istore-shared PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) - if (NOT CYGWIN AND NOT WIN32) - set_tests_properties (VOL-${volname}-cache-shared PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}) - endif () - endif () - if (HDF5_TEST_FHEAP_VOL) - add_test ( - NAME VOL-${volname}-fheap-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}/${volname}-fheap.out - ${volname}/${volname}-fheap.out.err - ) - add_test (NAME VOL-${volname}-fheap - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-fheap.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-fheap PROPERTIES - DEPENDS VOL-${volname}-fheap-clear-objects - TIMEOUT ${CTEST_VERY_LONG_TIMEOUT} - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname};HDF5TestExpress=${HDF_TEST_EXPRESS}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname} - ) - if (BUILD_SHARED_LIBS) - add_test ( - NAME VOL-${volname}-fheap-shared-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${volname}-shared/${volname}-fheap-shared.out - ${volname}-shared/${volname}-fheap-shared.out.err - ) - add_test (NAME VOL-${volname}-fheap-shared - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=" - -D "TEST_VOL:STRING=${volinfo}" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_OUTPUT=${volname}-fheap-shared.out" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${volname}-shared" - -P "${HDF_RESOURCES_DIR}/volTest.cmake" - ) - set_tests_properties (VOL-${volname}-fheap-shared PROPERTIES - DEPENDS VOL-${volname}-fheap-shared-clear-objects - TIMEOUT ${CTEST_VERY_LONG_TIMEOUT} - ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${volname}-shared;HDF5TestExpress=${HDF_TEST_EXPRESS}" - WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${volname}-shared - ) - endif () - endif () - endmacro () - - # Run test with different Virtual File Driver - foreach (volname ${VOL_LIST}) - #message(STATUS "volname=${volname}") - foreach (volinfo IN LISTS ${volname}) - #message(STATUS "${volname} volinfo=${volinfo}") - ADD_VOL_TEST (${volname} "${volinfo}" 0) - endforeach () - endforeach () - -- cgit v0.12