summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-07-06 19:45:35 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-07-06 19:45:35 (GMT)
commit98754fa9d12090f5e048fdb05cc5e9ce9111676f (patch)
tree407e611b19ee551d8153779104022dd886a467e5 /tools/h5diff
parent29321bcafa9f1c6108bb92b5a844a9d4d9c2c8e7 (diff)
downloadhdf5-98754fa9d12090f5e048fdb05cc5e9ce9111676f.zip
hdf5-98754fa9d12090f5e048fdb05cc5e9ce9111676f.tar.gz
hdf5-98754fa9d12090f5e048fdb05cc5e9ce9111676f.tar.bz2
[svn-r19050] Description:
Bring r18704:19049 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
Diffstat (limited to 'tools/h5diff')
-rw-r--r--tools/h5diff/CMakeLists.txt674
-rw-r--r--tools/h5diff/Makefile.in2
-rw-r--r--tools/h5diff/h5diff_common.c20
-rw-r--r--tools/h5diff/h5diff_common.h18
-rw-r--r--tools/h5diff/h5diff_main.c8
-rw-r--r--tools/h5diff/h5diffgentest.c8
-rw-r--r--tools/h5diff/ph5diff_main.c9
-rw-r--r--tools/h5diff/testfiles/h5diff_10.txt10
-rwxr-xr-xtools/h5diff/testfiles/h5diff_101w.txt10
-rwxr-xr-xtools/h5diff/testfiles/h5diff_102w.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_452.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_600.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_603.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_606.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_612.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_615.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_621.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_622.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_623.txt10
-rw-r--r--tools/h5diff/testfiles/h5diff_624.txt10
-rwxr-xr-xtools/h5diff/testh5diff.sh96
21 files changed, 837 insertions, 120 deletions
diff --git a/tools/h5diff/CMakeLists.txt b/tools/h5diff/CMakeLists.txt
new file mode 100644
index 0000000..9461875
--- /dev/null
+++ b/tools/h5diff/CMakeLists.txt
@@ -0,0 +1,674 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_TOOLS_H5DIFF)
+
+#-----------------------------------------------------------------------------
+# Setup include Directories
+#-----------------------------------------------------------------------------
+INCLUDE_DIRECTORIES (${HDF5_TOOLS_SOURCE_DIR}/lib)
+INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
+
+# --------------------------------------------------------------------
+# Add the h5diff and test executables
+# --------------------------------------------------------------------
+ADD_EXECUTABLE (h5diff
+ ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
+ ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_main.c
+)
+H5_NAMING (h5diff)
+IF (WIN32)
+ IF (MSVC)
+ IF (NOT BUILD_SHARED_LIBS)
+ SET_TARGET_PROPERTIES (h5diff
+ PROPERTIES
+ LINK_FLAGS "/NODEFAULTLIB:MSVCRT"
+ )
+ ENDIF (NOT BUILD_SHARED_LIBS)
+ ENDIF (MSVC)
+ENDIF (WIN32)
+TARGET_LINK_LIBRARIES (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
+
+SET (H5_DEP_EXECUTABLES h5diff)
+
+IF (BUILD_TESTING)
+ IF (NOT BUILD_SHARED_LIBS)
+ ADD_EXECUTABLE (h5diffgentest ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diffgentest.c)
+ H5_NAMING (h5diffgentest)
+ IF (WIN32)
+ IF (MSVC)
+ SET_TARGET_PROPERTIES (h5diffgentest
+ PROPERTIES
+ LINK_FLAGS "/NODEFAULTLIB:MSVCRT"
+ )
+ ENDIF (MSVC)
+ ENDIF (WIN32)
+ TARGET_LINK_LIBRARIES (h5diffgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
+
+ #ADD_TEST (NAME h5diffgentest COMMAND $<TARGET_FILE:h5diffgentest>)
+
+ SET (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
+ # h5diffgentest
+ )
+ ENDIF (NOT BUILD_SHARED_LIBS)
+
+ #-- Copy all the HDF5 files from the test directory into the source directory
+ SET (HDF5_REFERENCE_FILES
+ h5diff_10.txt
+ h5diff_100.txt
+ #h5diff_101.txt
+ #h5diff_102.txt
+ h5diff_11.txt
+ h5diff_12.txt
+ h5diff_13.txt
+ h5diff_14.txt
+ h5diff_15.txt
+ h5diff_16_1.txt
+ h5diff_16_2.txt
+ h5diff_16_3.txt
+ h5diff_17.txt
+ h5diff_171.txt
+ h5diff_172.txt
+ h5diff_18_1.txt
+ h5diff_18.txt
+ h5diff_20.txt
+ h5diff_200.txt
+ h5diff_201.txt
+ h5diff_202.txt
+ h5diff_203.txt
+ h5diff_204.txt
+ h5diff_205.txt
+ h5diff_206.txt
+ h5diff_207.txt
+ h5diff_21.txt
+ h5diff_22.txt
+ h5diff_23.txt
+ h5diff_24.txt
+ h5diff_25.txt
+ h5diff_26.txt
+ h5diff_27.txt
+ h5diff_28.txt
+ h5diff_300.txt
+ h5diff_400.txt
+ h5diff_401.txt
+ h5diff_402.txt
+ h5diff_403.txt
+ h5diff_404.txt
+ h5diff_405.txt
+ h5diff_406.txt
+ h5diff_407.txt
+ h5diff_408.txt
+ h5diff_409.txt
+ h5diff_410.txt
+ h5diff_411.txt
+ h5diff_412.txt
+ h5diff_413.txt
+ h5diff_414.txt
+ h5diff_415.txt
+ h5diff_416.txt
+ h5diff_417.txt
+ h5diff_418.txt
+ h5diff_419.txt
+ h5diff_420.txt
+ h5diff_421.txt
+ h5diff_422.txt
+ h5diff_423.txt
+ h5diff_424.txt
+ h5diff_425.txt
+ h5diff_450.txt
+ h5diff_451.txt
+ h5diff_452.txt
+ h5diff_453.txt
+ h5diff_454.txt
+ h5diff_455.txt
+ h5diff_456.txt
+ h5diff_457.txt
+ h5diff_458.txt
+ h5diff_459.txt
+ h5diff_50.txt
+ h5diff_51.txt
+ h5diff_52.txt
+ h5diff_53.txt
+ h5diff_54.txt
+ h5diff_55.txt
+ h5diff_56.txt
+ h5diff_57.txt
+ h5diff_58.txt
+ h5diff_600.txt
+ h5diff_603.txt
+ h5diff_604.txt
+ h5diff_605.txt
+ h5diff_606.txt
+ h5diff_607.txt
+ h5diff_608.txt
+ h5diff_609.txt
+ h5diff_610.txt
+ h5diff_612.txt
+ h5diff_613.txt
+ h5diff_614.txt
+ h5diff_615.txt
+ h5diff_616.txt
+ h5diff_617.txt
+ h5diff_618.txt
+ h5diff_619.txt
+ h5diff_621.txt
+ h5diff_622.txt
+ h5diff_623.txt
+ h5diff_624.txt
+ h5diff_625.txt
+ h5diff_626.txt
+ h5diff_627.txt
+ h5diff_628.txt
+ h5diff_629.txt
+ h5diff_70.txt
+ h5diff_80.txt
+ h5diff_90.txt
+ )
+ SET (HDF5_REFERENCE_TEST_FILES
+ h5diff_basic1.h5
+ h5diff_basic2.h5
+ h5diff_types.h5
+ h5diff_dtypes.h5
+ h5diff_attr1.h5
+ h5diff_attr2.h5
+ h5diff_dset1.h5
+ h5diff_dset2.h5
+ h5diff_hyper1.h5
+ h5diff_hyper2.h5
+ h5diff_empty.h5
+ h5diff_links.h5
+ h5diff_softlinks.h5
+ h5diff_linked_softlink.h5
+ h5diff_extlink_src.h5
+ h5diff_extlink_trg.h5
+ h5diff_ext2softlink_src.h5
+ h5diff_ext2softlink_trg.h5
+ h5diff_danglelinks1.h5
+ h5diff_danglelinks2.h5
+ )
+
+ FOREACH (txt_file ${HDF5_REFERENCE_FILES})
+ SET (txtdest "${PROJECT_BINARY_DIR}/${txt_file}")
+ #MESSAGE (STATUS " Translating ${txt_file}")
+ ADD_CUSTOM_COMMAND (
+ TARGET h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${txt_file} ${txtdest}
+ )
+ ENDFOREACH (txt_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 h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${h5_file} ${dest}
+ )
+ ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
+
+ IF (WIN32)
+ ADD_CUSTOM_COMMAND (
+ TARGET h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_101w.txt ${PROJECT_BINARY_DIR}/h5diff_101.txt
+ )
+
+ ADD_CUSTOM_COMMAND (
+ TARGET h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_102w.txt ${PROJECT_BINARY_DIR}/h5diff_102.txt
+ )
+ ELSE (WIN32)
+ ADD_CUSTOM_COMMAND (
+ TARGET h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_101.txt ${PROJECT_BINARY_DIR}/h5diff_101.txt
+ )
+
+ ADD_CUSTOM_COMMAND (
+ TARGET h5diff
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_102.txt ${PROJECT_BINARY_DIR}/h5diff_102.txt
+ )
+ ENDIF (WIN32)
+
+ MACRO (ADD_H5_TEST resultfile resultcode)
+ ADD_TEST (
+ NAME H5DIFF-${resultfile}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
+ -D "TEST_ARGS:STRING=${ARGN}"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
+ -D "TEST_OUTPUT=${resultfile}.out"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_REFERENCE=${resultfile}.txt"
+ -D "TEST_APPEND=EXIT CODE:"
+ -P "${HDF5_RESOURCES_DIR}/runTest.cmake"
+ )
+ ENDMACRO (ADD_H5_TEST file)
+
+
+###############################################################################
+## test file names
+###############################################################################
+
+SET (FILE1 h5diff_basic1.h5)
+SET (FILE2 h5diff_basic2.h5)
+SET (FILE3 h5diff_types.h5)
+SET (FILE4 h5diff_dtypes.h5)
+SET (FILE5 h5diff_attr1.h5)
+SET (FILE6 h5diff_attr2.h5)
+SET (FILE7 h5diff_dset1.h5)
+SET (FILE8 h5diff_dset2.h5)
+SET (FILE9 h5diff_hyper1.h5)
+SET (FILE10 h5diff_hyper2.h5)
+SET (FILE11 h5diff_empty.h5)
+SET (FILE12 h5diff_links.h5)
+SET (FILE13 h5diff_softlinks.h5)
+SET (FILE14 h5diff_linked_softlink.h5)
+SET (FILE15 h5diff_extlink_src.h5)
+SET (FILE16 h5diff_extlink_trg.h5)
+SET (FILE17 h5diff_ext2softlink_src.h5)
+SET (FILE18 h5diff_ext2softlink_trg.h5)
+SET (DANGLE_LINK_FILE1 h5diff_danglelinks1.h5)
+SET (DANGLE_LINK_FILE2 h5diff_danglelinks2.h5)
+
+# ############################################################################
+# # Common usage
+# ############################################################################
+
+# 1.0
+ADD_H5_TEST (h5diff_10 0 -h)
+
+# 1.1 normal mode
+ADD_H5_TEST (h5diff_11 1 ${FILE1} ${FILE2})
+
+# 1.2 normal mode with objects
+ADD_H5_TEST (h5diff_12 1 ${FILE1} ${FILE2} g1/dset1 g1/dset2)
+
+# 1.3 report mode
+ADD_H5_TEST (h5diff_13 1 -r ${FILE1} ${FILE2})
+
+# 1.4 report mode with objects
+ADD_H5_TEST (h5diff_14 1 -r ${FILE1} ${FILE2} g1/dset1 g1/dset2)
+
+# 1.5 with -d
+ADD_H5_TEST (h5diff_15 1 --report --delta=5 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 1.6.1 with -p (int)
+ADD_H5_TEST (h5diff_16_1 1 -v -p 0.02 ${FILE1} ${FILE1} g1/dset5 g1/dset6)
+
+# 1.6.2 with -p (unsigned long_long)
+ADD_H5_TEST (h5diff_16_2 1 --verbose --relative=0.02 ${FILE1} ${FILE1} g1/dset7 g1/dset8)
+
+# 1.6.3 with -p (double)
+ADD_H5_TEST (h5diff_16_3 1 -v -p 0.02 ${FILE1} ${FILE1} g1/dset9 g1/dset10)
+
+# 1.7 verbose mode
+ADD_H5_TEST (h5diff_17 1 -v ${FILE1} ${FILE2})
+
+# 1.7 test 32-bit INFINITY
+ADD_H5_TEST (h5diff_171 0 -v ${FILE1} ${FILE1} /g1/fp19)
+
+# 1.7 test 64-bit INFINITY
+ADD_H5_TEST (h5diff_172 0 -v ${FILE1} ${FILE1} /g1/fp20)
+
+# 1.8 quiet mode
+ADD_H5_TEST (h5diff_18 1 -q ${FILE1} ${FILE2})
+
+# 1.8 -v and -q
+ADD_H5_TEST (h5diff_18_1 2 -v -q ${FILE1} ${FILE2})
+
+
+# ##############################################################################
+# # not comparable types
+# ##############################################################################
+
+# 2.0
+ADD_H5_TEST (h5diff_20 0 -v ${FILE3} ${FILE3} dset g1)
+
+# 2.1
+ADD_H5_TEST (h5diff_21 0 -v ${FILE3} ${FILE3} dset l1)
+
+# 2.2
+ADD_H5_TEST (h5diff_22 0 -v ${FILE3} ${FILE3} dset t1)
+
+# ##############################################################################
+# # compare groups, types, links (no differences and differences)
+# ##############################################################################
+
+# 2.3
+ADD_H5_TEST (h5diff_23 0 -v ${FILE3} ${FILE3} g1 g1)
+
+# 2.4
+ADD_H5_TEST (h5diff_24 0 -v ${FILE3} ${FILE3} t1 t1)
+
+# 2.5
+ADD_H5_TEST (h5diff_25 0 -v ${FILE3} ${FILE3} l1 l1)
+
+# 2.6
+ADD_H5_TEST (h5diff_26 1 -v ${FILE3} ${FILE3} g1 g2)
+
+# 2.7
+ADD_H5_TEST (h5diff_27 1 -v ${FILE3} ${FILE3} t1 t2)
+
+# 2.8
+ADD_H5_TEST (h5diff_28 1 -v ${FILE3} ${FILE3} l1 l2)
+
+
+
+# ##############################################################################
+# # Dataset datatypes
+# ##############################################################################
+
+# 5.0
+ADD_H5_TEST (h5diff_50 1 -v ${FILE4} ${FILE4} dset0a dset0b)
+
+# 5.1
+ADD_H5_TEST (h5diff_51 1 -v ${FILE4} ${FILE4} dset1a dset1b)
+
+# 5.2
+ADD_H5_TEST (h5diff_52 1 -v ${FILE4} ${FILE4} dset2a dset2b)
+
+# 5.3
+ADD_H5_TEST (h5diff_53 1 -v ${FILE4} ${FILE4} dset3a dset4b)
+
+# 5.4
+ADD_H5_TEST (h5diff_54 1 -v ${FILE4} ${FILE4} dset4a dset4b)
+
+# 5.5
+ADD_H5_TEST (h5diff_55 1 -v ${FILE4} ${FILE4} dset5a dset5b)
+
+# 5.6
+ADD_H5_TEST (h5diff_56 1 -v ${FILE4} ${FILE4} dset6a dset6b)
+
+# 5.7
+ADD_H5_TEST (h5diff_57 0 -v ${FILE4} ${FILE4} dset7a dset7b)
+
+# 5.8 (region reference)
+ADD_H5_TEST (h5diff_58 1 -v ${FILE7} ${FILE8} refreg)
+
+# ##############################################################################
+# # Error messages
+# ##############################################################################
+
+
+# 6.0: Check if the command line number of arguments is less than 3
+ADD_H5_TEST (h5diff_600 1 ${FILE1})
+
+
+# ##############################################################################
+# # -d
+# ##############################################################################
+
+
+# 6.3: negative value
+ADD_H5_TEST (h5diff_603 1 -d -4 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.4: zero
+ADD_H5_TEST (h5diff_604 1 -d 0 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.5: non number
+ADD_H5_TEST (h5diff_605 1 -d u ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.6: hexadecimal
+ADD_H5_TEST (h5diff_606 1 -d 0x1 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.7: string
+ADD_H5_TEST (h5diff_607 1 -d "1" ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.8: use system epsilon
+ADD_H5_TEST (h5diff_608 1 --use-system-epsilon ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.9: number larger than biggest difference
+ADD_H5_TEST (h5diff_609 0 -d 200 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.10: number smaller than smallest difference
+ADD_H5_TEST (h5diff_610 1 -d 1 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# ##############################################################################
+# # -p
+# ##############################################################################
+
+# 6.12: negative value
+ADD_H5_TEST (h5diff_612 1 -p -4 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.13: zero
+ADD_H5_TEST (h5diff_613 1 -p 0 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.14: non number
+ADD_H5_TEST (h5diff_614 1 -p u ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.15: hexadecimal
+ADD_H5_TEST (h5diff_615 1 -p 0x1 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.16: string
+ADD_H5_TEST (h5diff_616 1 -p "0.21" ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.17: repeated option
+ADD_H5_TEST (h5diff_617 1 -p 0.21 -p 0.22 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.18: number larger than biggest difference
+ADD_H5_TEST (h5diff_618 0 -p 2 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.19: number smaller than smallest difference
+ADD_H5_TEST (h5diff_619 1 -p 0.005 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+
+# ##############################################################################
+# # -n
+# ##############################################################################
+
+# 6.21: negative value
+ADD_H5_TEST (h5diff_621 1 -n -4 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.22: zero
+ADD_H5_TEST (h5diff_622 1 -n 0 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.23: non number
+ADD_H5_TEST (h5diff_623 1 -n u ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.24: hexadecimal
+ADD_H5_TEST (h5diff_624 1 -n 0x1 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.25: string
+ADD_H5_TEST (h5diff_625 1 -n "2" ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.26: repeated option
+ADD_H5_TEST (h5diff_626 1 -n 2 -n 3 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.27: number larger than biggest difference
+ADD_H5_TEST (h5diff_627 1 --count=200 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# 6.28: number smaller than smallest difference
+ADD_H5_TEST (h5diff_628 1 -n 1 ${FILE1} ${FILE2} g1/dset3 g1/dset4)
+
+# Disabling this test as it hangs - LRK 20090618
+# 6.29 non valid files
+#ADD_H5_TEST (h5diff_629 2 file1.h6 file2.h6)
+
+# ##############################################################################
+# 7. attributes
+# ##############################################################################
+ADD_H5_TEST (h5diff_70 1 -v ${FILE5} ${FILE6})
+
+# ##############################################################################
+# 8. all dataset datatypes
+# ##############################################################################
+ADD_H5_TEST (h5diff_80 1 -v ${FILE7} ${FILE8})
+
+# 9. compare a file with itself
+ADD_H5_TEST (h5diff_90 0 -v ${FILE2} ${FILE2})
+
+# 10. read by hyperslab, print indexes
+#if test -n "$pmode" -a "$mydomainname" = hdfgroup.uiuc.edu; then
+# # skip this test which sometimes hangs in some THG machines
+# MESSAGE (STATUS "SKIP -v ${FILE9} ${FILE10})
+#else
+# ADD_H5_TEST (h5diff_100 1 -v ${FILE9} ${FILE10})
+#fi
+
+# 11. floating point comparison
+ADD_H5_TEST (h5diff_101 1 -v ${FILE1} ${FILE1} g1/d1 g1/d2)
+
+ADD_H5_TEST (h5diff_102 1 -v ${FILE1} ${FILE1} g1/fp1 g1/fp2)
+
+
+# not comparable -c flag
+ADD_H5_TEST (h5diff_200 0 ${FILE2} ${FILE2} g2/dset1 g2/dset2)
+
+ADD_H5_TEST (h5diff_201 0 -c ${FILE2} ${FILE2} g2/dset1 g2/dset2)
+
+ADD_H5_TEST (h5diff_202 0 -c ${FILE2} ${FILE2} g2/dset2 g2/dset3)
+
+ADD_H5_TEST (h5diff_203 0 -c ${FILE2} ${FILE2} g2/dset3 g2/dset4)
+
+ADD_H5_TEST (h5diff_204 0 -c ${FILE2} ${FILE2} g2/dset4 g2/dset5)
+
+ADD_H5_TEST (h5diff_205 0 -c ${FILE2} ${FILE2} g2/dset5 g2/dset6)
+
+
+# not comparable in compound
+ADD_H5_TEST (h5diff_206 0 -c ${FILE2} ${FILE2} g2/dset7 g2/dset8)
+
+ADD_H5_TEST (h5diff_207 0 -c ${FILE2} ${FILE2} g2/dset8 g2/dset9)
+
+# ##############################################################################
+# # Links compare without --follow-symlinks nor --no-dangling-links
+# ##############################################################################
+# test for bug1749
+ADD_H5_TEST (h5diff_300 1 -v ${FILE12} ${FILE12} /link_g1 /link_g2)
+
+# ##############################################################################
+# # Links compare with --follow-symlinks Only
+# ##############################################################################
+# soft links file to file
+ADD_H5_TEST (h5diff_400 0 --follow-symlinks -v ${FILE13} ${FILE13})
+
+# softlink vs dset"
+ADD_H5_TEST (h5diff_401 1 --follow-symlinks -v ${FILE13} ${FILE13} /softlink_dset1_1 /target_dset2)
+
+# dset vs softlink"
+ADD_H5_TEST (h5diff_402 1 --follow-symlinks -v ${FILE13} ${FILE13} /target_dset2 /softlink_dset1_1)
+
+# softlink vs softlink"
+ADD_H5_TEST (h5diff_403 1 --follow-symlinks -v ${FILE13} ${FILE13} /softlink_dset1_1 /softlink_dset2)
+
+# extlink vs extlink (FILE)"
+ADD_H5_TEST (h5diff_404 0 --follow-symlinks -v ${FILE15} ${FILE15})
+
+# extlink vs dset"
+ADD_H5_TEST (h5diff_405 1 --follow-symlinks -v ${FILE15} ${FILE16} /ext_link_dset1 /target_group2/x_dset)
+
+# dset vs extlink"
+ADD_H5_TEST (h5diff_406 1 --follow-symlinks -v ${FILE16} ${FILE15} /target_group2/x_dset /ext_link_dset1)
+
+# extlink vs extlink"
+ADD_H5_TEST (h5diff_407 1 --follow-symlinks -v ${FILE15} ${FILE15} /ext_link_dset1 /ext_link_dset2)
+
+# softlink vs extlink"
+ADD_H5_TEST (h5diff_408 1 --follow-symlinks -v ${FILE13} ${FILE15} /softlink_dset1_1 /ext_link_dset2)
+
+# extlink vs softlink "
+ADD_H5_TEST (h5diff_409 1 --follow-symlinks -v ${FILE15} ${FILE13} /ext_link_dset2 /softlink_dset1_1)
+
+# linked_softlink vs linked_softlink (FILE)"
+ADD_H5_TEST (h5diff_410 0 --follow-symlinks -v ${FILE14} ${FILE14})
+
+# dset2 vs linked_softlink_dset1"
+ADD_H5_TEST (h5diff_411 1 --follow-symlinks -v ${FILE14} ${FILE14} /target_dset2 /softlink1_to_slink2)
+
+# linked_softlink_dset1 vs dset2"
+ADD_H5_TEST (h5diff_412 1 --follow-symlinks -v ${FILE14} ${FILE14} /softlink1_to_slink2 /target_dset2)
+
+# linked_softlink_to_dset1 vs linked_softlink_to_dset2"
+ADD_H5_TEST (h5diff_413 1 --follow-symlinks -v ${FILE14} ${FILE14} /softlink1_to_slink2 /softlink2_to_slink2)
+
+# group vs linked_softlink_group1"
+ADD_H5_TEST (h5diff_414 1 --follow-symlinks -v ${FILE14} ${FILE14} /target_group /softlink3_to_slink2)
+
+# linked_softlink_group1 vs group"
+ADD_H5_TEST (h5diff_415 1 --follow-symlinks -v ${FILE14} ${FILE14} /softlink3_to_slink2 /target_group)
+
+# linked_softlink_to_group1 vs linked_softlink_to_group2"
+ADD_H5_TEST (h5diff_416 1 --follow-symlinks -v ${FILE14} ${FILE14} /softlink3_to_slink2 /softlink4_to_slink2)
+
+# non-exist-softlink vs softlink"
+ADD_H5_TEST (h5diff_417 1 --follow-symlinks -v ${FILE13} ${FILE13} /softlink_noexist /softlink_dset2)
+
+# softlink vs non-exist-softlink"
+ADD_H5_TEST (h5diff_418 1 --follow-symlinks -v ${FILE13} ${FILE13} /softlink_dset2 /softlink_noexist)
+
+# non-exist-extlink_file vs extlink"
+ADD_H5_TEST (h5diff_419 1 --follow-symlinks -v ${FILE15} ${FILE15} /ext_link_noexist2 /ext_link_dset2)
+
+# exlink vs non-exist-extlink_file"
+ADD_H5_TEST (h5diff_420 1 --follow-symlinks -v ${FILE15} ${FILE15} /ext_link_dset2 /ext_link_noexist2)
+
+# extlink vs non-exist-extlink_obj"
+ADD_H5_TEST (h5diff_421 1 --follow-symlinks -v ${FILE15} ${FILE15} /ext_link_dset2 /ext_link_noexist1)
+
+# non-exist-extlink_obj vs extlink"
+ADD_H5_TEST (h5diff_422 1 --follow-symlinks -v ${FILE15} ${FILE15} /ext_link_noexist1 /ext_link_dset2)
+
+# extlink_to_softlink_to_dset1 vs dset2"
+ADD_H5_TEST (h5diff_423 1 --follow-symlinks -v ${FILE17} ${FILE18} /ext_link_to_slink1 /dset2)
+
+# dset2 vs extlink_to_softlink_to_dset1"
+ADD_H5_TEST (h5diff_424 1 --follow-symlinks -v ${FILE18} ${FILE17} /dset2 /ext_link_to_slink1)
+
+# extlink_to_softlink_to_dset1 vs extlink_to_softlink_to_dset2"
+ADD_H5_TEST (h5diff_425 1 --follow-symlinks -v ${FILE17} ${FILE17} /ext_link_to_slink1 /ext_link_to_slink2)
+
+
+# ##############################################################################
+# # Dangling links compare (--follow-symlinks and --no-dangling-links)
+# ##############################################################################
+# dangling links --follow-symlinks (FILE to FILE)
+ADD_H5_TEST (h5diff_450 1 --follow-symlinks -v ${DANGLE_LINK_FILE1} ${DANGLE_LINK_FILE2})
+
+# dangling links --follow-symlinks and --no-dangling-links (FILE to FILE)
+ADD_H5_TEST (h5diff_451 2 --follow-symlinks -v --no-dangling-links ${DANGLE_LINK_FILE1} ${DANGLE_LINK_FILE2})
+
+# try --no-dangling-links without --follow-symlinks options
+ADD_H5_TEST (h5diff_452 2 --no-dangling-links ${FILE13} ${FILE13})
+
+# dangling link found for soft links (FILE to FILE)
+ADD_H5_TEST (h5diff_453 2 --follow-symlinks -v --no-dangling-links ${FILE13} ${FILE13})
+
+# dangling link found for soft links (obj to obj)
+ADD_H5_TEST (h5diff_454 2 --follow-symlinks -v --no-dangling-links ${FILE13} ${FILE13} /softlink_dset2 /softlink_noexist)
+
+# dangling link found for soft links (obj to obj) Both dangle links
+ADD_H5_TEST (h5diff_455 2 --follow-symlinks -v --no-dangling-links ${FILE13} ${FILE13} /softlink_noexist /softlink_noexist)
+
+# dangling link found for ext links (FILE to FILE)
+ADD_H5_TEST (h5diff_456 2 --follow-symlinks -v --no-dangling-links ${FILE15} ${FILE15})
+
+# dangling link found for ext links (obj to obj). target file exist
+ADD_H5_TEST (h5diff_457 2 --follow-symlinks -v --no-dangling-links ${FILE15} ${FILE15} /ext_link_dset1 /ext_link_noexist1)
+
+# dangling link found for ext links (obj to obj). target file NOT exist
+ADD_H5_TEST (h5diff_458 2 --follow-symlinks -v --no-dangling-links ${FILE15} ${FILE15} /ext_link_dset1 /ext_link_noexist2)
+
+# dangling link found for ext links (obj to obj). Both dangle links
+ADD_H5_TEST (h5diff_459 2 --follow-symlinks -v --no-dangling-links ${FILE15} ${FILE15} /ext_link_noexist1 /ext_link_noexist2)
+
+ENDIF (BUILD_TESTING)
+
+#-----------------------------------------------------------------------------
+# Rules for Installation of tools using make Install target
+#-----------------------------------------------------------------------------
+INSTALL (
+ TARGETS
+ h5diff
+ RUNTIME DESTINATION
+ bin/tools
+ COMPONENT
+ toolsapplications
+)
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in
index 5d381ec..32f1a87 100644
--- a/tools/h5diff/Makefile.in
+++ b/tools/h5diff/Makefile.in
@@ -199,12 +199,12 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT = @INSTRUMENT@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
+LARGEFILE = @LARGEFILE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
-LINUX_LFS = @LINUX_LFS@
LIPO = @LIPO@
LL_PATH = @LL_PATH@
LN_S = @LN_S@
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 75e1774..9b6037e 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -23,10 +23,6 @@ static int check_n_input( const char* );
static int check_p_input( const char* );
static int check_d_input( const char* );
-
-/* module-scoped variables */
-const char *progname = "h5diff";
-
/*
* Command-line options: The user can specify short or long-named
* parameters.
@@ -44,7 +40,7 @@ static struct long_options l_opts[] = {
{ "nan", no_arg, 'N' },
{ "compare", no_arg, 'c' },
{ "use-system-epsilon", no_arg, 'e' },
- { "follow-links", no_arg, 'l' },
+ { "follow-symlinks", no_arg, 'l' },
{ "no-dangling-links", no_arg, 'x' },
{ NULL, 0, '\0' }
};
@@ -90,7 +86,7 @@ void parse_command_line(int argc,
usage();
h5diff_exit(EXIT_SUCCESS);
case 'V':
- print_version(progname);
+ print_version(h5tools_getprogname());
h5diff_exit(EXIT_SUCCESS);
case 'v':
options->m_verbose = 1;
@@ -174,7 +170,7 @@ void parse_command_line(int argc,
/* check for file names to be processed */
if (argc <= opt_ind || argv[ opt_ind + 1 ] == NULL)
{
- error_msg(progname, "missing file names\n");
+ error_msg("missing file names\n");
usage();
h5diff_exit(EXIT_FAILURE);
}
@@ -367,7 +363,7 @@ void usage(void)
printf(" -r, --report Report mode. Print differences.\n");
printf(" -v, --verbose Verbose mode. Print differences, list of objects.\n");
printf(" -q, --quiet Quiet mode. Do not produce output.\n");
- printf(" --follow-links Follow symbolic links (soft links and external links)\n");
+ printf(" --follow-symlinks Follow symbolic links (soft links and external links)\n");
printf(" and compare the links' target objects.\n");
printf(" If symbolic link(s) with the same name exist in the\n");
printf(" files being compared, then determine whether the \n");
@@ -378,13 +374,13 @@ void usage(void)
printf(" - If both symbolic links are dangling links, they\n");
printf(" are treated as being the same; by default, h5diff\n");
printf(" returns an exit code of 0. If, however, \n");
- printf(" --no-dangling-links is used with --follow-links, \n");
+ printf(" --no-dangling-links is used with --follow-symlinks,\n");
printf(" this situation is treated as an error and h5diff \n");
printf(" returns an exit code of 2.\n");
printf(" - If only one of the two links is a dangling link,\n");
printf(" they are treated as being different and h5diff \n");
printf(" returns an exit code of 1. If, however, \n");
- printf(" --no-dangling-links is used with --follow-links, \n");
+ printf(" --no-dangling-links is used with --follow-symlinks,\n");
printf(" this situation is treated as an error and h5diff \n");
printf(" returns an exit code of 2.\n");
printf(" - If both symbolic links point to existing objects,\n");
@@ -392,7 +388,7 @@ void usage(void)
printf(" If any symbolic link specified in the call to h5diff\n");
printf(" does not exist, h5diff treats it as an error and\n");
printf(" returns an exit code of 2.\n");
- printf(" --no-dangling-links Must be used with --follow-links option;\n");
+ printf(" --no-dangling-links Must be used with --follow-symlinks option;\n");
printf(" otherwise, h5diff shows error message and returns\n");
printf(" an exit code of 2.\n");
printf(" Check for any symbolic links (soft links or external\n");
@@ -439,7 +435,7 @@ void usage(void)
printf(" 2) groups: name string difference\n");
printf(" 3) datatypes: the return value of H5Tequal\n");
printf(" 4) links: name string difference of the linked value as default\n");
- printf(" (refer to --follow-links option).\n");
+ printf(" (refer to --follow-symlinks option).\n");
printf("\n");
printf(" Exit code:\n");
printf(" 0 if no differences, 1 if differences found, 2 if error\n");
diff --git a/tools/h5diff/h5diff_common.h b/tools/h5diff/h5diff_common.h
index 2796bd5..5a601df 100644
--- a/tools/h5diff/h5diff_common.h
+++ b/tools/h5diff/h5diff_common.h
@@ -13,11 +13,25 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-extern unsigned char g_Parallel;
-extern int g_nTasks;
+#ifndef H5DIFFCOMMON_H__
+#define H5DIFFCOMMON_H__
+
+#include "h5tools.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+H5TOOLS_DLLVAR unsigned char g_Parallel;
+H5TOOLS_DLLVAR int g_nTasks;
void usage(void);
void parse_command_line(int argc, const char* argv[], const char** fname1, const char** fname2, const char** objname1, const char** objname2, diff_opt_t* options);
void h5diff_exit(int status);
void print_info(diff_opt_t* options);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* H5DIFFCOMMON_H__ */
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c
index 8089161..297eb48 100644
--- a/tools/h5diff/h5diff_main.c
+++ b/tools/h5diff/h5diff_main.c
@@ -20,6 +20,9 @@
#include "h5diff_common.h"
#include "h5tools_utils.h"
+/* Name of tool */
+#define PROGRAMNAME "h5diff"
+
/*-------------------------------------------------------------------------
* Function: main
*
@@ -68,9 +71,6 @@
*/
-/* module-scoped variables */
-int d_status = EXIT_SUCCESS;
-
int main(int argc, const char *argv[])
{
int ret;
@@ -81,6 +81,8 @@ int main(int argc, const char *argv[])
hsize_t nfound=0;
diff_opt_t options;
+ h5tools_setprogname(PROGRAMNAME);
+ h5tools_setstatus(EXIT_SUCCESS);
/*-------------------------------------------------------------------------
* process the command-line
*-------------------------------------------------------------------------
diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c
index 60d7f94..6e9b092 100644
--- a/tools/h5diff/h5diffgentest.c
+++ b/tools/h5diff/h5diffgentest.c
@@ -20,6 +20,9 @@
#include "h5tools.h"
+/* Name of tool */
+#define PROGRAMNAME "h5diffgentest"
+
/*-------------------------------------------------------------------------
* Program: h5diffgentest
*
@@ -117,9 +120,6 @@ static int gen_dataset_idx(const char *file, int format);
*-------------------------------------------------------------------------
*/
-/* module-scoped variables */
-int d_status = EXIT_SUCCESS;
-
int main(void)
{
test_basic(FILE1, FILE2, FILE11);
@@ -1432,7 +1432,7 @@ static int test_external_links(const char *fname1, const char *fname2)
/*-----------------------------------------------------------------------
* External Links
*------------------------------------------------------------------------*/
- /*--------------
+ /*--------------*/
/* source file */
status = H5Lcreate_external(fname2, "/target_group/x_dset", fid1, "ext_link_dset1", H5P_DEFAULT, H5P_DEFAULT);
if (status < 0)
diff --git a/tools/h5diff/ph5diff_main.c b/tools/h5diff/ph5diff_main.c
index 1990138..7a43c73 100644
--- a/tools/h5diff/ph5diff_main.c
+++ b/tools/h5diff/ph5diff_main.c
@@ -20,6 +20,9 @@
#include <assert.h>
#include "h5diff_common.h"
+/* Name of tool */
+#define PROGRAMNAME "h5diff"
+
static void ph5diff_worker(int );
/*-------------------------------------------------------------------------
@@ -52,9 +55,6 @@ static void ph5diff_worker(int );
*-------------------------------------------------------------------------
*/
-/* module-scoped variables */
-int d_status = EXIT_SUCCESS;
-
int main(int argc, const char *argv[])
{
int nID = 0;
@@ -64,6 +64,9 @@ int main(int argc, const char *argv[])
const char *objname2 = NULL;
diff_opt_t options;
+ h5tools_setprogname(PROGRAMNAME);
+ h5tools_setstatus(EXIT_SUCCESS);
+
outBuffOffset = 0;
g_Parallel = 1;
diff --git a/tools/h5diff/testfiles/h5diff_10.txt b/tools/h5diff/testfiles/h5diff_10.txt
index aeba845..d3ee9a6 100644
--- a/tools/h5diff/testfiles/h5diff_10.txt
+++ b/tools/h5diff/testfiles/h5diff_10.txt
@@ -10,7 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -21,13 +21,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -35,7 +35,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -78,7 +78,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_101w.txt b/tools/h5diff/testfiles/h5diff_101w.txt
new file mode 100755
index 0000000..59176a2
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_101w.txt
@@ -0,0 +1,10 @@
+dataset: </g1/d1> and </g1/d2>
+size: [3x2] [3x2]
+position d1 d2 difference
+------------------------------------------------------------
+[ 0 1 ] 1e-009 2e-009 1e-009
+[ 1 0 ] 1e-009 9e-010 1e-010
+[ 1 1 ] 0 1e-009 1e-009
+[ 2 0 ] 1e-009 0 1e-009
+4 differences found
+EXIT CODE: 1
diff --git a/tools/h5diff/testfiles/h5diff_102w.txt b/tools/h5diff/testfiles/h5diff_102w.txt
new file mode 100755
index 0000000..36a254e
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_102w.txt
@@ -0,0 +1,10 @@
+dataset: </g1/fp1> and </g1/fp2>
+size: [3x2] [3x2]
+position fp1 fp2 difference
+------------------------------------------------------------
+[ 0 1 ] 1e-005 2e-005 1e-005
+[ 1 0 ] 1e-005 9e-006 9.99999e-007
+[ 1 1 ] 0 1e-005 1e-005
+[ 2 0 ] 1e-005 0 1e-005
+4 differences found
+EXIT CODE: 1
diff --git a/tools/h5diff/testfiles/h5diff_452.txt b/tools/h5diff/testfiles/h5diff_452.txt
index 76e4457..05403af 100644
--- a/tools/h5diff/testfiles/h5diff_452.txt
+++ b/tools/h5diff/testfiles/h5diff_452.txt
@@ -1,2 +1,2 @@
-Error: --no-dangling-links must be used along with --follow-links option.
+Error: --no-dangling-links must be used along with --follow-symlinks option.
EXIT CODE: 2
diff --git a/tools/h5diff/testfiles/h5diff_600.txt b/tools/h5diff/testfiles/h5diff_600.txt
index f76d4d5..cf540ab 100644
--- a/tools/h5diff/testfiles/h5diff_600.txt
+++ b/tools/h5diff/testfiles/h5diff_600.txt
@@ -10,7 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -21,13 +21,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -35,7 +35,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -78,7 +78,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_603.txt b/tools/h5diff/testfiles/h5diff_603.txt
index a5286df..2f2e93f 100644
--- a/tools/h5diff/testfiles/h5diff_603.txt
+++ b/tools/h5diff/testfiles/h5diff_603.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_606.txt b/tools/h5diff/testfiles/h5diff_606.txt
index ab8039e..3381406 100644
--- a/tools/h5diff/testfiles/h5diff_606.txt
+++ b/tools/h5diff/testfiles/h5diff_606.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_612.txt b/tools/h5diff/testfiles/h5diff_612.txt
index 686ff15..8c6051e 100644
--- a/tools/h5diff/testfiles/h5diff_612.txt
+++ b/tools/h5diff/testfiles/h5diff_612.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_615.txt b/tools/h5diff/testfiles/h5diff_615.txt
index cf779c5..b713c7b 100644
--- a/tools/h5diff/testfiles/h5diff_615.txt
+++ b/tools/h5diff/testfiles/h5diff_615.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_621.txt b/tools/h5diff/testfiles/h5diff_621.txt
index 041bb7b..ee23b90 100644
--- a/tools/h5diff/testfiles/h5diff_621.txt
+++ b/tools/h5diff/testfiles/h5diff_621.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_622.txt b/tools/h5diff/testfiles/h5diff_622.txt
index 923bab5..11e2ce1 100644
--- a/tools/h5diff/testfiles/h5diff_622.txt
+++ b/tools/h5diff/testfiles/h5diff_622.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_623.txt b/tools/h5diff/testfiles/h5diff_623.txt
index 405a211..f87d6db 100644
--- a/tools/h5diff/testfiles/h5diff_623.txt
+++ b/tools/h5diff/testfiles/h5diff_623.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testfiles/h5diff_624.txt b/tools/h5diff/testfiles/h5diff_624.txt
index dc7c83b..4c9da26 100644
--- a/tools/h5diff/testfiles/h5diff_624.txt
+++ b/tools/h5diff/testfiles/h5diff_624.txt
@@ -11,7 +11,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences.
-v, --verbose Verbose mode. Print differences, list of objects.
-q, --quiet Quiet mode. Do not produce output.
- --follow-links Follow symbolic links (soft links and external links)
+ --follow-symlinks Follow symbolic links (soft links and external links)
and compare the links' target objects.
If symbolic link(s) with the same name exist in the
files being compared, then determine whether the
@@ -22,13 +22,13 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
- If both symbolic links are dangling links, they
are treated as being the same; by default, h5diff
returns an exit code of 0. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If only one of the two links is a dangling link,
they are treated as being different and h5diff
returns an exit code of 1. If, however,
- --no-dangling-links is used with --follow-links,
+ --no-dangling-links is used with --follow-symlinks,
this situation is treated as an error and h5diff
returns an exit code of 2.
- If both symbolic links point to existing objects,
@@ -36,7 +36,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
If any symbolic link specified in the call to h5diff
does not exist, h5diff treats it as an error and
returns an exit code of 2.
- --no-dangling-links Must be used with --follow-links option;
+ --no-dangling-links Must be used with --follow-symlinks option;
otherwise, h5diff shows error message and returns
an exit code of 2.
Check for any symbolic links (soft links or external
@@ -79,7 +79,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
- (refer to --follow-links option).
+ (refer to --follow-symlinks option).
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh
index 1ed6f88..12cf0f8 100755
--- a/tools/h5diff/testh5diff.sh
+++ b/tools/h5diff/testh5diff.sh
@@ -26,7 +26,7 @@
# Jonathan Kim:
# Improved to use single line
# Improved to check exit code (only serial mode, not necessary for parallel)
-# Added test 400 - 425 (links with --follow-links option)
+# Added test 400 - 425 (links with --follow-symlinks option)
# Added test 450 - 459 (dangling links)
@@ -69,6 +69,7 @@ DIFF='diff -c'
nerrors=0
verbose=yes
+h5haveexitcode=yes # default is yes
pmode= # default to run h5diff tests
mydomainname=`domainname 2>/dev/null`
@@ -105,6 +106,13 @@ while [ $# -gt 0 ]; do
esac
done
+# RUNSERIAL is used. Check if it can return exit code from executalbe correctly.
+if [ -n "$RUNSERIAL_NOEXITCODE" ]; then
+ echo "***Warning*** Serial Exit Code is not passed back to shell corretly."
+ echo "***Warning*** Exit code checking is skipped."
+ h5haveexitcode=no
+fi
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -226,7 +234,7 @@ TOOLTEST() {
# is from mpirun not tool)
# if any problem occurs relate to an exit code, it will be caught in
# serial mode, so the test is fullfilled.
- if test -z "$pmode"; then
+ if test $h5haveexitcode = 'yes' -a -z "$pmode"; then
echo "EXIT CODE: $EXIT_CODE" >> $actual
fi
@@ -236,7 +244,7 @@ TOOLTEST() {
cp $actual $expect
elif $CMP $expect $actual; then
echo " PASSED"
- elif test -z "$pmode"; then
+ elif test $h5haveexitcode = 'yes' -a -z "$pmode"; then
echo "*FAILED*"
echo " Expected result ($expect) differs from actual result ($actual)"
nerrors="`expr $nerrors + 1`"
@@ -560,91 +568,91 @@ TOOLTEST h5diff_206.txt -c $FILE2 $FILE2 g2/dset7 g2/dset8
TOOLTEST h5diff_207.txt -c $FILE2 $FILE2 g2/dset8 g2/dset9
# ##############################################################################
-# # Links compare without --follow-links nor --no-dangling-links
+# # Links compare without --follow-symlinks nor --no-dangling-links
# ##############################################################################
# test for bug1749
TOOLTEST h5diff_300.txt -v $FILE12 $FILE12 /link_g1 /link_g2
# ##############################################################################
-# # Links compare with --follow-links Only
+# # Links compare with --follow-symlinks Only
# ##############################################################################
# soft links file to file
-TOOLTEST h5diff_400.txt --follow-links -v $FILE13 $FILE13
+TOOLTEST h5diff_400.txt --follow-symlinks -v $FILE13 $FILE13
# softlink vs dset"
-TOOLTEST h5diff_401.txt --follow-links -v $FILE13 $FILE13 /softlink_dset1_1 /target_dset2
+TOOLTEST h5diff_401.txt --follow-symlinks -v $FILE13 $FILE13 /softlink_dset1_1 /target_dset2
# dset vs softlink"
-TOOLTEST h5diff_402.txt --follow-links -v $FILE13 $FILE13 /target_dset2 /softlink_dset1_1
+TOOLTEST h5diff_402.txt --follow-symlinks -v $FILE13 $FILE13 /target_dset2 /softlink_dset1_1
# softlink vs softlink"
-TOOLTEST h5diff_403.txt --follow-links -v $FILE13 $FILE13 /softlink_dset1_1 /softlink_dset2
+TOOLTEST h5diff_403.txt --follow-symlinks -v $FILE13 $FILE13 /softlink_dset1_1 /softlink_dset2
# extlink vs extlink (FILE)"
-TOOLTEST h5diff_404.txt --follow-links -v $FILE15 $FILE15
+TOOLTEST h5diff_404.txt --follow-symlinks -v $FILE15 $FILE15
# extlink vs dset"
-TOOLTEST h5diff_405.txt --follow-links -v $FILE15 $FILE16 /ext_link_dset1 /target_group2/x_dset
+TOOLTEST h5diff_405.txt --follow-symlinks -v $FILE15 $FILE16 /ext_link_dset1 /target_group2/x_dset
# dset vs extlink"
-TOOLTEST h5diff_406.txt --follow-links -v $FILE16 $FILE15 /target_group2/x_dset /ext_link_dset1
+TOOLTEST h5diff_406.txt --follow-symlinks -v $FILE16 $FILE15 /target_group2/x_dset /ext_link_dset1
# extlink vs extlink"
-TOOLTEST h5diff_407.txt --follow-links -v $FILE15 $FILE15 /ext_link_dset1 /ext_link_dset2
+TOOLTEST h5diff_407.txt --follow-symlinks -v $FILE15 $FILE15 /ext_link_dset1 /ext_link_dset2
# softlink vs extlink"
-TOOLTEST h5diff_408.txt --follow-links -v $FILE13 $FILE15 /softlink_dset1_1 /ext_link_dset2
+TOOLTEST h5diff_408.txt --follow-symlinks -v $FILE13 $FILE15 /softlink_dset1_1 /ext_link_dset2
# extlink vs softlink "
-TOOLTEST h5diff_409.txt --follow-links -v $FILE15 $FILE13 /ext_link_dset2 /softlink_dset1_1
+TOOLTEST h5diff_409.txt --follow-symlinks -v $FILE15 $FILE13 /ext_link_dset2 /softlink_dset1_1
# linked_softlink vs linked_softlink (FILE)"
-TOOLTEST h5diff_410.txt --follow-links -v $FILE14 $FILE14
+TOOLTEST h5diff_410.txt --follow-symlinks -v $FILE14 $FILE14
# dset2 vs linked_softlink_dset1"
-TOOLTEST h5diff_411.txt --follow-links -v $FILE14 $FILE14 /target_dset2 /softlink1_to_slink2
+TOOLTEST h5diff_411.txt --follow-symlinks -v $FILE14 $FILE14 /target_dset2 /softlink1_to_slink2
# linked_softlink_dset1 vs dset2"
-TOOLTEST h5diff_412.txt --follow-links -v $FILE14 $FILE14 /softlink1_to_slink2 /target_dset2
+TOOLTEST h5diff_412.txt --follow-symlinks -v $FILE14 $FILE14 /softlink1_to_slink2 /target_dset2
# linked_softlink_to_dset1 vs linked_softlink_to_dset2"
-TOOLTEST h5diff_413.txt --follow-links -v $FILE14 $FILE14 /softlink1_to_slink2 /softlink2_to_slink2
+TOOLTEST h5diff_413.txt --follow-symlinks -v $FILE14 $FILE14 /softlink1_to_slink2 /softlink2_to_slink2
# group vs linked_softlink_group1"
-TOOLTEST h5diff_414.txt --follow-links -v $FILE14 $FILE14 /target_group /softlink3_to_slink2
+TOOLTEST h5diff_414.txt --follow-symlinks -v $FILE14 $FILE14 /target_group /softlink3_to_slink2
# linked_softlink_group1 vs group"
-TOOLTEST h5diff_415.txt --follow-links -v $FILE14 $FILE14 /softlink3_to_slink2 /target_group
+TOOLTEST h5diff_415.txt --follow-symlinks -v $FILE14 $FILE14 /softlink3_to_slink2 /target_group
# linked_softlink_to_group1 vs linked_softlink_to_group2"
-TOOLTEST h5diff_416.txt --follow-links -v $FILE14 $FILE14 /softlink3_to_slink2 /softlink4_to_slink2
+TOOLTEST h5diff_416.txt --follow-symlinks -v $FILE14 $FILE14 /softlink3_to_slink2 /softlink4_to_slink2
# non-exist-softlink vs softlink"
-TOOLTEST h5diff_417.txt --follow-links -v $FILE13 $FILE13 /softlink_noexist /softlink_dset2
+TOOLTEST h5diff_417.txt --follow-symlinks -v $FILE13 $FILE13 /softlink_noexist /softlink_dset2
# softlink vs non-exist-softlink"
-TOOLTEST h5diff_418.txt --follow-links -v $FILE13 $FILE13 /softlink_dset2 /softlink_noexist
+TOOLTEST h5diff_418.txt --follow-symlinks -v $FILE13 $FILE13 /softlink_dset2 /softlink_noexist
# non-exist-extlink_file vs extlink"
-TOOLTEST h5diff_419.txt --follow-links -v $FILE15 $FILE15 /ext_link_noexist2 /ext_link_dset2
+TOOLTEST h5diff_419.txt --follow-symlinks -v $FILE15 $FILE15 /ext_link_noexist2 /ext_link_dset2
# exlink vs non-exist-extlink_file"
-TOOLTEST h5diff_420.txt --follow-links -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist2
+TOOLTEST h5diff_420.txt --follow-symlinks -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist2
# extlink vs non-exist-extlink_obj"
-TOOLTEST h5diff_421.txt --follow-links -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist1
+TOOLTEST h5diff_421.txt --follow-symlinks -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist1
# non-exist-extlink_obj vs extlink"
-TOOLTEST h5diff_422.txt --follow-links -v $FILE15 $FILE15 /ext_link_noexist1 /ext_link_dset2
+TOOLTEST h5diff_422.txt --follow-symlinks -v $FILE15 $FILE15 /ext_link_noexist1 /ext_link_dset2
# extlink_to_softlink_to_dset1 vs dset2"
-TOOLTEST h5diff_423.txt --follow-links -v $FILE17 $FILE18 /ext_link_to_slink1 /dset2
+TOOLTEST h5diff_423.txt --follow-symlinks -v $FILE17 $FILE18 /ext_link_to_slink1 /dset2
# dset2 vs extlink_to_softlink_to_dset1"
-TOOLTEST h5diff_424.txt --follow-links -v $FILE18 $FILE17 /dset2 /ext_link_to_slink1
+TOOLTEST h5diff_424.txt --follow-symlinks -v $FILE18 $FILE17 /dset2 /ext_link_to_slink1
# extlink_to_softlink_to_dset1 vs extlink_to_softlink_to_dset2"
-TOOLTEST h5diff_425.txt --follow-links -v $FILE17 $FILE17 /ext_link_to_slink1 /ext_link_to_slink2
+TOOLTEST h5diff_425.txt --follow-symlinks -v $FILE17 $FILE17 /ext_link_to_slink1 /ext_link_to_slink2
# ##############################################################################
# 19. The comparision for the two datasets between the 2 files should be the same
@@ -654,37 +662,37 @@ TOOLTEST h5diff_425.txt --follow-links -v $FILE17 $FILE17 /ext_link_to_slink1 /e
TOOLTEST h5diff_idx.txt -v $FILE19 $FILE20
# ##############################################################################
-# # Dangling links compare (--follow-links and --no-dangling-links)
+# # Dangling links compare (--follow-symlinks and --no-dangling-links)
# ##############################################################################
-# dangling links --follow-links (FILE to FILE)
-TOOLTEST h5diff_450.txt --follow-links -v $DANGLE_LINK_FILE1 $DANGLE_LINK_FILE2
+# dangling links --follow-symlinks (FILE to FILE)
+TOOLTEST h5diff_450.txt --follow-symlinks -v $DANGLE_LINK_FILE1 $DANGLE_LINK_FILE2
-# dangling links --follow-links and --no-dangling-links (FILE to FILE)
-TOOLTEST h5diff_451.txt --follow-links -v --no-dangling-links $DANGLE_LINK_FILE1 $DANGLE_LINK_FILE2
+# dangling links --follow-symlinks and --no-dangling-links (FILE to FILE)
+TOOLTEST h5diff_451.txt --follow-symlinks -v --no-dangling-links $DANGLE_LINK_FILE1 $DANGLE_LINK_FILE2
-# try --no-dangling-links without --follow-links options
+# try --no-dangling-links without --follow-symlinks options
TOOLTEST h5diff_452.txt --no-dangling-links $FILE13 $FILE13
# dangling link found for soft links (FILE to FILE)
-TOOLTEST h5diff_453.txt --follow-links -v --no-dangling-links $FILE13 $FILE13
+TOOLTEST h5diff_453.txt --follow-symlinks -v --no-dangling-links $FILE13 $FILE13
# dangling link found for soft links (obj to obj)
-TOOLTEST h5diff_454.txt --follow-links -v --no-dangling-links $FILE13 $FILE13 /softlink_dset2 /softlink_noexist
+TOOLTEST h5diff_454.txt --follow-symlinks -v --no-dangling-links $FILE13 $FILE13 /softlink_dset2 /softlink_noexist
# dangling link found for soft links (obj to obj) Both dangle links
-TOOLTEST h5diff_455.txt --follow-links -v --no-dangling-links $FILE13 $FILE13 /softlink_noexist /softlink_noexist
+TOOLTEST h5diff_455.txt --follow-symlinks -v --no-dangling-links $FILE13 $FILE13 /softlink_noexist /softlink_noexist
# dangling link found for ext links (FILE to FILE)
-TOOLTEST h5diff_456.txt --follow-links -v --no-dangling-links $FILE15 $FILE15
+TOOLTEST h5diff_456.txt --follow-symlinks -v --no-dangling-links $FILE15 $FILE15
# dangling link found for ext links (obj to obj). target file exist
-TOOLTEST h5diff_457.txt --follow-links -v --no-dangling-links $FILE15 $FILE15 /ext_link_dset1 /ext_link_noexist1
+TOOLTEST h5diff_457.txt --follow-symlinks -v --no-dangling-links $FILE15 $FILE15 /ext_link_dset1 /ext_link_noexist1
# dangling link found for ext links (obj to obj). target file NOT exist
-TOOLTEST h5diff_458.txt --follow-links -v --no-dangling-links $FILE15 $FILE15 /ext_link_dset1 /ext_link_noexist2
+TOOLTEST h5diff_458.txt --follow-symlinks -v --no-dangling-links $FILE15 $FILE15 /ext_link_dset1 /ext_link_noexist2
# dangling link found for ext links (obj to obj). Both dangle links
-TOOLTEST h5diff_459.txt --follow-links -v --no-dangling-links $FILE15 $FILE15 /ext_link_noexist1 /ext_link_noexist2
+TOOLTEST h5diff_459.txt --follow-symlinks -v --no-dangling-links $FILE15 $FILE15 /ext_link_noexist1 /ext_link_noexist2
# ##############################################################################