summaryrefslogtreecommitdiffstats
path: root/tools/h5diff/testh5diff_attr.c
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2004-05-26 15:46:19 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2004-05-26 15:46:19 (GMT)
commit8ea17935698f11f851a883f275bc4fe75c572f76 (patch)
treea859639505f3c2dc2cfb3b56bce7f24d1125053e /tools/h5diff/testh5diff_attr.c
parent80816a3dde8614c52d80f0090f8a5d08fc4546e7 (diff)
downloadhdf5-8ea17935698f11f851a883f275bc4fe75c572f76.zip
hdf5-8ea17935698f11f851a883f275bc4fe75c572f76.tar.gz
hdf5-8ea17935698f11f851a883f275bc4fe75c572f76.tar.bz2
[svn-r8578] Purpose: new test
Description: Add null dataspace test for dataset and attribute to h5diff Platforms tested: RH 8(fuss). Simple change, only h5diff is involved.
Diffstat (limited to 'tools/h5diff/testh5diff_attr.c')
-rw-r--r--tools/h5diff/testh5diff_attr.c44
1 files changed, 37 insertions, 7 deletions
diff --git a/tools/h5diff/testh5diff_attr.c b/tools/h5diff/testh5diff_attr.c
index fb6dc39..bc88431 100644
--- a/tools/h5diff/testh5diff_attr.c
+++ b/tools/h5diff/testh5diff_attr.c
@@ -27,8 +27,6 @@
*
*-------------------------------------------------------------------------
*/
-
-
static void write_attr_in(hid_t loc_id,
const char* dset_name, /* for saving reference to dataset*/
hid_t file_id,
@@ -1027,7 +1025,42 @@ etc
write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
}
-
+/*-------------------------------------------------------------------------
+ * Function: write_null_attr
+ *
+ * Purpose: write null attribute in LOC_ID (dataset, group, named datatype)
+ *
+ * Programmer: Raymond Lu, slu@ncsa.uiuc.edu
+ *
+ * Date: May 24, 2004
+ *
+ *-------------------------------------------------------------------------
+ */
+static void write_null_attr(hid_t loc_id,
+ int make_diffs /* flag to modify data buffers */)
+{
+ hid_t sid, attr_id;
+ int val = 2;
+ unsigned uval = 7;
+
+ /* Create the null attribute */
+ sid = H5Screate(H5S_NULL);
+ if(make_diffs) {
+ attr_id = H5Acreate(loc_id, "null_attr", H5T_NATIVE_INT, sid, H5P_DEFAULT);
+
+ /* Not supposed to write anything */
+ H5Awrite(attr_id, H5T_NATIVE_INT, &val);
+ } else {
+ attr_id = H5Acreate(loc_id, "null_attr", H5T_NATIVE_UINT, sid, H5P_DEFAULT);
+
+ /* Not supposed to write anything */
+ H5Awrite(attr_id, H5T_NATIVE_INT, &uval);
+ }
+
+ /* Close */
+ H5Aclose(attr_id);
+ H5Sclose(sid);
+}
/*-------------------------------------------------------------------------
* Check all HDF5 classes
@@ -1036,8 +1069,6 @@ etc
* H5T_ENUM, H5T_VLEN, H5T_ARRAY
*-------------------------------------------------------------------------
*/
-
-
int test_attr(const char *file,
int make_diffs /* flag to modify data buffers */)
{
@@ -1067,11 +1098,10 @@ int test_attr(const char *file,
* write a series of attributes on the dataset, group, and root group
*-------------------------------------------------------------------------
*/
-
write_attr_in(dset_id,"dset",file_id,make_diffs);
write_attr_in(group_id,NULL,0,make_diffs);
write_attr_in(root_id,NULL,0,make_diffs);
-
+ write_null_attr(root_id,make_diffs);
/* Close */
status = H5Dclose(dset_id);