[svn-r22043] HDFFV-7839: Dangling link should not display error

If a link is specified on the command with the -d option, call the handle_links function on error from the H5Dopen command. 
Updated test file results with error stack when link not found.

Tested: trunk
This commit is contained in:
Allen Byrne
2012-03-12 12:23:29 -05:00
parent e6efdf9620
commit 5ffbfdee1e
19 changed files with 215 additions and 71 deletions

View File

@@ -1308,6 +1308,7 @@
./tools/testfiles/tscaleoffset.ddl
./tools/testfiles/tslink-1.ddl
./tools/testfiles/tslink-2.ddl
./tools/testfiles/tslink-D.ddl
./tools/testfiles/tslink.h5
./tools/testfiles/tsplit_file-m.h5
./tools/testfiles/tsplit_file-r.h5

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SOURCE_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# If testing was NOT enabled, then we need to build the tools library

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5COPY)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5copy and test executables

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5DIFF)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5diff executables

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5DUMP)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5dump executables
@@ -149,6 +148,7 @@ IF (BUILD_TESTING)
tshuffle.ddl
tslink-1.ddl
tslink-2.ddl
tslink-D.ddl
tsplit_file.ddl
tstr-1.ddl
tstr-2.ddl
@@ -871,6 +871,8 @@ IF (BUILD_TESTING)
tslink-1.out.err
tslink-2.out
tslink-2.out.err
tslink-D.out
tslink-D.out.err
tsplit_file.out
tsplit_file.out.err
tstr-1.out
@@ -919,19 +921,21 @@ IF (BUILD_TESTING)
# test for displaying groups
ADD_H5_TEST (tgroup-1 0 --enable-error-stack tgroup.h5)
# test for displaying the selected groups
# JIRA HDFFV-7936 ADD_H5_MASK_TEST (tgroup-2 1 --enable-error-stack --group=/g2 --group / -g /y tgroup.h5)
# cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group names are similar to version numbers
ADD_H5_TEST (tgroup-2 1 --group=/g2 --group / -g /y tgroup.h5)
# test for displaying simple space datasets
ADD_H5_TEST (tdset-1 0 --enable-error-stack tdset.h5)
# test for displaying selected datasets
ADD_H5_TEST (tdset-2 1 -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5)
ADD_H5_MASK_TEST (tdset-2 1 --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5)
# test for displaying attributes
ADD_H5_TEST (tattr-1 0 --enable-error-stack tattr.h5)
# test for displaying the selected attributes of string type and scalar space
ADD_H5_TEST (tattr-2 0 --enable-error-stack -a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5)
# test for header and error messages
ADD_H5_TEST (tattr-3 1 --header -a /attr2 --attribute=/attr tattr.h5)
ADD_H5_MASK_TEST (tattr-3 1 --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5)
# test for displaying attributes in shared datatype (also in group and dataset)
ADD_H5_TEST (tnamed_dtype_attr 0 --enable-error-stack tnamed_dtype_attr.h5)
# test for displaying at least 9 attributes on root from a be machine
@@ -943,6 +947,8 @@ IF (BUILD_TESTING)
# test for displaying the selected link
ADD_H5_TEST (tslink-2 0 --enable-error-stack -l slink2 tslink.h5)
ADD_H5_TEST (tudlink-2 0 --enable-error-stack -l udlink2 tudlink.h5)
# test for displaying dangling soft links
ADD_H5_MASK_TEST (tslink-D 0 --enable-error-stack -d /slink1 tslink.h5)
# tests for hard links
ADD_H5_TEST (thlink-1 0 --enable-error-stack thlink.h5)
@@ -965,7 +971,8 @@ IF (BUILD_TESTING)
ADD_H5_TEST (tnestcomp-1 0 --enable-error-stack tnestedcomp.h5)
# test for options
# JIRA HDFFV-7936 ADD_H5_TEST (tall-1 0 --enable-error-stack tall.h5)
# JIRA HDFFV-7936 ADD_H5_MASK_TEST (tall-1 0 --enable-error-stack tall.h5)
# cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group/dataset names are similar to version numbers
ADD_H5_TEST (tall-1 0 tall.h5)
ADD_H5_TEST (tall-2 0 --enable-error-stack --header -g /g1/g1.1 -a attr2 tall.h5)
ADD_H5_TEST (tall-3 0 --enable-error-stack -d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5)
@@ -1018,7 +1025,8 @@ IF (BUILD_TESTING)
ADD_H5_TEST (tlarge_objname 0 --enable-error-stack -w157 tlarge_objname.h5)
# test '-A' to suppress data but print attr's
# JIRA HDFFV-7936 ADD_H5_TEST (tall-2A 0 --enable-error-stack -A tall.h5)
# JIRA HDFFV-7936 ADD_H5_MASK_TEST (tall-2A 0 --enable-error-stack -A tall.h5)
# cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group/dataset names are similar to version numbers
ADD_H5_TEST (tall-2A 0 -A tall.h5)
# test '-r' to print attributes in ASCII instead of decimal
@@ -1040,7 +1048,7 @@ IF (BUILD_TESTING)
ADD_H5_TEST (tboot2 0 --enable-error-stack -B tfcontents2.h5)
# test -p with a non existing dataset
ADD_H5_TEST (tperror 1 -p -d bogus tfcontents1.h5)
ADD_H5_MASK_TEST (tperror 1 --enable-error-stack -p -d bogus tfcontents1.h5)
# test for file contents
ADD_H5_TEST (tcontents 0 --enable-error-stack -n tfcontents1.h5)
@@ -1085,10 +1093,10 @@ IF (BUILD_TESTING)
ADD_H5_TEST (tindicessub4 0 --enable-error-stack -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 taindices.h5)
# Exceed the dimensions for subsetting
ADD_H5_TEST (texceedsubstart 1 -d 1d -s 1,3 taindices.h5)
ADD_H5_TEST (texceedsubcount 1 -d 1d -c 1,3 taindices.h5)
ADD_H5_TEST (texceedsubstride 1 -d 1d -S 1,3 taindices.h5)
ADD_H5_TEST (texceedsubblock 1 -d 1d -k 1,3 taindices.h5)
ADD_H5_TEST (texceedsubstart 1 --enable-error-stack -d 1d -s 1,3 taindices.h5)
ADD_H5_TEST (texceedsubcount 1 --enable-error-stack -d 1d -c 1,3 taindices.h5)
ADD_H5_TEST (texceedsubstride 1 --enable-error-stack -d 1d -S 1,3 taindices.h5)
ADD_H5_TEST (texceedsubblock 1 --enable-error-stack -d 1d -k 1,3 taindices.h5)
# tests for filters
# SZIP
@@ -1096,49 +1104,49 @@ IF (BUILD_TESTING)
IF (NOT USE_FILTER_SZIP)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_SZIP)
ADD_SKIP_H5_TEST (tszip 0 ${TESTTYPE} -H -p -d szip tfilters.h5)
ADD_SKIP_H5_TEST (tszip 0 ${TESTTYPE} --enable-error-stack -H -p -d szip tfilters.h5)
# deflate
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_DEFLATE)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_DEFLATE)
ADD_SKIP_H5_TEST (tdeflate 0 ${TESTTYPE} -H -p -d deflate tfilters.h5)
ADD_SKIP_H5_TEST (tdeflate 0 ${TESTTYPE} --enable-error-stack -H -p -d deflate tfilters.h5)
# shuffle
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_SHUFFLE)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_SHUFFLE)
ADD_SKIP_H5_TEST (tshuffle 0 ${TESTTYPE} -H -p -d shuffle tfilters.h5)
ADD_SKIP_H5_TEST (tshuffle 0 ${TESTTYPE} --enable-error-stack -H -p -d shuffle tfilters.h5)
# fletcher32
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_FLETCHER32)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_FLETCHER32)
ADD_SKIP_H5_TEST (tfletcher32 0 ${TESTTYPE} -H -p -d fletcher32 tfilters.h5)
ADD_SKIP_H5_TEST (tfletcher32 0 ${TESTTYPE} --enable-error-stack -H -p -d fletcher32 tfilters.h5)
# nbit
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_NBIT)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_NBIT)
ADD_SKIP_H5_TEST (tnbit 0 ${TESTTYPE} -H -p -d nbit tfilters.h5)
ADD_SKIP_H5_TEST (tnbit 0 ${TESTTYPE} --enable-error-stack -H -p -d nbit tfilters.h5)
# scaleoffset
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_SCALEOFFSET)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_SCALEOFFSET)
ADD_SKIP_H5_TEST (tscaleoffset 0 ${TESTTYPE} -H -p -d scaleoffset tfilters.h5)
ADD_SKIP_H5_TEST (tscaleoffset 0 ${TESTTYPE} --enable-error-stack -H -p -d scaleoffset tfilters.h5)
# all
SET (TESTTYPE "TEST")
IF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
SET (TESTTYPE "SKIP")
ENDIF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
ADD_SKIP_H5_TEST (tallfilters 0 ${TESTTYPE} -H -p -d all tfilters.h5)
ADD_SKIP_H5_TEST (tallfilters 0 ${TESTTYPE} --enable-error-stack -H -p -d all tfilters.h5)
# user defined
ADD_H5_TEST (tuserfilter 0 --enable-error-stack -H -p -d myfilter tfilters.h5)
@@ -1274,8 +1282,7 @@ IF (BUILD_TESTING)
ADD_H5_TEST (textlinkfar 0 textlinkfar.h5)
# test for dangling external links
# JIRA HDFFV-7936 ADD_H5_TEST (textlink 0 --enable-error-stack textlink.h5)
ADD_H5_TEST (textlink 0 textlink.h5)
ADD_H5_MASK_TEST (textlink 0 --enable-error-stack textlink.h5)
# test for error stack display (BZ2048)
ADD_H5_MASK_TEST (filter_fail 1 --enable-error-stack filter_fail.h5)
@@ -1405,7 +1412,7 @@ IF (BUILD_TESTING)
# test failure handling
# Missing file name
ADD_H5_TEST (tnofilename-with-packed-bits 1)
ADD_H5_TEST (tnofilename-with-packed-bits 1 --enable-error-stack)
# Limits:
# Maximum number of packed bits is 8 (for now).
# Maximum integer size is 8*sizeof(long long).
@@ -1464,23 +1471,23 @@ IF (BUILD_TESTING)
ADD_H5_TEST (tpbitsArray 0 --enable-error-stack -d /Dataset1 -M 0,1,1,1 tarray1.h5)
# Test Error handling.
# Too many packed bits requested. Max is 8 for now.
ADD_H5_TEST (tpbitsMaxExceeded 1 -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5)
ADD_H5_TEST (tpbitsMaxExceeded 1 --enable-error-stack -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5)
# Offset too large. Max is 8*sizeof(long long.
ADD_H5_TEST (tpbitsOffsetExceeded 1 -d /DS08BITS -M 64,1 packedbits.h5)
ADD_H5_TEST (tpbitsOffsetExceeded 1 --enable-error-stack -d /DS08BITS -M 64,1 packedbits.h5)
ADD_H5_TEST (tpbitsCharOffsetExceeded 0 --enable-error-stack -d /DS08BITS -M 8,1 packedbits.h5)
ADD_H5_TEST (tpbitsIntOffsetExceeded 0 --enable-error-stack -d /DS16BITS -M 16,1 packedbits.h5)
ADD_H5_TEST (tpbitsLongOffsetExceeded 0 --enable-error-stack -d /DS32BITS -M 32,1 packedbits.h5)
# Bad offset, must not be negative.
ADD_H5_TEST (tpbitsOffsetNegative 1 -d /DS08BITS -M -1,1 packedbits.h5)
ADD_H5_TEST (tpbitsOffsetNegative 1 --enable-error-stack -d /DS08BITS -M -1,1 packedbits.h5)
# Bad length, must not be positive.
ADD_H5_TEST (tpbitsLengthPositive 1 -d /DS08BITS -M 4,0 packedbits.h5)
ADD_H5_TEST (tpbitsLengthPositive 1 --enable-error-stack -d /DS08BITS -M 4,0 packedbits.h5)
# Offset+Length is too large. Max is 8*sizeof(long long).
ADD_H5_TEST (tpbitsLengthExceeded 1 -d /DS08BITS -M 37,28 packedbits.h5)
ADD_H5_TEST (tpbitsLengthExceeded 1 --enable-error-stack -d /DS08BITS -M 37,28 packedbits.h5)
ADD_H5_TEST (tpbitsCharLengthExceeded 0 --enable-error-stack -d /DS08BITS -M 2,7 packedbits.h5)
ADD_H5_TEST (tpbitsIntLengthExceeded 0 --enable-error-stack -d /DS16BITS -M 10,7 packedbits.h5)
ADD_H5_TEST (tpbitsLongLengthExceeded 0 --enable-error-stack -d /DS32BITS -M 26,7 packedbits.h5)
# Incomplete pair of packed bits request.
ADD_H5_TEST (tpbitsIncomplete 1 -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5)
ADD_H5_TEST (tpbitsIncomplete 1 --enable-error-stack -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5)
IF (HDF5_ENABLE_USING_MEMCHECKER)
# Remove any output file left over from previous test run

