summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/h5dumpgentest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5dump/h5dumpgentest.c')
-rw-r--r--tools/h5dump/h5dumpgentest.c77
1 files changed, 61 insertions, 16 deletions
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 16fe91b..20f7367 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -5912,8 +5912,10 @@ gent_attr_creation_order(void)
hid_t did; /* dataset id */
hid_t sid; /* space id */
hid_t aid; /* attribute id */
+ hid_t tid; /* datatype id */
hid_t gcpl_id; /* group creation property list ID */
hid_t dcpl_id; /* dataset creation property list ID */
+ hid_t tcpl_id; /* datatype creation property list ID */
int i;
const char *attr_name[3] = {"c", "b", "a" };
@@ -5928,29 +5930,38 @@ gent_attr_creation_order(void)
if((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0)
goto out;
- /* enable creation order tracking on attributes */
+ /* create dataset creation property list */
+ if((tcpl_id = H5Pcreate(H5P_DATATYPE_CREATE)) < 0)
+ goto out;
+
+ /* enable attribute creation order tracking on dataset property list */
if(H5Pset_attr_creation_order(dcpl_id, H5P_CRT_ORDER_TRACKED) < 0)
goto out;
- /* enable creation order tracking on groups */
- if(H5Pset_link_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0)
+ /* enable attribute creation order tracking on group property list */
+ if(H5Pset_attr_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0)
goto out;
-/*-------------------------------------------------------------------------
- * create a dataset and atributes in it
- *-------------------------------------------------------------------------
- */
+ /* enable attribute creation order tracking on datatype property list */
+ if(H5Pset_attr_creation_order(tcpl_id, H5P_CRT_ORDER_TRACKED) < 0)
+ goto out;
- /* create dataspace for dataset */
+ /* create a dataspace */
if((sid = H5Screate(H5S_SCALAR)) < 0)
goto out;
+/*-------------------------------------------------------------------------
+ * create a dataset and atributes in it
+ *-------------------------------------------------------------------------
+ */
+
/* create a dataset */
if((did = H5Dcreate(fid, "dset", H5T_NATIVE_UCHAR, sid, dcpl_id)) < 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;
@@ -5958,41 +5969,75 @@ gent_attr_creation_order(void)
if(H5Aclose(aid) < 0)
goto out;
} /* end for */
-
+
if (H5Dclose(did) < 0)
goto out;
+
/*-------------------------------------------------------------------------
* create a group and atributes in it
*-------------------------------------------------------------------------
*/
- if((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0)
+ if ((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, gcpl_id, 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)
+ 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)
+ if (H5Aclose(aid) < 0)
goto out;
+
} /* end for */
if (H5Gclose(gid) < 0)
goto out;
-
+
+/*-------------------------------------------------------------------------
+ * create a named datatype 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)
+ 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;
+
+
/* close */
if(H5Sclose(sid) < 0)
goto out;
+
if(H5Pclose(dcpl_id) < 0)
goto out;
if(H5Pclose(gcpl_id) < 0)
goto out;
- if(H5Fclose(fid) < 0)
+ if (H5Pclose(tcpl_id) < 0)
goto out;
+ if (H5Fclose(fid) < 0)
+ goto out;
+
return;