From 2e3ab09a520ff87ec709b5997273ce7f3b99d9ed Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Mon, 16 Jul 2012 13:21:05 -0500 Subject: [svn-r22581] HDFFV-588: hdump restrictions on filename for split files. Added text and example to usage. Tested: local linux --- CMakeLists.txt | 1 + tools/h5dump/h5dump.c | 26 ++++++++++++++++++------ tools/testfiles/h5dump-help.txt | 26 ++++++++++++++++++------ tools/testfiles/tnofilename-with-packed-bits.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsIncomplete.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsLengthExceeded.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsLengthPositive.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsMaxExceeded.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsOffsetExceeded.ddl | 26 ++++++++++++++++++------ tools/testfiles/tpbitsOffsetNegative.ddl | 26 ++++++++++++++++++------ 10 files changed, 181 insertions(+), 54 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 810ba1b..0346ff3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -984,6 +984,7 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES) SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${HDF5_PACKAGE_VERSION}") ELSE (WIN32) SET (CPACK_PACKAGING_INSTALL_PREFIX "/usr") + SET (CPACK_ARCHIVE_COMPONENT_INSTALL ON) SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON) SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index 15d862e..23fd1d9 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -297,10 +297,20 @@ usage(const char *prog) HDfprintf(rawoutstream, " number of dimensions in the dataspace being queried\n"); HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " D - is the file driver to use in opening the file. Acceptable values\n"); - HDfprintf(rawoutstream, " are \"sec2\", \"family\", \"split\", \"multi\", \"direct\", and \"stream\". Without\n"); - HDfprintf(rawoutstream, " the file driver flag, the file will be opened with each driver in\n"); - HDfprintf(rawoutstream, " turn and in the order specified above until one driver succeeds\n"); - HDfprintf(rawoutstream, " in opening the file.\n"); + HDfprintf(rawoutstream, " are \"sec2\", \"family\", \"split\", \"multi\", \"direct\", and \"stream\". Without\n"); + HDfprintf(rawoutstream, " the file driver flag, the file will be opened with each driver in\n"); + HDfprintf(rawoutstream, " turn and in the order specified above until one driver succeeds\n"); + HDfprintf(rawoutstream, " in opening the file.\n"); + HDfprintf(rawoutstream, " These are the letters that are appended to the file name(without .h5) when opening\n"); + HDfprintf(rawoutstream, " names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are:\n"); + HDfprintf(rawoutstream, " m: All meta data when using the split driver.\n"); + HDfprintf(rawoutstream, " s: The userblock, superblock, and driver info block\n"); + HDfprintf(rawoutstream, " b: B-tree nodes\n"); + HDfprintf(rawoutstream, " r: Dataset raw data\n"); + HDfprintf(rawoutstream, " g: Global heap\n"); + HDfprintf(rawoutstream, " l: local heap (object names)\n"); + HDfprintf(rawoutstream, " o: object headers\n"); + HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " F - is a filename.\n"); HDfprintf(rawoutstream, " P - is the full path from the root group to the object.\n"); HDfprintf(rawoutstream, " N - is an integer greater than 1.\n"); @@ -337,9 +347,13 @@ usage(const char *prog) HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " h5dump -d /dset -M 0,1,4,3 quux.h5\n"); HDfprintf(rawoutstream, "\n"); - HDfprintf(rawoutstream, " 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5\n"); + HDfprintf(rawoutstream, " 5) Dataset foo in files file1.h5 file2.h5 file3.h5\n"); + HDfprintf(rawoutstream, "\n"); + HDfprintf(rawoutstream, " h5dump -d /foo file1.h5 file2.h5 file3.h5\n"); + HDfprintf(rawoutstream, "\n"); + HDfprintf(rawoutstream, " 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5\n"); HDfprintf(rawoutstream, "\n"); - HDfprintf(rawoutstream, " h5dump -d /foo multi1.h5 multi2.h5 multi3.h5\n"); + HDfprintf(rawoutstream, " h5dump -d /foo -f split splitfile\n"); HDfprintf(rawoutstream, "\n"); } diff --git a/tools/testfiles/h5dump-help.txt b/tools/testfiles/h5dump-help.txt index 43808e7..5e0a8f1 100644 --- a/tools/testfiles/h5dump-help.txt +++ b/tools/testfiles/h5dump-help.txt @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,7 +112,11 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile diff --git a/tools/testfiles/tnofilename-with-packed-bits.ddl b/tools/testfiles/tnofilename-with-packed-bits.ddl index f74483f..a82c94e 100644 --- a/tools/testfiles/tnofilename-with-packed-bits.ddl +++ b/tools/testfiles/tnofilename-with-packed-bits.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: missing file name diff --git a/tools/testfiles/tpbitsIncomplete.ddl b/tools/testfiles/tpbitsIncomplete.ddl index 31a386d..72d54fc 100644 --- a/tools/testfiles/tpbitsIncomplete.ddl +++ b/tools/testfiles/tpbitsIncomplete.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Bad mask list(0,2,2,1,0,2,2,) diff --git a/tools/testfiles/tpbitsLengthExceeded.ddl b/tools/testfiles/tpbitsLengthExceeded.ddl index b2ab900..d8b627c 100644 --- a/tools/testfiles/tpbitsLengthExceeded.ddl +++ b/tools/testfiles/tpbitsLengthExceeded.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit offset+length value(65) too large. Max is 64 diff --git a/tools/testfiles/tpbitsLengthPositive.ddl b/tools/testfiles/tpbitsLengthPositive.ddl index 2140ab7..39cef23 100644 --- a/tools/testfiles/tpbitsLengthPositive.ddl +++ b/tools/testfiles/tpbitsLengthPositive.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit length value(0) must be positive. diff --git a/tools/testfiles/tpbitsMaxExceeded.ddl b/tools/testfiles/tpbitsMaxExceeded.ddl index 598b2cd..5f35825 100644 --- a/tools/testfiles/tpbitsMaxExceeded.ddl +++ b/tools/testfiles/tpbitsMaxExceeded.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Too many masks requested (max. 8). Mask list(0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1) diff --git a/tools/testfiles/tpbitsOffsetExceeded.ddl b/tools/testfiles/tpbitsOffsetExceeded.ddl index a8192e9..92cc816 100644 --- a/tools/testfiles/tpbitsOffsetExceeded.ddl +++ b/tools/testfiles/tpbitsOffsetExceeded.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit offset value(64) must be between 0 and 63 diff --git a/tools/testfiles/tpbitsOffsetNegative.ddl b/tools/testfiles/tpbitsOffsetNegative.ddl index 60e31ec..c318834 100644 --- a/tools/testfiles/tpbitsOffsetNegative.ddl +++ b/tools/testfiles/tpbitsOffsetNegative.ddl @@ -62,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -102,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Bad mask list(-1,1) -- cgit v0.12