View File

@@ -1460,13 +1460,7 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis
if((dsetid = H5Dopen2(fid, dset, H5P_DEFAULT)) < 0) {
if (pe) {
HDfprintf(rawoutstream, "\n");
begin_obj(h5tools_dump_header_format->datasetbegin, real_name, h5tools_dump_header_format->datasetblockbegin);
HDfprintf(rawoutstream, "\n");
indentation(COL);
error_msg("unable to open dataset \"%s\"\n", real_name);
end_obj(h5tools_dump_header_format->datasetend, h5tools_dump_header_format->datasetblockend);
h5tools_setstatus(EXIT_FAILURE);
handle_links(fid, dset, data, pe, display_name);
}
return;
} /* end if */

View File

@@ -264,6 +264,7 @@ $SRC_H5DUMP_TESTFILES/tscaleoffset.ddl
$SRC_H5DUMP_TESTFILES/tshuffle.ddl
$SRC_H5DUMP_TESTFILES/tslink-1.ddl
$SRC_H5DUMP_TESTFILES/tslink-2.ddl
$SRC_H5DUMP_TESTFILES/tslink-D.ddl
$SRC_H5DUMP_TESTFILES/tsplit_file.ddl
$SRC_H5DUMP_TESTFILES/tstr-1.ddl
$SRC_H5DUMP_TESTFILES/tstr-2.ddl
@@ -710,14 +711,14 @@ TOOLTEST tgroup-2.ddl --group=/g2 --group / -g /y tgroup.h5
# test for displaying simple space datasets
TOOLTEST tdset-1.ddl --enable-error-stack tdset.h5
# test for displaying selected datasets
TOOLTEST tdset-2.ddl -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5
TOOLTEST3 tdset-2.ddl --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5
# test for displaying attributes
TOOLTEST tattr-1.ddl --enable-error-stack tattr.h5
# test for displaying the selected attributes of string type and scalar space
TOOLTEST tattr-2.ddl --enable-error-stack -a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5
# test for header and error messages
TOOLTEST tattr-3.ddl --header -a /attr2 --attribute=/attr tattr.h5
TOOLTEST3 tattr-3.ddl --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5
# test for displaying at least 9 attributes on root from a BE machine
TOOLTEST tattr-4_be.ddl --enable-error-stack tattr4_be.h5
# test for displaying attributes in shared datatype (also in group and dataset)
@@ -729,6 +730,8 @@ TOOLTEST tudlink-1.ddl --enable-error-stack tudlink.h5
# test for displaying the selected link
TOOLTEST tslink-2.ddl --enable-error-stack -l slink2 tslink.h5
TOOLTEST tudlink-2.ddl --enable-error-stack -l udlink2 tudlink.h5
# test for displaying dangling soft links
TOOLTEST3 tslink-D.ddl --enable-error-stack -d /slink1 tslink.h5
# tests for hard links
TOOLTEST thlink-1.ddl --enable-error-stack thlink.h5
@@ -825,9 +828,10 @@ TOOLTEST tchar1.ddl --enable-error-stack -r tchar.h5
# tests for super block
TOOLTEST tboot1.ddl --enable-error-stack -H -B -d dset tfcontents1.h5
TOOLTEST tboot2.ddl --enable-error-stack -B tfcontents2.h5
TOOLTEST file_space.ddl --enable-error-stack -B file_space.h5
# test -p with a non existing dataset
TOOLTEST tperror.ddl -p -d bogus tfcontents1.h5
TOOLTEST3 tperror.ddl --enable-error-stack -p -d bogus tfcontents1.h5
# test for file contents
TOOLTEST tcontents.ddl --enable-error-stack -n tfcontents1.h5
@@ -872,57 +876,57 @@ TOOLTEST tindicessub3.ddl --enable-error-stack -d 3d -s 0,1,2 -S 1,3,3 -c 2,2,2
TOOLTEST tindicessub4.ddl --enable-error-stack -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 taindices.h5
#Exceed the dimensions for subsetting
TOOLTEST texceedsubstart.ddl -d 1d -s 1,3 taindices.h5
TOOLTEST texceedsubcount.ddl -d 1d -c 1,3 taindices.h5
TOOLTEST texceedsubstride.ddl -d 1d -S 1,3 taindices.h5
TOOLTEST texceedsubblock.ddl -d 1d -k 1,3 taindices.h5
TOOLTEST texceedsubstart.ddl --enable-error-stack -d 1d -s 1,3 taindices.h5
TOOLTEST texceedsubcount.ddl --enable-error-stack -d 1d -c 1,3 taindices.h5
TOOLTEST texceedsubstride.ddl --enable-error-stack -d 1d -S 1,3 taindices.h5
TOOLTEST texceedsubblock.ddl --enable-error-stack -d 1d -k 1,3 taindices.h5
# tests for filters
# SZIP
option="-H -p -d szip tfilters.h5"
option="--enable-error-stack -H -p -d szip tfilters.h5"
if test $USE_FILTER_SZIP != "yes"; then
SKIP $option
else
TOOLTEST tszip.ddl $option
fi
# deflate
option="-H -p -d deflate tfilters.h5"
option="--enable-error-stack -H -p -d deflate tfilters.h5"
if test $USE_FILTER_DEFLATE != "yes"; then
SKIP $option
else
TOOLTEST tdeflate.ddl $option
fi
# shuffle
option="-H -p -d shuffle tfilters.h5"
option="--enable-error-stack -H -p -d shuffle tfilters.h5"
if test $USE_FILTER_SHUFFLE != "yes"; then
SKIP $option
else
TOOLTEST tshuffle.ddl $option
fi
# fletcher32
option="-H -p -d fletcher32 tfilters.h5"
option="--enable-error-stack -H -p -d fletcher32 tfilters.h5"
if test $USE_FILTER_FLETCHER32 != "yes"; then
SKIP $option
else
TOOLTEST tfletcher32.ddl $option
fi
# nbit
option="-H -p -d nbit tfilters.h5"
option="--enable-error-stack -H -p -d nbit tfilters.h5"
if test $USE_FILTER_NBIT != "yes"; then
SKIP $option
else
TOOLTEST tnbit.ddl $option
fi
# scaleoffset
option="-H -p -d scaleoffset tfilters.h5"
option="--enable-error-stack -H -p -d scaleoffset tfilters.h5"
if test $USE_FILTER_SCALEOFFSET != "yes"; then
SKIP $option
else
TOOLTEST tscaleoffset.ddl $option
fi
# all
option="-H -p -d all tfilters.h5"
option="--enable-error-stack -H -p -d all tfilters.h5"
if test $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_NBIT != "yes" -o $USE_FILTER_SCALEOFFSET != "yes"; then
SKIP $option
else
@@ -1019,7 +1023,7 @@ TOOLTEST textlinkfar.ddl textlinkfar.h5
# test for dangling external links
# JIRA HDFFV-7936 TOOLTEST textlink.ddl --enable-error-stack textlink.h5
TOOLTEST textlink.ddl textlink.h5
TOOLTEST3 textlink.ddl --enable-error-stack textlink.h5
# test for error stack display (BZ2048)
TOOLTEST3 filter_fail.ddl --enable-error-stack filter_fail.h5
@@ -1031,7 +1035,7 @@ TOOLTEST tall-6.ddl --enable-error-stack -y -o data -d /g1/g1.1/dset1.1.1 tall.h
# test failure handling
# Missing file name
TOOLTEST tnofilename-with-packed-bits.ddl
TOOLTEST tnofilename-with-packed-bits.ddl --enable-error-stack
# Limits:
# Maximum number of packed bits is 8 (for now).
# Maximum integer size is 64 (for now).
@@ -1090,23 +1094,23 @@ TOOLTEST tpbitsCompound.ddl --enable-error-stack -d /dset1 -M 0,1,1,1 tcompound.
TOOLTEST tpbitsArray.ddl --enable-error-stack -d /Dataset1 -M 0,1,1,1 tarray1.h5
# Test Error handling.
# Too many packed bits requested. Max is 8 for now.
TOOLTEST tpbitsMaxExceeded.ddl -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5
TOOLTEST tpbitsMaxExceeded.ddl --enable-error-stack -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5
# Offset too large. Max is 7 (8-1) for now.
TOOLTEST tpbitsOffsetExceeded.ddl -d /DS08BITS -M 64,1 packedbits.h5
TOOLTEST tpbitsOffsetExceeded.ddl --enable-error-stack -d /DS08BITS -M 64,1 packedbits.h5
TOOLTEST tpbitsCharOffsetExceeded.ddl --enable-error-stack -d /DS08BITS -M 8,1 packedbits.h5
TOOLTEST tpbitsIntOffsetExceeded.ddl --enable-error-stack -d /DS16BITS -M 16,1 packedbits.h5
TOOLTEST tpbitsLongOffsetExceeded.ddl --enable-error-stack -d /DS32BITS -M 32,1 packedbits.h5
# Bad offset, must not be negative.
TOOLTEST tpbitsOffsetNegative.ddl -d /DS08BITS -M -1,1 packedbits.h5
TOOLTEST tpbitsOffsetNegative.ddl --enable-error-stack -d /DS08BITS -M -1,1 packedbits.h5
# Bad length, must not be positive.
TOOLTEST tpbitsLengthPositive.ddl -d /DS08BITS -M 4,0 packedbits.h5
TOOLTEST tpbitsLengthPositive.ddl --enable-error-stack -d /DS08BITS -M 4,0 packedbits.h5
# Offset+Length is too large. Max is 8 for now.
TOOLTEST tpbitsLengthExceeded.ddl -d /DS08BITS -M 37,28 packedbits.h5
TOOLTEST tpbitsLengthExceeded.ddl --enable-error-stack -d /DS08BITS -M 37,28 packedbits.h5
TOOLTEST tpbitsCharLengthExceeded.ddl --enable-error-stack -d /DS08BITS -M 2,7 packedbits.h5
TOOLTEST tpbitsIntLengthExceeded.ddl --enable-error-stack -d /DS16BITS -M 10,7 packedbits.h5
TOOLTEST tpbitsLongLengthExceeded.ddl --enable-error-stack -d /DS32BITS -M 26,7 packedbits.h5
# Incomplete pair of packed bits request.
TOOLTEST tpbitsIncomplete.ddl -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5
TOOLTEST tpbitsIncomplete.ddl --enable-error-stack -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5
# Report test results and exit

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5IMPORT)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5import executables

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5JAM)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5jam executables

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5LS)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
#-----------------------------------------------------------------------------
# Add the h5ls executable

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_H5STAT)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the h5stat executables

