summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/test/h5diff/Makefile.am1
-rw-r--r--tools/test/h5dump/Makefile.am1
-rw-r--r--tools/test/h5repack/Makefile.am2
-rw-r--r--tools/test/misc/CMakeLists.txt13
-rw-r--r--tools/test/misc/CMakeTestsClear.cmake124
-rw-r--r--tools/test/misc/h5clear_gentest.c118
-rw-r--r--tools/test/misc/testfiles/h5clear_log_v3.h5bin0 -> 2048 bytes
-rw-r--r--tools/test/misc/testfiles/h5clear_mdc_image.h5bin0 -> 23467 bytes
-rw-r--r--tools/test/misc/testfiles/h5clear_sec2_v0.h5 (renamed from tools/test/misc/testfiles/orig_h5clear_sec2_v0.h5)bin800 -> 800 bytes
-rw-r--r--tools/test/misc/testfiles/h5clear_sec2_v2.h5 (renamed from tools/test/misc/testfiles/orig_h5clear_sec2_v2.h5)bin830 -> 830 bytes
-rw-r--r--tools/test/misc/testfiles/h5clear_sec2_v3.h5 (renamed from tools/test/misc/testfiles/orig_h5clear_sec2_v3.h5)bin195 -> 195 bytes
-rw-r--r--tools/test/misc/testfiles/latest_h5clear_log_v3.h5bin0 -> 2048 bytes
-rw-r--r--tools/test/misc/testfiles/latest_h5clear_sec2_v3.h5bin0 -> 195 bytes
-rw-r--r--tools/test/misc/testh5clear.sh.in58
14 files changed, 201 insertions, 116 deletions
diff --git a/tools/test/h5diff/Makefile.am b/tools/test/h5diff/Makefile.am
index 1d700ea..16897c6 100644
--- a/tools/test/h5diff/Makefile.am
+++ b/tools/test/h5diff/Makefile.am
@@ -54,6 +54,7 @@ if HAVE_SHARED_CONDITIONAL
# Build it as shared library if configure is enabled for shared library.
lib_LTLIBRARIES=libdynlibdiff.la
libdynlibdiff_la_SOURCES=dynlib_diff.c
+ libdynlibdiff_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
install-exec-hook:
$(RM) $(DESTDIR)$(libdir)/*dynlib*
diff --git a/tools/test/h5dump/Makefile.am b/tools/test/h5dump/Makefile.am
index a3d1df7..8723c65 100644
--- a/tools/test/h5dump/Makefile.am
+++ b/tools/test/h5dump/Makefile.am
@@ -43,6 +43,7 @@ if HAVE_SHARED_CONDITIONAL
# Build it as shared library if configure is enabled for shared library.
lib_LTLIBRARIES=libdynlibdump.la
libdynlibdump_la_SOURCES=dynlib_dump.c
+ libdynlibdump_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
install-exec-hook:
$(RM) $(DESTDIR)$(libdir)/*dynlib*
diff --git a/tools/test/h5repack/Makefile.am b/tools/test/h5repack/Makefile.am
index 5c284b3..375df47 100644
--- a/tools/test/h5repack/Makefile.am
+++ b/tools/test/h5repack/Makefile.am
@@ -50,6 +50,8 @@ if HAVE_SHARED_CONDITIONAL
lib_LTLIBRARIES=libdynlibadd.la libdynlibvers.la
libdynlibadd_la_SOURCES=dynlib_rpk.c
libdynlibvers_la_SOURCES=dynlib_vrpk.c
+ libdynlibadd_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
+ libdynlibvers_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
install-exec-hook:
$(RM) $(DESTDIR)$(libdir)/*dynlib*
diff --git a/tools/test/misc/CMakeLists.txt b/tools/test/misc/CMakeLists.txt
index 97a6f0c..5e3c0a2 100644
--- a/tools/test/misc/CMakeLists.txt
+++ b/tools/test/misc/CMakeLists.txt
@@ -17,6 +17,13 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_DIR}/lib)
set_target_properties (h5repart_gentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5repart_gentest COMMAND $<TARGET_FILE:h5repart_gentest>)
+ add_executable (h5clear_gentest ${HDF5_TOOLS_TEST_MISC_SOURCE_DIR}/h5clear_gentest.c)
+ TARGET_NAMING (h5clear_gentest STATIC)
+ TARGET_C_PROPERTIES (h5clear_gentest STATIC " " " ")
+ target_link_libraries (h5clear_gentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
+ set_target_properties (h5clear_gentest PROPERTIES FOLDER tools)
+ #add_test (NAME H5CLEAR-h5clear_gentest COMMAND $<TARGET_FILE:h5clear_gentest>)
+
add_subdirectory (${HDF5_TOOLS_TEST_MISC_SOURCE_DIR}/vds)
endif ()
@@ -27,12 +34,6 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_DIR}/lib)
target_link_libraries (h5repart_test ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart_test PROPERTIES FOLDER tools)
- add_executable (h5clear_gentest ${HDF5_TOOLS_TEST_MISC_SOURCE_DIR}/h5clear_gentest.c)
- TARGET_NAMING (h5clear_gentest STATIC)
- TARGET_C_PROPERTIES (h5clear_gentest STATIC " " " ")
- target_link_libraries (h5clear_gentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
- set_target_properties (h5clear_gentest PROPERTIES FOLDER tools)
-
add_executable (clear_open_chk ${HDF5_TOOLS_TEST_MISC_SOURCE_DIR}/clear_open_chk.c)
TARGET_NAMING (clear_open_chk STATIC)
TARGET_C_PROPERTIES (clear_open_chk STATIC " " " ")
diff --git a/tools/test/misc/CMakeTestsClear.cmake b/tools/test/misc/CMakeTestsClear.cmake
index a92d523..41aea4a 100644
--- a/tools/test/misc/CMakeTestsClear.cmake
+++ b/tools/test/misc/CMakeTestsClear.cmake
@@ -8,20 +8,32 @@
# --------------------------------------------------------------------
# Copy all the HDF5 files from the source directory into the test directory
# --------------------------------------------------------------------
+ set (HDF5_TEST_FILES
+ h5clear_log_v3.h5
+ h5clear_mdc_image.h5
+ mod_h5clear_mdc_image.h5
+ latest_h5clear_log_v3.h5
+ latest_h5clear_sec2_v3.h5
+ )
+ set (HDF5_SEC2_TEST_FILES
+ h5clear_sec2_v0.h5
+ h5clear_sec2_v2.h5
+ h5clear_sec2_v3.h5
+ )
set (HDF5_REFERENCE_TEST_FILES
h5clear_usage.ddl
h5clear_open_fail.ddl
h5clear_missing_file.ddl
h5clear_no_mdc_image.ddl
- orig_h5clear_sec2_v0.h5
- orig_h5clear_sec2_v2.h5
- orig_h5clear_sec2_v3.h5
- mod_h5clear_mdc_image.h5
)
- foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
+ foreach (h5_file ${HDF5_TEST_FILES} ${HDF5_SEC2_TEST_FILES} ${HDF5_REFERENCE_TEST_FILES})
HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5clear_files")
endforeach ()
+ # make second copy of h5clear_sec2.h5
+ foreach (h5_file ${HDF5_SEC2_TEST_FILES})
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/orig_${h5_file}" "h5clear_files")
+ endforeach ()
# make second copy of mod_h5clear_mdc_image.h5
HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/mod_h5clear_mdc_image.h5" "${PROJECT_BINARY_DIR}/testfiles/mod_h5clear_mdc_image2.h5" "h5clear_files")
add_custom_target(h5clear_files ALL COMMENT "Copying files needed by h5clear tests" DEPENDS ${h5clear_files_list})
@@ -73,6 +85,16 @@
macro (ADD_H5_TEST testname resultcode)
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (
+ NAME H5CLEAR-clear_open_chk-copy_${testname}.h5
+ COMMAND ${CMAKE_COMMAND}
+ -E copy_if_different
+ "${PROJECT_SOURCE_DIR}/testfiles/${testname}.h5" "${PROJECT_BINARY_DIR}/testfiles/${testname}.h5"
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (H5CLEAR-clear_open_chk-copy_${testname}.h5 PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "H5CLEAR-clear_open_chk-copy_${testname}.h5")
# Initial file open fails OR
# File open succeeds because the library does not check status_flags for file with < v3 superblock
add_test (NAME H5CLEAR-clear_open_chk-${testname}_${resultcode} COMMAND $<TARGET_FILE:clear_open_chk> ${testname}.h5)
@@ -101,6 +123,7 @@
#
#
# The following are tests to verify the status_flags field is cleared properly:
+if (HDF5_ENABLE_USING_MEMCHECKER)
# Remove any output file left over from previous test run
add_test (
NAME H5CLEAR-clearall-objects
@@ -111,34 +134,81 @@
h5clear_sec2_v0.h5
h5clear_sec2_v2.h5
h5clear_sec2_v3.h5
+ orig_h5clear_sec2_v0.h5
+ orig_h5clear_sec2_v2.h5
+ orig_h5clear_sec2_v3.h5
latest_h5clear_log_v3.h5
latest_h5clear_sec2_v3.h5
+ mod_h5clear_mdc_image.h5
+ mod_h5clear_mdc_image2.h5
)
if (NOT "${last_test}" STREQUAL "")
set_tests_properties (H5CLEAR-clearall-objects PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "H5CLEAR-clearall-objects")
- # create the output files to be used.
- add_test (NAME H5CLEAR-h5clear_gentest COMMAND $<TARGET_FILE:h5clear_gentest>)
- set_tests_properties (H5CLEAR-h5clear_gentest PROPERTIES DEPENDS "H5CLEAR-clearall-objects")
- set_tests_properties (H5CLEAR-h5clear_gentest PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
- set (last_test "H5CLEAR-h5clear_gentest")
+ foreach (h5_file ${HDF5_TEST_FILES} ${HDF5_SEC2_TEST_FILES})
+ add_test (
+ NAME H5CLEAR-copy_${h5_file}
+ COMMAND ${CMAKE_COMMAND}
+ -E copy_if_different
+ "${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}"
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (H5CLEAR-copy_${h5_file} PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "H5CLEAR-copy_${h5_file}")
+ endforeach ()
+ # make second copy of h5clear_sec2.h5
+ foreach (h5_file ${HDF5_SEC2_TEST_FILES})
+ add_test (
+ NAME H5CLEAR-copy_orig_${h5_file}
+ COMMAND ${CMAKE_COMMAND}
+ -E copy_if_different
+ "${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/orig_${h5_file}"
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (H5CLEAR-copy_orig_${h5_file} PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "H5CLEAR-copy_orig_${h5_file}")
+ endforeach ()
+ add_test (
+ NAME H5CLEAR-copy_mod_h5clear_mdc_image.h5
+ COMMAND ${CMAKE_COMMAND}
+ -E copy_if_different
+ "${PROJECT_SOURCE_DIR}/testfiles/mod_h5clear_mdc_image.h5" "${PROJECT_BINARY_DIR}/testfiles/mod_h5clear_mdc_image.h5"
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (H5CLEAR-copy_mod_h5clear_mdc_image.h5 PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "H5CLEAR-copy_mod_h5clear_mdc_image.h5")
+ # make second copy of mod_h5clear_mdc_image.h5
+ add_test (
+ NAME H5CLEAR-copy_mod_h5clear_mdc_image2.h5
+ COMMAND ${CMAKE_COMMAND}
+ -E copy_if_different
+ "${PROJECT_SOURCE_DIR}/testfiles/mod_h5clear_mdc_image.h5" "${PROJECT_BINARY_DIR}/testfiles/mod_h5clear_mdc_image2.h5"
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (H5CLEAR-copy_mod_h5clear_mdc_image2.h5 PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "H5CLEAR-copy_mod_h5clear_mdc_image2.h5")
+endif()
#
#
#
# The following are tests to verify the expected output from h5clear
# "h5clear -h"
-# "h5clear" (no options, no file)
-# "h5clear junk.h5" (no options, nonexisting file)
-# "h5clear orig_h5clear_sec2_v3.h5" (no options, existing file)
-# "h5clear -m" (valid 1 option, no file)
-# "h5clear -s junk.h5" (valid 1 option, nonexisting file)
-# "h5clear -m -s junk.h5" (valid 2 options, no file)
-# "h5clear -m -s junk.h5" (valid 2 options, nonexisting file)
-# "h5clear -m orig_h5clear_sec2_v2.h5" (valid 1 option, existing file, no cache image)
-# "h5clear -s -m orig_h5clear_sec2_v0.h5" (valid 2 options, existing file, no cache image)
+# "h5clear" (no options, no file)
+# "h5clear junk.h5" (no options, nonexisting file)
+# "h5clear orig_h5clear_sec2_v3.h5" (no options, existing file)
+# "h5clear -m" (valid 1 option, no file)
+# "h5clear -s junk.h5" (valid 1 option, nonexisting file)
+# "h5clear -m -s" (valid 2 options, no file)
+# "h5clear -m -s junk.h5" (valid 2 options, nonexisting file)
+# "h5clear -m orig_h5clear_sec2_v2.h5" (valid 1 option, existing file, no cache image)
+# "h5clear -s -m orig_h5clear_sec2_v0.h5" (valid 2 options, existing file, no cache image)
ADD_H5_CMP (h5clear_usage_h h5clear_usage 0 "-h")
ADD_H5_CMP (h5clear_usage h5clear_usage 1 "")
ADD_H5_CMP (h5clear_usage_junk h5clear_usage 1 "" junk.h5)
@@ -148,7 +218,7 @@
ADD_H5_CMP (h5clear_missing_file_ms h5clear_missing_file 1 "-m" "-s")
ADD_H5_CMP (h5clear_open_fail_ms h5clear_open_fail 1 "-m" "-s" junk.h5)
ADD_H5_CMP (h5clear_no_mdc_image_m h5clear_no_mdc_image 0 "-m" orig_h5clear_sec2_v2.h5)
- ADD_H5_CMP (h5clear_no_mdc_image_ms h5clear_no_mdc_image 0 "-m" "-s" orig_h5clear_sec2_v0.h5)
+ ADD_H5_CMP (h5clear_no_mdc_image_ms h5clear_no_mdc_image 0 "-s" "-m" orig_h5clear_sec2_v0.h5)
#
#
#
@@ -160,9 +230,9 @@
# "h5clear -l h5clear_sec2_v2.h5" (invalid 1 option, existing file, fail exit code)
# "h5clear -m -k" (valid/invalid 2 options, nofile, fail exit code)
# "h5clear -l -m" (invalid/valid 2 options, nofile, fail exit code)
-# "h5clear -m -k junk.h5" (valid/invalid 2 options, nonexisting file, fail exit code)
+# "h5clear -m -l junk.h5" (valid/invalid 2 options, nonexisting file, fail exit code)
# "h5clear -l -m junk.h5" (invalid/valid 2 options, nonexisting file, fail exit code)
-# "h5clear -m -k h5clear_sec2_v0.h5" (valid/invalid 2 options, existing file, fail exit code)
+# "h5clear -m -l h5clear_sec2_v0.h5" (valid/invalid 2 options, existing file, fail exit code)
# "h5clear -l -m h5clear_sec2_v0.h5" (invalid/valid 2 options, existing file, fail exit code)
ADD_H5_RETTEST (h5clear_mdc_image "false" "-m" h5clear_mdc_image.h5)
ADD_H5_RETTEST (h5clear_vers "false" "--vers")
@@ -173,14 +243,14 @@
ADD_H5_RETTEST (h5clear_lm "true" "-l" "-m")
ADD_H5_RETTEST (h5clear_ml_junk "true" "-m" "-l" junk.h5)
ADD_H5_RETTEST (h5clear_lm_junk "true" "-l" "-m" junk.h5)
- ADD_H5_RETTEST (h5clear_ml_sec2 "true" "-m" "-l" h5clear_sec2_v2.h5)
- ADD_H5_RETTEST (h5clear_lm_sec2 "true" "-l" "-m" h5clear_sec2_v2.h5)
+ ADD_H5_RETTEST (h5clear_ml_sec2 "true" "-m" "-l" h5clear_sec2_v0.h5)
+ ADD_H5_RETTEST (h5clear_lm_sec2 "true" "-l" "-m" h5clear_sec2_v0.h5)
#
#
#
# h5clear_mdc_image.h5 already has cache image removed earlier, verify the expected warning from h5clear:
ADD_H5_CMP (h5clear_mdc_image_m h5clear_no_mdc_image 0 "-m" mod_h5clear_mdc_image.h5)
- ADD_H5_CMP (h5clear_mdc_image_sm h5clear_no_mdc_image 0 "-m" "-s" mod_h5clear_mdc_image2.h5)
+ ADD_H5_CMP (h5clear_mdc_image_sm h5clear_no_mdc_image 0 "-s" "-m" mod_h5clear_mdc_image2.h5)
#
#
#
@@ -191,7 +261,3 @@
ADD_H5_TEST (latest_h5clear_log_v3 "true")
ADD_H5_TEST (h5clear_sec2_v0 "false")
ADD_H5_TEST (h5clear_sec2_v2 "false")
-
- set (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
- h5clear_gentest
- )
diff --git a/tools/test/misc/h5clear_gentest.c b/tools/test/misc/h5clear_gentest.c
index f8b6a70..86ea3d2 100644
--- a/tools/test/misc/h5clear_gentest.c
+++ b/tools/test/misc/h5clear_gentest.c
@@ -142,7 +142,7 @@ error:
* status_flags properly so users can open the files afterwards.
*
* Return: Success: 0
- * Failure: 1
+ * Failure: 1
*
* Programmer: Vailin Choi; July 2013
*
@@ -167,65 +167,65 @@ main(void)
/* Create a copy of the file access property list */
if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
- goto error;
+ goto error;
/* Copy the file access property list */
if((new_fapl = H5Pcopy(fapl)) < 0)
- goto error;
+ goto error;
/* Set to latest library format */
if(H5Pset_libver_bounds(new_fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- goto error;
+ goto error;
/* Files created within this for loop will have v3 superblock and nonzero status_flags */
for(new_format = FALSE; new_format <= TRUE; new_format++) {
- hid_t fapl2, my_fapl; /* File access property lists */
-
- /* Set to use the appropriate file access property list */
- if(new_format)
- fapl2 = new_fapl;
- else
- fapl2 = fapl;
- /*
- * Create a sec2 file
- */
- if((my_fapl = H5Pcopy(fapl2)) < 0)
- goto error;
- /* Create the file */
- sprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[0]);
- if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0)
- goto error;
-
- /* Flush the file */
- if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
- goto error;
+ hid_t fapl2, my_fapl; /* File access property lists */
+
+ /* Set to use the appropriate file access property list */
+ if(new_format)
+ fapl2 = new_fapl;
+ else
+ fapl2 = fapl;
+ /*
+ * Create a sec2 file
+ */
+ if((my_fapl = H5Pcopy(fapl2)) < 0)
+ goto error;
+ /* Create the file */
+ sprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[0]);
+ if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0)
+ goto error;
+
+ /* Flush the file */
+ if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
+ goto error;
- /* Close the property list */
- if(H5Pclose(my_fapl) < 0)
- goto error;
-
- /*
- * Create a log file
- */
- /* Create a copy of file access property list */
- if((my_fapl = H5Pcopy(fapl2)) < 0)
- goto error;
-
- /* Setup the fapl for the log driver */
- if(H5Pset_fapl_log(my_fapl, "append.log", (unsigned long long)H5FD_LOG_ALL, (size_t)(4 * KB)) < 0)
- goto error;
-
- /* Create the file */
- sprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[1]);
- if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0)
- goto error;
-
- /* Flush the file */
- if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
- goto error;
-
- /* Close the property list */
- if(H5Pclose(my_fapl) < 0)
- goto error;
+ /* Close the property list */
+ if(H5Pclose(my_fapl) < 0)
+ goto error;
+
+ /*
+ * Create a log file
+ */
+ /* Create a copy of file access property list */
+ if((my_fapl = H5Pcopy(fapl2)) < 0)
+ goto error;
+
+ /* Setup the fapl for the log driver */
+ if(H5Pset_fapl_log(my_fapl, "append.log", (unsigned long long)H5FD_LOG_ALL, (size_t)(4 * KB)) < 0)
+ goto error;
+
+ /* Create the file */
+ sprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[1]);
+ if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0)
+ goto error;
+
+ /* Flush the file */
+ if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
+ goto error;
+
+ /* Close the property list */
+ if(H5Pclose(my_fapl) < 0)
+ goto error;
} /* end for */
@@ -233,38 +233,38 @@ main(void)
* Create a sec2 file with v0 superblock but nonzero status_flags
*/
if((fid = H5Fcreate(FILENAME[2], H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- goto error;
+ goto error;
/* Flush the file */
if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
- goto error;
+ goto error;
/*
* Create a sec2 file with v2 superblock but nonzero status_flags
*/
if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
- goto error;
+ goto error;
if(H5Pset_shared_mesg_nindexes(fcpl, 1) < 0)
goto error;
if(H5Pset_shared_mesg_index(fcpl, 0, H5O_SHMESG_DTYPE_FLAG, 50) < 0)
goto error;
if((fid = H5Fcreate(FILENAME[3], H5F_ACC_TRUNC, fcpl, fapl)) < 0)
- goto error;
+ goto error;
/* Flush the file */
if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
- goto error;
+ goto error;
/* Close the property lists */
if(H5Pclose(fapl) < 0)
- goto error;
+ goto error;
if(H5Pclose(new_fapl) < 0)
- goto error;
+ goto error;
if(H5Pclose(fcpl) < 0)
- goto error;
+ goto error;
fflush(stdout);
fflush(stderr);
diff --git a/tools/test/misc/testfiles/h5clear_log_v3.h5 b/tools/test/misc/testfiles/h5clear_log_v3.h5
new file mode 100644
index 0000000..aed33a4
--- /dev/null
+++ b/tools/test/misc/testfiles/h5clear_log_v3.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/h5clear_mdc_image.h5 b/tools/test/misc/testfiles/h5clear_mdc_image.h5
new file mode 100644
index 0000000..6ed8b70
--- /dev/null
+++ b/tools/test/misc/testfiles/h5clear_mdc_image.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/orig_h5clear_sec2_v0.h5 b/tools/test/misc/testfiles/h5clear_sec2_v0.h5
index 571fd46..571fd46 100644
--- a/tools/test/misc/testfiles/orig_h5clear_sec2_v0.h5
+++ b/tools/test/misc/testfiles/h5clear_sec2_v0.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/orig_h5clear_sec2_v2.h5 b/tools/test/misc/testfiles/h5clear_sec2_v2.h5
index 92833e6..92833e6 100644
--- a/tools/test/misc/testfiles/orig_h5clear_sec2_v2.h5
+++ b/tools/test/misc/testfiles/h5clear_sec2_v2.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/orig_h5clear_sec2_v3.h5 b/tools/test/misc/testfiles/h5clear_sec2_v3.h5
index 9f1e6ce..9f1e6ce 100644
--- a/tools/test/misc/testfiles/orig_h5clear_sec2_v3.h5
+++ b/tools/test/misc/testfiles/h5clear_sec2_v3.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/latest_h5clear_log_v3.h5 b/tools/test/misc/testfiles/latest_h5clear_log_v3.h5
new file mode 100644
index 0000000..da5c426
--- /dev/null
+++ b/tools/test/misc/testfiles/latest_h5clear_log_v3.h5
Binary files differ
diff --git a/tools/test/misc/testfiles/latest_h5clear_sec2_v3.h5 b/tools/test/misc/testfiles/latest_h5clear_sec2_v3.h5
new file mode 100644
index 0000000..e511248
--- /dev/null
+++ b/tools/test/misc/testfiles/latest_h5clear_sec2_v3.h5
Binary files differ
diff --git a/tools/test/misc/testh5clear.sh.in b/tools/test/misc/testh5clear.sh.in
index 71d5cad..b855572 100644
--- a/tools/test/misc/testh5clear.sh.in
+++ b/tools/test/misc/testh5clear.sh.in
@@ -68,9 +68,13 @@ $SRC_H5CLEAR_TESTFILES/h5clear_usage.ddl
$SRC_H5CLEAR_TESTFILES/h5clear_open_fail.ddl
$SRC_H5CLEAR_TESTFILES/h5clear_missing_file.ddl
$SRC_H5CLEAR_TESTFILES/h5clear_no_mdc_image.ddl
-$SRC_H5CLEAR_TESTFILES/orig_h5clear_sec2_v0.h5
-$SRC_H5CLEAR_TESTFILES/orig_h5clear_sec2_v2.h5
-$SRC_H5CLEAR_TESTFILES/orig_h5clear_sec2_v3.h5
+$SRC_H5CLEAR_TESTFILES/h5clear_sec2_v0.h5
+$SRC_H5CLEAR_TESTFILES/h5clear_sec2_v2.h5
+$SRC_H5CLEAR_TESTFILES/h5clear_sec2_v3.h5
+$SRC_H5CLEAR_TESTFILES/h5clear_log_v3.h5
+$SRC_H5CLEAR_TESTFILES/latest_h5clear_log_v3.h5
+$SRC_H5CLEAR_TESTFILES/latest_h5clear_sec2_v3.h5
+$SRC_H5CLEAR_TESTFILES/h5clear_mdc_image.h5
$SRC_H5CLEAR_TESTFILES/mod_h5clear_mdc_image.h5
"
@@ -161,6 +165,7 @@ TOOLTEST_OUT() {
# Run test.
TESTING $H5CLEAR $option1 $option2 $fname
(
+ cd $TESTDIR
$RUNSERIAL $H5CLEAR_BIN $option1 $option2 $fname
) >$actual 2>$actual_err
cp $actual $actual_sav
@@ -181,7 +186,10 @@ TOOLTEST_OUT() {
OPEN_CHK() {
fname=$1
expected=$2
- $OPENCHK_BIN $fname 2>/dev/null
+ (
+ cd $TESTDIR
+ $OPENCHK_BIN $fname 2>/dev/null
+ )
actual=$?
if test $actual -ne $expected; then
echo "Unexpected return from $OPENCHK"
@@ -201,9 +209,11 @@ TOOLTEST() {
ret_expected=$4
#
TESTING $H5CLEAR $option1 $option2 $fname
- fname=$1
# h5clear $option1 $option2 $fname
- $RUNSERIAL $H5CLEAR_BIN $option1 $option2 $fname 2>/dev/null 1>/dev/null
+ (
+ cd $TESTDIR
+ $RUNSERIAL $H5CLEAR_BIN $option1 $option2 $fname 2>/dev/null 1>/dev/null
+ )
if test $? -ne $ret_expected; then
echo "*FAILED*"
nerrors=`expr $nerrors + 1`
@@ -219,30 +229,34 @@ TOOLTEST() {
##############################################################################
# prepare for testing
COPY_TESTFILES_TO_TESTDIR
+# For Cmake
+$CP -f $TESTDIR/h5clear_sec2_v0.h5 $TESTDIR/orig_h5clear_sec2_v0.h5
+$CP -f $TESTDIR/h5clear_sec2_v2.h5 $TESTDIR/orig_h5clear_sec2_v2.h5
+$CP -f $TESTDIR/h5clear_sec2_v3.h5 $TESTDIR/orig_h5clear_sec2_v3.h5
#
#
#
# The following are tests to verify the expected output from h5clear
# "h5clear -h"
-# "h5clear" (no options, no file)
-# "h5clear junk.h5" (no options, nonexisting file)
-# "h5clear orig_h5clear_sec2_v3.h5" (no options, existing file)
-# "h5clear -m" (valid 1 option, no file)
-# "h5clear -s junk.h5" (valid 1 option, nonexisting file)
-# "h5clear -m -s junk.h5" (valid 2 options, no file)
-# "h5clear -m -s junk.h5" (valid 2 options, nonexisting file)
-# "h5clear -m orig_h5clear_sec2_v2.h5" (valid 1 option, existing file, no cache image)
-# "h5clear -s -m orig_h5clear_sec2_v0.h5" (valid 2 options, existing file, no cache image)
+# "h5clear" (no options, no file)
+# "h5clear junk.h5" (no options, nonexisting file)
+# "h5clear orig_h5clear_sec2_v3.h5" (no options, existing file)
+# "h5clear -m" (valid 1 option, no file)
+# "h5clear -s junk.h5" (valid 1 option, nonexisting file)
+# "h5clear -m -s" (valid 2 options, no file)
+# "h5clear -m -s junk.h5" (valid 2 options, nonexisting file)
+# "h5clear -m orig_h5clear_sec2_v2.h5" (valid 1 option, existing file, no cache image)
+# "h5clear -s -m orig_h5clear_sec2_v0.h5" (valid 2 options, existing file, no cache image)
TOOLTEST_OUT "" -h "" h5clear_usage.ddl
TOOLTEST_OUT "" "" "" h5clear_usage.ddl
TOOLTEST_OUT junk.h5 "" "" h5clear_usage.ddl
-TOOLTEST_OUT $TESTDIR/orig_h5clear_sec2_v3.h5 "" "" h5clear_usage.ddl
+TOOLTEST_OUT orig_h5clear_sec2_v3.h5 "" "" h5clear_usage.ddl
TOOLTEST_OUT "" -m "" h5clear_missing_file.ddl
TOOLTEST_OUT junk.h5 -s "" h5clear_open_fail.ddl
TOOLTEST_OUT "" -m -s h5clear_missing_file.ddl
TOOLTEST_OUT junk.h5 -m -s h5clear_open_fail.ddl
-TOOLTEST_OUT $TESTDIR/orig_h5clear_sec2_v2.h5 -m "" h5clear_no_mdc_image.ddl
-TOOLTEST_OUT $TESTDIR/orig_h5clear_sec2_v0.h5 -s -m h5clear_no_mdc_image.ddl
+TOOLTEST_OUT orig_h5clear_sec2_v2.h5 -m "" h5clear_no_mdc_image.ddl
+TOOLTEST_OUT orig_h5clear_sec2_v0.h5 -s -m h5clear_no_mdc_image.ddl
#
#
#
@@ -254,9 +268,9 @@ TOOLTEST_OUT $TESTDIR/orig_h5clear_sec2_v0.h5 -s -m h5clear_no_mdc_image.ddl
# "h5clear -l h5clear_sec2_v2.h5" (invalid 1 option, existing file, fail exit code)
# "h5clear -m -k" (valid/invalid 2 options, nofile, fail exit code)
# "h5clear -l -m" (invalid/valid 2 options, nofile, fail exit code)
-# "h5clear -m -k junk.h5" (valid/invalid 2 options, nonexisting file, fail exit code)
+# "h5clear -m -l junk.h5" (valid/invalid 2 options, nonexisting file, fail exit code)
# "h5clear -l -m junk.h5" (invalid/valid 2 options, nonexisting file, fail exit code)
-# "h5clear -m -k h5clear_sec2_v0.h5" (valid/invalid 2 options, existing file, fail exit code)
+# "h5clear -m -l h5clear_sec2_v0.h5" (valid/invalid 2 options, existing file, fail exit code)
# "h5clear -l -m h5clear_sec2_v0.h5" (invalid/valid 2 options, existing file, fail exit code)
TOOLTEST h5clear_mdc_image.h5 -m "" $SUCCEED
TOOLTEST "" --vers "" $SUCCEED
@@ -273,8 +287,8 @@ TOOLTEST h5clear_sec2_v0.h5 -l -m $FAIL
#
#
# h5clear_mdc_image.h5 already has cache image removed earlier, verify the expected warning from h5clear:
-TOOLTEST_OUT $TESTDIR/mod_h5clear_mdc_image.h5 -m "" h5clear_no_mdc_image.ddl
-TOOLTEST_OUT $TESTDIR/mod_h5clear_mdc_image.h5 -s -m h5clear_no_mdc_image.ddl
+TOOLTEST_OUT mod_h5clear_mdc_image.h5 -m "" h5clear_no_mdc_image.ddl
+TOOLTEST_OUT mod_h5clear_mdc_image.h5 -s -m h5clear_no_mdc_image.ddl
#
#
#