diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2008-10-16 03:52:16 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2008-10-16 03:52:16 (GMT) |
commit | ad28fa5b0c1384fe70397fb2eaa83e2a6e62699d (patch) | |
tree | a71c5b86d440ffdb059864d75e35e3c41102a01b /tools/testfiles | |
parent | 273f31211ed4725fde9e7b5b35a884d3f2359246 (diff) | |
download | hdf5-ad28fa5b0c1384fe70397fb2eaa83e2a6e62699d.zip hdf5-ad28fa5b0c1384fe70397fb2eaa83e2a6e62699d.tar.gz hdf5-ad28fa5b0c1384fe70397fb2eaa83e2a6e62699d.tar.bz2 |
[svn-r15886] Purpose: Close bug 1332
Description: Improved external link traversal of h5dump. h5dump will now
properly avoid all cycles, even those spanning multiple files. Improvement
to the output of committed datatypes. Committed datatypes are now checked
for uniqueness (like other objects). Tests added for these cases.
Tested: kagiso, linew, smirom (h5committest)
Diffstat (limited to 'tools/testfiles')
-rw-r--r-- | tools/testfiles/textlinkfar.ddl | 69 | ||||
-rw-r--r-- | tools/testfiles/textlinkfar.h5 | bin | 0 -> 888 bytes | |||
-rw-r--r-- | tools/testfiles/textlinksrc-1.ls | 2 | ||||
-rw-r--r-- | tools/testfiles/textlinksrc-3.ls | 2 | ||||
-rw-r--r-- | tools/testfiles/textlinksrc.ddl | 60 | ||||
-rw-r--r-- | tools/testfiles/textlinktar.h5 | bin | 5664 -> 6752 bytes | |||
-rw-r--r-- | tools/testfiles/thlink.h5.xml | 4 | ||||
-rw-r--r-- | tools/testfiles/tmany.h5.xml | 4 | ||||
-rw-r--r-- | tools/testfiles/tnamed_dtype_attr.ddl | 4 | ||||
-rw-r--r-- | tools/testfiles/tnamed_dtype_attr.h5 | bin | 2304 -> 2304 bytes | |||
-rw-r--r-- | tools/testfiles/tnamed_dtype_attr.h5.xml | 15 | ||||
-rw-r--r-- | tools/testfiles/torderattr1.ddl | 4 | ||||
-rw-r--r-- | tools/testfiles/torderattr2.ddl | 4 | ||||
-rw-r--r-- | tools/testfiles/torderattr3.ddl | 4 | ||||
-rw-r--r-- | tools/testfiles/torderattr4.ddl | 4 | ||||
-rw-r--r-- | tools/testfiles/tvlstr.ddl | 2 |
16 files changed, 158 insertions, 20 deletions
diff --git a/tools/testfiles/textlinkfar.ddl b/tools/testfiles/textlinkfar.ddl new file mode 100644 index 0000000..4151710 --- /dev/null +++ b/tools/testfiles/textlinkfar.ddl @@ -0,0 +1,69 @@ +############################# +Expected output for 'h5dump textlinkfar.h5' +############################# +HDF5 "textlinkfar.h5" { +GROUP "/" { + EXTERNAL_LINK "src_file" { + TARGETFILE "textlinksrc.h5" + TARGETPATH "/" + GROUP "/" { + EXTERNAL_LINK "ext_link1" { + TARGETFILE "textlinktar.h5" + TARGETPATH "group" + GROUP "group" { + DATASET "dset" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 6 ) / ( 6 ) } + DATA { + (0): 1, 2, 3, 4, 5, 6 + } + } + EXTERNAL_LINK "elink_t1" { + TARGETFILE "textlinksrc.h5" + TARGETPATH "/" + GROUP "/" { + HARDLINK "/" + } + } + EXTERNAL_LINK "elink_t2" { + TARGETFILE "textlinksrc.h5" + TARGETPATH "/ext_link4" + } + GROUP "subgroup" { + GROUP "link_to_group" { + HARDLINK "/group" + } + } + } + } + EXTERNAL_LINK "ext_link2" { + TARGETFILE "textlinktar.h5" + TARGETPATH "dset" + DATASET "dset" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 6 ) / ( 6 ) } + DATA { + (0): 1, 2, 3, 4, 5, 6 + } + } + } + EXTERNAL_LINK "ext_link3" { + TARGETFILE "textlinktar.h5" + TARGETPATH "type" + DATATYPE "type" H5T_STD_I32LE; + + } + EXTERNAL_LINK "ext_link4" { + TARGETFILE "textlinktar.h5" + TARGETPATH "group/elink_t2" + } + EXTERNAL_LINK "ext_link5" { + TARGETFILE "textlinktar.h5" + TARGETPATH "empty_group" + GROUP "empty_group" { + } + } + } + } +} +} diff --git a/tools/testfiles/textlinkfar.h5 b/tools/testfiles/textlinkfar.h5 Binary files differnew file mode 100644 index 0000000..6fb3130 --- /dev/null +++ b/tools/testfiles/textlinkfar.h5 diff --git a/tools/testfiles/textlinksrc-1.ls b/tools/testfiles/textlinksrc-1.ls index 3b0da0b..5e81dec 100644 --- a/tools/testfiles/textlinksrc-1.ls +++ b/tools/testfiles/textlinksrc-1.ls @@ -11,6 +11,8 @@ /ext_link1/elink_t1/ext_link4 External Link {textlinktar.h5//group/elink_t2} {**NOT FOUND**} /ext_link1/elink_t1/ext_link5 External Link {textlinktar.h5//empty_group} {Group} /ext_link1/elink_t2 External Link {textlinksrc.h5//ext_link4} {**NOT FOUND**} +/ext_link1/subgroup Group +/ext_link1/subgroup/link_to_group Group, same as /ext_link1 /ext_link2 External Link {textlinktar.h5//dset} {Already Visited} /ext_link3 External Link {textlinktar.h5//type} {Already Visited} /ext_link4 External Link {textlinktar.h5//group/elink_t2} {Already Visited} diff --git a/tools/testfiles/textlinksrc-3.ls b/tools/testfiles/textlinksrc-3.ls index dd9d1b1..a86ca32 100644 --- a/tools/testfiles/textlinksrc-3.ls +++ b/tools/testfiles/textlinksrc-3.ls @@ -10,3 +10,5 @@ ext_link1 External Link {textlinktar.h5//group} {Group} /elink_t1/ext_link4 External Link {textlinktar.h5//group/elink_t2} {**NOT FOUND**} /elink_t1/ext_link5 External Link {textlinktar.h5//empty_group} {Group} /elink_t2 External Link {textlinksrc.h5//ext_link4} {**NOT FOUND**} +/subgroup Group +/subgroup/link_to_group Group, same as /ext_link1 diff --git a/tools/testfiles/textlinksrc.ddl b/tools/testfiles/textlinksrc.ddl new file mode 100644 index 0000000..b806c56 --- /dev/null +++ b/tools/testfiles/textlinksrc.ddl @@ -0,0 +1,60 @@ +############################# +Expected output for 'h5dump textlinksrc.h5' +############################# +HDF5 "textlinksrc.h5" { +GROUP "/" { + EXTERNAL_LINK "ext_link1" { + TARGETFILE "textlinktar.h5" + TARGETPATH "group" + GROUP "group" { + DATASET "dset" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 6 ) / ( 6 ) } + DATA { + (0): 1, 2, 3, 4, 5, 6 + } + } + EXTERNAL_LINK "elink_t1" { + TARGETFILE "textlinksrc.h5" + TARGETPATH "/" + } + EXTERNAL_LINK "elink_t2" { + TARGETFILE "textlinksrc.h5" + TARGETPATH "/ext_link4" + } + GROUP "subgroup" { + GROUP "link_to_group" { + HARDLINK "/group" + } + } + } + } + EXTERNAL_LINK "ext_link2" { + TARGETFILE "textlinktar.h5" + TARGETPATH "dset" + DATASET "dset" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 6 ) / ( 6 ) } + DATA { + (0): 1, 2, 3, 4, 5, 6 + } + } + } + EXTERNAL_LINK "ext_link3" { + TARGETFILE "textlinktar.h5" + TARGETPATH "type" + DATATYPE "type" H5T_STD_I32LE; + + } + EXTERNAL_LINK "ext_link4" { + TARGETFILE "textlinktar.h5" + TARGETPATH "group/elink_t2" + } + EXTERNAL_LINK "ext_link5" { + TARGETFILE "textlinktar.h5" + TARGETPATH "empty_group" + GROUP "empty_group" { + } + } +} +} diff --git a/tools/testfiles/textlinktar.h5 b/tools/testfiles/textlinktar.h5 Binary files differindex bf009eb..fe33e10 100644 --- a/tools/testfiles/textlinktar.h5 +++ b/tools/testfiles/textlinktar.h5 diff --git a/tools/testfiles/thlink.h5.xml b/tools/testfiles/thlink.h5.xml index 72b7b31..c2737b9 100644 --- a/tools/testfiles/thlink.h5.xml +++ b/tools/testfiles/thlink.h5.xml @@ -31,11 +31,11 @@ Expected output for 'h5dump --xml thlink.h5' </hdf5:Dataset> <hdf5:Group Name="g1" OBJ-XID="xid_1408" H5Path="/g1" Parents="xid_96" H5ParentPaths="/" > <hdf5:Dataset Name="dset2" OBJ-XID="xid_808-1" H5Path="/g1/dset2" Parents="xid_1408" H5ParentPaths="/g1"> - <hdf5:DatasetPtr OBJ-XID="xid_808" H5Path="/g1/dset2"/> + <hdf5:DatasetPtr OBJ-XID="xid_808" H5Path="/dset1"/> </hdf5:Dataset> <hdf5:Group Name="g1.1" OBJ-XID="xid_2000" H5Path="/g1/g1.1" Parents="xid_1408" H5ParentPaths="/g1" > <hdf5:Dataset Name="dset3" OBJ-XID="xid_808-2" H5Path="/g1/g1.1/dset3" Parents="xid_2000" H5ParentPaths="/g1/g1.1"> - <hdf5:DatasetPtr OBJ-XID="xid_808" H5Path="/g1/g1.1/dset3"/> + <hdf5:DatasetPtr OBJ-XID="xid_808" H5Path="/dset1"/> </hdf5:Dataset> </hdf5:Group> </hdf5:Group> diff --git a/tools/testfiles/tmany.h5.xml b/tools/testfiles/tmany.h5.xml index 49efc51..93a0610 100644 --- a/tools/testfiles/tmany.h5.xml +++ b/tools/testfiles/tmany.h5.xml @@ -267,7 +267,7 @@ Expected output for 'h5dump --xml tmany.h5' </hdf5:Group> <hdf5:Group Name="g1.2" OBJ-XID="xid_5968" H5Path="/g1/g1.2" Parents="xid_800" H5ParentPaths="/g1" > <hdf5:Dataset Name="link1" OBJ-XID="xid_2864-1" H5Path="/g1/g1.2/link1" Parents="xid_5968" H5ParentPaths="/g1/g1.2"> - <hdf5:DatasetPtr OBJ-XID="xid_2864" H5Path="/g1/g1.2/link1"/> + <hdf5:DatasetPtr OBJ-XID="xid_2864" H5Path="/g1/g1.1/dset1"/> </hdf5:Dataset> </hdf5:Group> </hdf5:Group> @@ -313,7 +313,7 @@ Expected output for 'h5dump --xml tmany.h5' </hdf5:Group> <hdf5:Group Name="g4" OBJ-XID="xid_10784" H5Path="/g4" Parents="xid_96" H5ParentPaths="/" > <hdf5:Dataset Name="dset2" OBJ-XID="xid_11488-2" H5Path="/g4/dset2" Parents="xid_10784" H5ParentPaths="/g4"> - <hdf5:DatasetPtr OBJ-XID="xid_11488" H5Path="/g4/dset2"/> + <hdf5:DatasetPtr OBJ-XID="xid_11488" H5Path="/g3/link3"/> </hdf5:Dataset> </hdf5:Group> <hdf5:Group Name="g5" OBJ-XID="xid_8416" H5Path="/g5" Parents="xid_96" H5ParentPaths="/" > diff --git a/tools/testfiles/tnamed_dtype_attr.ddl b/tools/testfiles/tnamed_dtype_attr.ddl index 391abf8..4ef3158 100644 --- a/tools/testfiles/tnamed_dtype_attr.ddl +++ b/tools/testfiles/tnamed_dtype_attr.ddl @@ -17,7 +17,7 @@ GROUP "/" { } } } - DATATYPE "Datatype" H5T_STD_I32LE; + DATATYPE "Datatype" H5T_STD_I32LE; ATTRIBUTE "Attribute" { DATATYPE H5T_STD_I32LE DATASPACE SCALAR @@ -26,6 +26,8 @@ GROUP "/" { } } + DATATYPE "Link_to_Datatype" HARDLINK "/Datatype" + GROUP "g1" { ATTRIBUTE "Attribute" { DATATYPE "/Datatype" diff --git a/tools/testfiles/tnamed_dtype_attr.h5 b/tools/testfiles/tnamed_dtype_attr.h5 Binary files differindex 9be537c..e7bf23d 100644 --- a/tools/testfiles/tnamed_dtype_attr.h5 +++ b/tools/testfiles/tnamed_dtype_attr.h5 diff --git a/tools/testfiles/tnamed_dtype_attr.h5.xml b/tools/testfiles/tnamed_dtype_attr.h5.xml index 0b9ceae..2e3cfa3 100644 --- a/tools/testfiles/tnamed_dtype_attr.h5.xml +++ b/tools/testfiles/tnamed_dtype_attr.h5.xml @@ -4,7 +4,7 @@ Expected output for 'h5dump --xml tnamed_dtype_attr.h5' <?xml version="1.0" encoding="UTF-8"?> <hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd"> <hdf5:RootGroup OBJ-XID="xid_96" H5Path="/"> - <hdf5:Dataset Name="Dataset" OBJ-XID="xid_1264" H5Path= "/Dataset" Parents="xid_96" H5ParentPaths="/"> + <hdf5:Dataset Name="Dataset" OBJ-XID="xid_1256" H5Path= "/Dataset" Parents="xid_96" H5ParentPaths="/"> <hdf5:StorageLayout> <hdf5:ContiguousLayout/> </hdf5:StorageLayout> @@ -16,12 +16,12 @@ Expected output for 'h5dump --xml tnamed_dtype_attr.h5' <hdf5:Dataspace> <hdf5:ScalarDataspace /> </hdf5:Dataspace> - <hdf5:NamedDataTypePtr OBJ-XID="xid_792" H5Path="/Datatype" /> + <hdf5:NamedDataTypePtr OBJ-XID="xid_800" H5Path="/Datatype" /> <hdf5:Attribute Name="Attribute"> <hdf5:Dataspace> <hdf5:ScalarDataspace /> </hdf5:Dataspace> - <hdf5:NamedDataTypePtr OBJ-XID="xid_792" H5Path="/Datatype" /> + <hdf5:NamedDataTypePtr OBJ-XID="xid_800" H5Path="/Datatype" /> <hdf5:Data> <hdf5:DataFromFile> 8 @@ -32,19 +32,22 @@ Expected output for 'h5dump --xml tnamed_dtype_attr.h5' <hdf5:NoData/> </hdf5:Data> </hdf5:Dataset> - <hdf5:NamedDataType Name="Datatype" OBJ-XID="xid_792" H5Path="/Datatype" Parents="xid_96" H5ParentPaths="/"> + <hdf5:NamedDataType Name="Datatype" OBJ-XID="xid_800" H5Path="/Datatype" Parents="xid_96" H5ParentPaths="/"> <hdf5:DataType> <hdf5:AtomicType> <hdf5:IntegerType ByteOrder="LE" Sign="true" Size="4" /> </hdf5:AtomicType> </hdf5:DataType> </hdf5:NamedDataType> - <hdf5:Group Name="g1" OBJ-XID="xid_1536" H5Path="/g1" Parents="xid_96" H5ParentPaths="/" > + <hdf5:NamedDataType Name="Link_to_Datatype" OBJ-XID="xid_800" H5Path="/Link_to_Datatype" Parents="xid_96" H5ParentPaths="/"> + <hdf5:NamedDatatypePtr OBJ-XID="xid_800" H5Path="/Datatype"/> + </hdf5:NamedDataType> + <hdf5:Group Name="g1" OBJ-XID="xid_1528" H5Path="/g1" Parents="xid_96" H5ParentPaths="/" > <hdf5:Attribute Name="Attribute"> <hdf5:Dataspace> <hdf5:ScalarDataspace /> </hdf5:Dataspace> - <hdf5:NamedDataTypePtr OBJ-XID="xid_792" H5Path="/Datatype" /> + <hdf5:NamedDataTypePtr OBJ-XID="xid_800" H5Path="/Datatype" /> <hdf5:Data> <hdf5:DataFromFile> 8 diff --git a/tools/testfiles/torderattr1.ddl b/tools/testfiles/torderattr1.ddl index 3c4bd6b..de3b72b 100644 --- a/tools/testfiles/torderattr1.ddl +++ b/tools/testfiles/torderattr1.ddl @@ -75,7 +75,7 @@ GROUP "/" { DATASPACE SCALAR } } - DATATYPE "t" H5T_STD_I32LE; + DATATYPE "t" H5T_STD_I32LE; ATTRIBUTE "a" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR @@ -89,7 +89,7 @@ GROUP "/" { DATASPACE SCALAR } - DATATYPE "tt" H5T_STD_I32LE; + DATATYPE "tt" H5T_STD_I32LE; ATTRIBUTE "a" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR diff --git a/tools/testfiles/torderattr2.ddl b/tools/testfiles/torderattr2.ddl index 89799d3..3686984 100644 --- a/tools/testfiles/torderattr2.ddl +++ b/tools/testfiles/torderattr2.ddl @@ -15,7 +15,7 @@ GROUP "/" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR } - DATATYPE "tt" H5T_STD_I32LE; + DATATYPE "tt" H5T_STD_I32LE; ATTRIBUTE "c" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR @@ -29,7 +29,7 @@ GROUP "/" { DATASPACE SCALAR } - DATATYPE "t" H5T_STD_I32LE; + DATATYPE "t" H5T_STD_I32LE; ATTRIBUTE "c" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR diff --git a/tools/testfiles/torderattr3.ddl b/tools/testfiles/torderattr3.ddl index 5dba83e..9dc027a 100644 --- a/tools/testfiles/torderattr3.ddl +++ b/tools/testfiles/torderattr3.ddl @@ -75,7 +75,7 @@ GROUP "/" { DATASPACE SCALAR } } - DATATYPE "t" H5T_STD_I32LE; + DATATYPE "t" H5T_STD_I32LE; ATTRIBUTE "a" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR @@ -89,7 +89,7 @@ GROUP "/" { DATASPACE SCALAR } - DATATYPE "tt" H5T_STD_I32LE; + DATATYPE "tt" H5T_STD_I32LE; ATTRIBUTE "c" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR diff --git a/tools/testfiles/torderattr4.ddl b/tools/testfiles/torderattr4.ddl index fc59f6a..38af25d 100644 --- a/tools/testfiles/torderattr4.ddl +++ b/tools/testfiles/torderattr4.ddl @@ -15,7 +15,7 @@ GROUP "/" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR } - DATATYPE "tt" H5T_STD_I32LE; + DATATYPE "tt" H5T_STD_I32LE; ATTRIBUTE "a" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR @@ -29,7 +29,7 @@ GROUP "/" { DATASPACE SCALAR } - DATATYPE "t" H5T_STD_I32LE; + DATATYPE "t" H5T_STD_I32LE; ATTRIBUTE "c" { DATATYPE H5T_STD_U8LE DATASPACE SCALAR diff --git a/tools/testfiles/tvlstr.ddl b/tools/testfiles/tvlstr.ddl index 3b67af6..eda8e000 100644 --- a/tools/testfiles/tvlstr.ddl +++ b/tools/testfiles/tvlstr.ddl @@ -24,7 +24,7 @@ GROUP "/" { (2): "", NULL } } - DATATYPE "vl_string_type" H5T_STRING { + DATATYPE "vl_string_type" H5T_STRING { STRSIZE H5T_VARIABLE; STRPAD H5T_STR_NULLPAD; CSET H5T_CSET_ASCII; |