View File

@@ -4,8 +4,6 @@ PROJECT (HDF5_TOOLS_LIB)
#-----------------------------------------------------------------------------
# Define Sources
#-----------------------------------------------------------------------------
#INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
#INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
SET (H5_TOOLS_LIB_SRCS
${HDF5_TOOLS_LIB_SOURCE_DIR}/h5diff.c

View File

@@ -5,7 +5,6 @@ PROJECT (HDF5_TOOLS_MISC)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
# --------------------------------------------------------------------
# Add the misc executables

View File

@@ -6,4 +6,11 @@ ATTRIBUTE "/attr2" {
ATTRIBUTE "/attr" {
}
}
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Aopen(): unable to load attribute info from object header for attribute: 'attr'
major: Attribute
minor: Unable to initialize object
#001: (file name) line (number) in H5O_attr_open_by_name(): can't locate attribute: 'attr'
major: Attribute
minor: Object not found
h5dump error: unable to open attribute "/attr"

View File

@@ -7,7 +7,37 @@ DATASET "/dset2" {
DATATYPE H5T_IEEE_F64BE
DATASPACE SIMPLE { ( 30, 20 ) / ( 30, 20 ) }
}
DATASET "dset3" {
}
}
h5dump error: unable to open dataset "dset3"
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Dopen2(): not found
major: Dataset
minor: Object not found
#001: (file name) line (number) in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#002: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#004: (file name) line (number) in H5G_loc_find_cb(): object 'dset3' doesn't exist
major: Symbol table
minor: Object not found
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Lget_info(): unable to get link info
major: Symbol table
minor: Object not found
#001: (file name) line (number) in H5L_get_info(): name doesn't exist
major: Symbol table
minor: Object already exists
#002: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist
major: Symbol table
minor: Object not found
h5dump error: unable to get link info from "dset3"

