summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2007-10-11 19:42:30 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2007-10-11 19:42:30 (GMT)
commit8e4bcb5fee17d87d07ab0672439ed391731c96b8 (patch)
tree32e7960fa662f4922b1930f90ae4abb8b994ef29
parente387120f945dcfdf113a34d47d828796dd84ad16 (diff)
downloadhdf5-8e4bcb5fee17d87d07ab0672439ed391731c96b8.zip
hdf5-8e4bcb5fee17d87d07ab0672439ed391731c96b8.tar.gz
hdf5-8e4bcb5fee17d87d07ab0672439ed391731c96b8.tar.bz2
[svn-r14201] attribute ordering: added objects that do not have creation order tracked
current behavior is if DCPL has creation order tracked for attributes then sort the attributes by creation order otherwise by name regarding sort order (ascending or descending) it is done in whatever is requested tested: linux
-rw-r--r--tools/h5dump/h5dumpgentest.c90
-rw-r--r--tools/testfiles/torderattr.h5bin2728 -> 4120 bytes
-rw-r--r--tools/testfiles/torderattr1.ddl46
-rw-r--r--tools/testfiles/torderattr1.h5.xml114
-rw-r--r--tools/testfiles/torderattr2.ddl46
-rw-r--r--tools/testfiles/torderattr2.h5.xml114
-rw-r--r--tools/testfiles/torderattr3.ddl46
-rw-r--r--tools/testfiles/torderattr3.h5.xml114
-rw-r--r--tools/testfiles/torderattr4.ddl50
-rw-r--r--tools/testfiles/torderattr4.h5.xml114
10 files changed, 709 insertions, 25 deletions
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 0a6b607..d6893d9 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -5950,16 +5950,41 @@ gent_attr_creation_order(void)
goto out;
/*-------------------------------------------------------------------------
- * create a dataset and atributes in it
+ * create a dataset with creation order tracked for attributes and atributes in it
*-------------------------------------------------------------------------
*/
/* create a dataset */
- if((did = H5Dcreate2(fid, "dset", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0)
+ if((did = H5Dcreate2(fid, "dt", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0)
goto out;
/* add attributes */
- for(i = 0; i < 3; i++) {
+ for(i = 0; i < 3; i++)
+ {
+ if((aid = H5Acreate2(did, ".", attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* close attribute */
+ if(H5Aclose(aid) < 0)
+ goto out;
+ } /* end for */
+
+ if(H5Dclose(did) < 0)
+ goto out;
+
+
+/*-------------------------------------------------------------------------
+ * create a dataset without creation order tracked for attributes and atributes in it
+ *-------------------------------------------------------------------------
+ */
+
+ /* create a dataset */
+ if((did = H5Dcreate2(fid, "d", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* add attributes */
+ for(i = 0; i < 3; i++)
+ {
if((aid = H5Acreate2(did, ".", attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
goto out;
@@ -5974,11 +5999,11 @@ gent_attr_creation_order(void)
/*-------------------------------------------------------------------------
- * create a group and atributes in it
+ * create a group with creation order tracked for attributes and atributes in it
*-------------------------------------------------------------------------
*/
- if((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0)
+ if((gid = H5Gcreate2(fid, "gt", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0)
goto out;
/* add attributes */
@@ -5997,14 +6022,38 @@ gent_attr_creation_order(void)
goto out;
/*-------------------------------------------------------------------------
- * create a named datatype and atributes in it
+ * create a group without creation order tracked for attributes and atributes in it
+ *-------------------------------------------------------------------------
+ */
+
+ if((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* add attributes */
+ for(i = 0; i < 3; i++)
+ {
+ if((aid = H5Acreate2(gid, ".", attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* close attribute */
+ if(H5Aclose(aid) < 0)
+ goto out;
+
+ } /* end for */
+
+ if(H5Gclose(gid) < 0)
+ goto out;
+
+
+/*-------------------------------------------------------------------------
+ * create a named datatype with creation order tracked for attributes and atributes in it
*-------------------------------------------------------------------------
*/
if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0)
goto out;
- if((H5Tcommit2(fid, "t", tid, H5P_DEFAULT, tcpl_id, H5P_DEFAULT)) < 0)
+ if((H5Tcommit2(fid, "tt", tid, H5P_DEFAULT, tcpl_id, H5P_DEFAULT)) < 0)
goto out;
/* add attributes */
@@ -6021,6 +6070,33 @@ gent_attr_creation_order(void)
if(H5Tclose(tid) < 0)
goto out;
+
+/*-------------------------------------------------------------------------
+ * create a named datatype without creation order tracked for attributes and atributes in it
+ *-------------------------------------------------------------------------
+ */
+
+ if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0)
+ goto out;
+
+ if((H5Tcommit2(fid, "t", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* add attributes */
+ for(i = 0; i < 3; i++)
+ {
+ if((aid = H5Acreate2(tid, ".", attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ goto out;
+
+ /* close attribute */
+ if(H5Aclose(aid) < 0)
+ goto out;
+
+ } /* end for */
+
+ if(H5Tclose(tid) < 0)
+ goto out;
+
/*-------------------------------------------------------------------------
* add some attributes to the root group
*-------------------------------------------------------------------------
diff --git a/tools/testfiles/torderattr.h5 b/tools/testfiles/torderattr.h5
index 57b1a87..bafa846 100644
--- a/tools/testfiles/torderattr.h5
+++ b/tools/testfiles/torderattr.h5
Binary files differ
diff --git a/tools/testfiles/torderattr1.ddl b/tools/testfiles/torderattr1.ddl
index 5572ef1..3c4bd6b 100644
--- a/tools/testfiles/torderattr1.ddl
+++ b/tools/testfiles/torderattr1.ddl
@@ -15,7 +15,23 @@ GROUP "/" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
}
- DATASET "dset" {
+ DATASET "d" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
+ DATASET "dt" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
ATTRIBUTE "a" {
@@ -45,6 +61,20 @@ GROUP "/" {
DATASPACE SCALAR
}
}
+ GROUP "gt" {
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
DATATYPE "t" H5T_STD_I32LE;
ATTRIBUTE "a" {
DATATYPE H5T_STD_U8LE
@@ -59,5 +89,19 @@ GROUP "/" {
DATASPACE SCALAR
}
+ DATATYPE "tt" H5T_STD_I32LE;
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+
}
}
diff --git a/tools/testfiles/torderattr1.h5.xml b/tools/testfiles/torderattr1.h5.xml
index 7ee2f10..fcbe444 100644
--- a/tools/testfiles/torderattr1.h5.xml
+++ b/tools/testfiles/torderattr1.h5.xml
@@ -43,7 +43,7 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=ascending torde
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Attribute>
- <hdf5:Dataset Name="dset" OBJ-XID="xid_800" H5Path= "/dset" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:Dataset Name="d" OBJ-XID="xid_1412" H5Path= "/d" Parents="xid_96" H5ParentPaths="/">
<hdf5:StorageLayout>
<hdf5:ContiguousLayout/>
</hdf5:StorageLayout>
@@ -103,7 +103,108 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=ascending torde
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Dataset>
- <hdf5:Group Name="g" OBJ-XID="xid_1412" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Dataset Name="dt" OBJ-XID="xid_800" H5Path= "/dt" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:StorageLayout>
+ <hdf5:ContiguousLayout/>
+ </hdf5:StorageLayout>
+ <hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
+ <hdf5:FillValue>
+ <hdf5:NoFill/>
+ </hdf5:FillValue>
+ </hdf5:FillValueInfo>
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Dataset>
+ <hdf5:Group Name="g" OBJ-XID="xid_2612" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ </hdf5:Group>
+ <hdf5:Group Name="gt" OBJ-XID="xid_1700" H5Path="/gt" Parents="xid_96" H5ParentPaths="/" >
<hdf5:Attribute Name="a">
<hdf5:Dataspace>
<hdf5:ScalarDataspace />
@@ -144,7 +245,14 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=ascending torde
</hdf5:Data>
</hdf5:Attribute>
</hdf5:Group>
- <hdf5:NamedDataType Name="t" OBJ-XID="xid_2324" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:NamedDataType Name="t" OBJ-XID="xid_3720" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="true" Size="4" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ </hdf5:NamedDataType>
+ <hdf5:NamedDataType Name="tt" OBJ-XID="xid_3508" H5Path="/tt" Parents="xid_96" H5ParentPaths="/">
<hdf5:DataType>
<hdf5:AtomicType>
<hdf5:IntegerType ByteOrder="LE" Sign="true" Size="4" />
diff --git a/tools/testfiles/torderattr2.ddl b/tools/testfiles/torderattr2.ddl
index c0862ed..89799d3 100644
--- a/tools/testfiles/torderattr2.ddl
+++ b/tools/testfiles/torderattr2.ddl
@@ -15,6 +15,20 @@ GROUP "/" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
}
+ DATATYPE "tt" H5T_STD_I32LE;
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+
DATATYPE "t" H5T_STD_I32LE;
ATTRIBUTE "c" {
DATATYPE H5T_STD_U8LE
@@ -29,6 +43,20 @@ GROUP "/" {
DATASPACE SCALAR
}
+ GROUP "gt" {
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
GROUP "g" {
ATTRIBUTE "c" {
DATATYPE H5T_STD_U8LE
@@ -43,7 +71,23 @@ GROUP "/" {
DATASPACE SCALAR
}
}
- DATASET "dset" {
+ DATASET "dt" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
+ DATASET "d" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
ATTRIBUTE "c" {
diff --git a/tools/testfiles/torderattr2.h5.xml b/tools/testfiles/torderattr2.h5.xml
index 9f5d216..5f2b434 100644
--- a/tools/testfiles/torderattr2.h5.xml
+++ b/tools/testfiles/torderattr2.h5.xml
@@ -43,14 +43,21 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=descending tord
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Attribute>
- <hdf5:NamedDataType Name="t" OBJ-XID="xid_2324" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:NamedDataType Name="tt" OBJ-XID="xid_3508" H5Path="/tt" 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="g" OBJ-XID="xid_1412" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:NamedDataType Name="t" OBJ-XID="xid_3720" H5Path="/t" 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="gt" OBJ-XID="xid_1700" H5Path="/gt" Parents="xid_96" H5ParentPaths="/" >
<hdf5:Attribute Name="c">
<hdf5:Dataspace>
<hdf5:ScalarDataspace />
@@ -91,7 +98,108 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=descending tord
</hdf5:Data>
</hdf5:Attribute>
</hdf5:Group>
- <hdf5:Dataset Name="dset" OBJ-XID="xid_800" H5Path= "/dset" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:Group Name="g" OBJ-XID="xid_2612" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ </hdf5:Group>
+ <hdf5:Dataset Name="dt" OBJ-XID="xid_800" H5Path= "/dt" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:StorageLayout>
+ <hdf5:ContiguousLayout/>
+ </hdf5:StorageLayout>
+ <hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
+ <hdf5:FillValue>
+ <hdf5:NoFill/>
+ </hdf5:FillValue>
+ </hdf5:FillValueInfo>
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Dataset>
+ <hdf5:Dataset Name="d" OBJ-XID="xid_1412" H5Path= "/d" Parents="xid_96" H5ParentPaths="/">
<hdf5:StorageLayout>
<hdf5:ContiguousLayout/>
</hdf5:StorageLayout>
diff --git a/tools/testfiles/torderattr3.ddl b/tools/testfiles/torderattr3.ddl
index 146767c..5dba83e 100644
--- a/tools/testfiles/torderattr3.ddl
+++ b/tools/testfiles/torderattr3.ddl
@@ -15,7 +15,23 @@ GROUP "/" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
}
- DATASET "dset" {
+ DATASET "d" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
+ DATASET "dt" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
ATTRIBUTE "c" {
@@ -32,6 +48,20 @@ GROUP "/" {
}
}
GROUP "g" {
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
+ GROUP "gt" {
ATTRIBUTE "c" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
@@ -46,6 +76,20 @@ GROUP "/" {
}
}
DATATYPE "t" H5T_STD_I32LE;
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+
+ DATATYPE "tt" H5T_STD_I32LE;
ATTRIBUTE "c" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
diff --git a/tools/testfiles/torderattr3.h5.xml b/tools/testfiles/torderattr3.h5.xml
index 6659d1b..6488711 100644
--- a/tools/testfiles/torderattr3.h5.xml
+++ b/tools/testfiles/torderattr3.h5.xml
@@ -43,7 +43,67 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=ascen
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Attribute>
- <hdf5:Dataset Name="dset" OBJ-XID="xid_800" H5Path= "/dset" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:Dataset Name="d" OBJ-XID="xid_1412" H5Path= "/d" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:StorageLayout>
+ <hdf5:ContiguousLayout/>
+ </hdf5:StorageLayout>
+ <hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
+ <hdf5:FillValue>
+ <hdf5:NoFill/>
+ </hdf5:FillValue>
+ </hdf5:FillValueInfo>
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Dataset>
+ <hdf5:Dataset Name="dt" OBJ-XID="xid_800" H5Path= "/dt" Parents="xid_96" H5ParentPaths="/">
<hdf5:StorageLayout>
<hdf5:ContiguousLayout/>
</hdf5:StorageLayout>
@@ -103,7 +163,48 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=ascen
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Dataset>
- <hdf5:Group Name="g" OBJ-XID="xid_1412" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Group Name="g" OBJ-XID="xid_2612" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ </hdf5:Group>
+ <hdf5:Group Name="gt" OBJ-XID="xid_1700" H5Path="/gt" Parents="xid_96" H5ParentPaths="/" >
<hdf5:Attribute Name="c">
<hdf5:Dataspace>
<hdf5:ScalarDataspace />
@@ -144,7 +245,14 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=ascen
</hdf5:Data>
</hdf5:Attribute>
</hdf5:Group>
- <hdf5:NamedDataType Name="t" OBJ-XID="xid_2324" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:NamedDataType Name="t" OBJ-XID="xid_3720" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="true" Size="4" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ </hdf5:NamedDataType>
+ <hdf5:NamedDataType Name="tt" OBJ-XID="xid_3508" H5Path="/tt" Parents="xid_96" H5ParentPaths="/">
<hdf5:DataType>
<hdf5:AtomicType>
<hdf5:IntegerType ByteOrder="LE" Sign="true" Size="4" />
diff --git a/tools/testfiles/torderattr4.ddl b/tools/testfiles/torderattr4.ddl
index cd46d41..fc59f6a 100644
--- a/tools/testfiles/torderattr4.ddl
+++ b/tools/testfiles/torderattr4.ddl
@@ -15,7 +15,7 @@ GROUP "/" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
}
- DATATYPE "t" H5T_STD_I32LE;
+ DATATYPE "tt" H5T_STD_I32LE;
ATTRIBUTE "a" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
@@ -29,7 +29,21 @@ GROUP "/" {
DATASPACE SCALAR
}
- GROUP "g" {
+ DATATYPE "t" H5T_STD_I32LE;
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+
+ GROUP "gt" {
ATTRIBUTE "a" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
@@ -43,7 +57,21 @@ GROUP "/" {
DATASPACE SCALAR
}
}
- DATASET "dset" {
+ GROUP "g" {
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
+ DATASET "dt" {
DATATYPE H5T_STD_U8LE
DATASPACE SCALAR
ATTRIBUTE "a" {
@@ -59,5 +87,21 @@ GROUP "/" {
DATASPACE SCALAR
}
}
+ DATASET "d" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ ATTRIBUTE "c" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "b" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ ATTRIBUTE "a" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SCALAR
+ }
+ }
}
}
diff --git a/tools/testfiles/torderattr4.h5.xml b/tools/testfiles/torderattr4.h5.xml
index 82e57e0..c6fa0ad 100644
--- a/tools/testfiles/torderattr4.h5.xml
+++ b/tools/testfiles/torderattr4.h5.xml
@@ -43,14 +43,21 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=desce
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Attribute>
- <hdf5:NamedDataType Name="t" OBJ-XID="xid_2324" H5Path="/t" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:NamedDataType Name="tt" OBJ-XID="xid_3508" H5Path="/tt" 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="g" OBJ-XID="xid_1412" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:NamedDataType Name="t" OBJ-XID="xid_3720" H5Path="/t" 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="gt" OBJ-XID="xid_1700" H5Path="/gt" Parents="xid_96" H5ParentPaths="/" >
<hdf5:Attribute Name="a">
<hdf5:Dataspace>
<hdf5:ScalarDataspace />
@@ -91,7 +98,48 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=desce
</hdf5:Data>
</hdf5:Attribute>
</hdf5:Group>
- <hdf5:Dataset Name="dset" OBJ-XID="xid_800" H5Path= "/dset" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:Group Name="g" OBJ-XID="xid_2612" H5Path="/g" Parents="xid_96" H5ParentPaths="/" >
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ </hdf5:Group>
+ <hdf5:Dataset Name="dt" OBJ-XID="xid_800" H5Path= "/dt" Parents="xid_96" H5ParentPaths="/">
<hdf5:StorageLayout>
<hdf5:ContiguousLayout/>
</hdf5:StorageLayout>
@@ -151,5 +199,65 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=desce
<hdf5:NoData/>
</hdf5:Data>
</hdf5:Dataset>
+ <hdf5:Dataset Name="d" OBJ-XID="xid_1412" H5Path= "/d" Parents="xid_96" H5ParentPaths="/">
+ <hdf5:StorageLayout>
+ <hdf5:ContiguousLayout/>
+ </hdf5:StorageLayout>
+ <hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
+ <hdf5:FillValue>
+ <hdf5:NoFill/>
+ </hdf5:FillValue>
+ </hdf5:FillValueInfo>
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Attribute Name="c">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="b">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Attribute Name="a">
+ <hdf5:Dataspace>
+ <hdf5:ScalarDataspace />
+ </hdf5:Dataspace>
+ <hdf5:DataType>
+ <hdf5:AtomicType>
+ <hdf5:IntegerType ByteOrder="LE" Sign="false" Size="1" />
+ </hdf5:AtomicType>
+ </hdf5:DataType>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Attribute>
+ <hdf5:Data>
+ <hdf5:NoData/>
+ </hdf5:Data>
+ </hdf5:Dataset>
</hdf5:RootGroup>
</hdf5:HDF5-File>