summaryrefslogtreecommitdiffstats
path: root/tools/h5dump
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2011-05-12 17:23:43 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2011-05-12 17:23:43 (GMT)
commita56750c9b597a737de208d9dba0133cafe0a0a68 (patch)
treec1c679fd82c811693d0452f2178600729c9551c0 /tools/h5dump
parent83703a978470d7e25a1b3ea17b2b03a8615a60e9 (diff)
downloadhdf5-a56750c9b597a737de208d9dba0133cafe0a0a68.zip
hdf5-a56750c9b597a737de208d9dba0133cafe0a0a68.tar.gz
hdf5-a56750c9b597a737de208d9dba0133cafe0a0a68.tar.bz2
[svn-r20802] Bring trunk revision 20798 to 1.8. Trunk changes passed overnight.
Tested: local linux
Diffstat (limited to 'tools/h5dump')
-rw-r--r--tools/h5dump/CMakeLists.txt27
-rw-r--r--tools/h5dump/h5dump.c10
2 files changed, 33 insertions, 4 deletions
diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt
index 9da1203..a176ba0 100644
--- a/tools/h5dump/CMakeLists.txt
+++ b/tools/h5dump/CMakeLists.txt
@@ -216,6 +216,7 @@ IF (BUILD_TESTING)
tvlstr.h5.xml
)
SET (HDF5_REFERENCE_TEST_FILES
+ h5dump-help.txt
tbin1.ddl
tbin1.ddl
tbin2.ddl
@@ -475,6 +476,29 @@ IF (BUILD_TESTING)
##############################################################################
##############################################################################
+ MACRO (ADD_HELP_TEST testname resultcode)
+ # If using memchecker add tests without using scripts
+ IF (HDF5_ENABLE_USING_MEMCHECKER)
+ ADD_TEST (NAME H5DUMP-${testname} COMMAND $<TARGET_FILE:h5dump> ${ARGN})
+ ELSE (HDF5_ENABLE_USING_MEMCHECKER)
+ ADD_TEST (
+ NAME H5DUMP-${testname}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
+ -D "TEST_ARGS:STRING=${ARGN}"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
+ -D "TEST_OUTPUT=h5dump-${testname}.out"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_REFERENCE=h5dump-${testname}.txt"
+ -P "${HDF5_RESOURCES_DIR}/runTest.cmake"
+ )
+ ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (H5DUMP-${testname} PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "H5DUMP-${testname}")
+ ENDMACRO (ADD_HELP_TEST)
+
MACRO (ADD_SKIP_H5_TEST skipresultfile skipresultcode testtype)
IF (${testtype} STREQUAL "SKIP")
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
@@ -616,6 +640,7 @@ IF (BUILD_TESTING)
NAME H5DUMP-clearall-objects
COMMAND ${CMAKE_COMMAND}
-E remove
+ h5dump-help.out
filter_fail.out
filter_fail.out.err
packedbits.out
@@ -854,6 +879,8 @@ IF (BUILD_TESTING)
ENDIF (NOT "${last_test}" STREQUAL "")
SET (last_test "H5DUMP-clearall-objects")
+ ADD_HELP_TEST(help 0 -h)
+
# test for signed/unsigned datasets
ADD_H5_TEST (packedbits 0 packedbits.h5)
# test for displaying groups
diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c
index 41a0bcc..d4d9543 100644
--- a/tools/h5dump/h5dump.c
+++ b/tools/h5dump/h5dump.c
@@ -4635,7 +4635,6 @@ main(int argc, const char *argv[])
/* Initialize h5tools lib */
h5tools_init();
if((hand = parse_command_line(argc, argv))==NULL) {
- h5tools_setstatus(EXIT_FAILURE);
goto done;
}
@@ -4844,13 +4843,16 @@ main(int argc, const char *argv[])
/* Free tables for objects */
table_list_free();
+ if(hand)
+ free_handler(hand, argc);
+
+ if(fid >=0)
if (H5Fclose(fid) < 0)
h5tools_setstatus(EXIT_FAILURE);
- if(hand)
- free_handler(hand, argc);
-
+ if(prefix)
HDfree(prefix);
+ if(fname)
HDfree(fname);
/* To Do: clean up XML table */