View File

@@ -10,3 +10,53 @@ GROUP "/" {
}
}
}
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Oopen(): unable to open object
major: Symbol table
minor: Can't open object
#001: (file name) line (number) in H5O_open_name(): object not found
major: Symbol table
minor: Object not found
#002: (file name) line (number) in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#004: (file name) line (number) in H5G_traverse_real(): special link traversal failed
major: Links
minor: Link traversal failure
#005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed
major: Links
minor: Link traversal failure
#006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID
major: Symbol table
minor: Unable to find atom information (already closed?)
#007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'filename', temp_file_name = 'filename'
major: Links
minor: Unable to open file
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Oopen(): unable to open object
major: Symbol table
minor: Can't open object
#001: (file name) line (number) in H5O_open_name(): object not found
major: Symbol table
minor: Object not found
#002: (file name) line (number) in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#004: (file name) line (number) in H5G_traverse_real(): special link traversal failed
major: Links
minor: Link traversal failure
#005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed
major: Links
minor: Link traversal failure
#006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID
major: Symbol table
minor: Unable to find atom information (already closed?)
#007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'anotherfile', temp_file_name = 'anotherfile'
major: Links
minor: Unable to open file

View File

@@ -94,3 +94,4 @@ usage: h5dump [OPTIONS] file
h5dump -d /dset -M 0,1,4,3 quux.h5
h5dump error: missing file name

