From 8e4bcb5fee17d87d07ab0672439ed391731c96b8 Mon Sep 17 00:00:00 2001 From: Pedro Vicente Nunes Date: Thu, 11 Oct 2007 14:42:30 -0500 Subject: [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 --- tools/h5dump/h5dumpgentest.c | 90 ++++++++++++++++++++++++++--- tools/testfiles/torderattr.h5 | Bin 2728 -> 4120 bytes tools/testfiles/torderattr1.ddl | 46 ++++++++++++++- tools/testfiles/torderattr1.h5.xml | 114 ++++++++++++++++++++++++++++++++++++- tools/testfiles/torderattr2.ddl | 46 ++++++++++++++- tools/testfiles/torderattr2.h5.xml | 114 ++++++++++++++++++++++++++++++++++++- tools/testfiles/torderattr3.ddl | 46 ++++++++++++++- tools/testfiles/torderattr3.h5.xml | 114 ++++++++++++++++++++++++++++++++++++- tools/testfiles/torderattr4.ddl | 50 +++++++++++++++- tools/testfiles/torderattr4.h5.xml | 114 ++++++++++++++++++++++++++++++++++++- 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 Binary files a/tools/testfiles/torderattr.h5 and b/tools/testfiles/torderattr.h5 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 - + @@ -103,7 +103,108 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=ascending torde - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -144,7 +245,14 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=ascending torde - + + + + + + + + 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 - + - + + + + + + + + @@ -91,7 +98,108 @@ Expected output for 'h5dump --xml -H --sort_by=name --sort_order=descending tord - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -103,7 +163,48 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=ascen - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -144,7 +245,14 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=ascen - + + + + + + + + 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 - + - + + + + + + + + @@ -91,7 +98,48 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=desce - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -151,5 +199,65 @@ Expected output for 'h5dump --xml -H --sort_by=creation_order --sort_order=desce + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v0.12