View File

@@ -1,5 +1,35 @@
HDF5 "tfcontents1.h5" {
DATASET "bogus" {
}
}
h5dump error: unable to open dataset "bogus"
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Dopen2(): not found
major: Dataset
minor: Object not found
#001: (file name) line (number) in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#002: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#004: (file name) line (number) in H5G_loc_find_cb(): object 'bogus' doesn't exist
major: Symbol table
minor: Object not found
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Lget_info(): unable to get link info
major: Symbol table
minor: Object not found
#001: (file name) line (number) in H5L_get_info(): name doesn't exist
major: Symbol table
minor: Object already exists
#002: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist
major: Symbol table
minor: Object not found
h5dump error: unable to get link info from "bogus"

View File

@@ -0,0 +1,30 @@
HDF5 "tslink.h5" {
SOFTLINK "/slink1" {
LINKTARGET "somevalue"
}
}
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Dopen2(): not found
major: Dataset
minor: Object not found
#001: (file name) line (number) in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#002: (file name) line (number) in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#003: (file name) line (number) in H5G_traverse_real(): special link traversal failed
major: Links
minor: Link traversal failure
#004: (file name) line (number) in H5G__traverse_special(): symbolic link traversal failed
major: Links
minor: Link traversal failure
#005: (file name) line (number) in H5G_traverse_slink(): unable to follow symbolic link
major: Symbol table
minor: Object not found
#006: (file name) line (number) in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#007: (file name) line (number) in H5G_traverse_slink_cb(): component not found
major: Symbol table
minor: Object not found