mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-18 15:15:56 +08:00
[svn-r20937] Description:
Added additional attaching and detaching permutation. Tested: jam (intel, gnu)
This commit is contained in:
parent
aabfb1d756
commit
76b375f82b
@ -5241,7 +5241,7 @@ static int test_attach_detach(void)
|
||||
hid_t sid; /* dataspace ID */
|
||||
hid_t dcpl_id; /* dataset creation property */
|
||||
hid_t dsid = -1; /* DS dataset ID */
|
||||
hid_t var1_id, var2_id; /* DS component name */
|
||||
hid_t var1_id, var2_id, var3_id; /* DS component name */
|
||||
hsize_t dims[RANK1] = {DIM1};
|
||||
|
||||
TESTING2("permutations of attaching and detaching");
|
||||
@ -5307,6 +5307,27 @@ static int test_attach_detach(void)
|
||||
if(H5Sclose(sid) < 0)
|
||||
goto out;
|
||||
|
||||
/* Create 3rd variable that uses this dimension scale. */
|
||||
if((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
goto out;
|
||||
|
||||
if(H5Pset_attr_creation_order(dcpl_id, H5P_CRT_ORDER_TRACKED | H5P_CRT_ORDER_INDEXED) < 0)
|
||||
goto out;
|
||||
|
||||
if((sid = H5Screate_simple(DIM1, dims, dims)) < 0)
|
||||
goto out;
|
||||
|
||||
if((var3_id = H5Dcreate2(gid, DS_33_NAME, H5T_NATIVE_FLOAT, sid,
|
||||
H5P_DEFAULT, H5P_DEFAULT,H5P_DEFAULT)) < 0)
|
||||
goto out;
|
||||
|
||||
if(H5Pclose(dcpl_id) < 0)
|
||||
goto out;
|
||||
|
||||
if(H5Sclose(sid) < 0)
|
||||
goto out;
|
||||
|
||||
/* Attached var2 scale */
|
||||
if(H5DSattach_scale(var2_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
@ -5359,6 +5380,57 @@ static int test_attach_detach(void)
|
||||
if(H5DSis_attached(var2_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
|
||||
/***************************************************
|
||||
* Attach Three DS and remove the middle one first
|
||||
*****************************************************/
|
||||
|
||||
if(H5DSattach_scale(var1_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
if(H5DSattach_scale(var2_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
if(H5DSattach_scale(var3_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
|
||||
/* Detach the var2 scale */
|
||||
if(H5DSdetach_scale(var2_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
/* Check if in correct state of detached and attached */
|
||||
|
||||
if(H5DSis_attached(var1_id, dsid, 0) == 0) /* should still be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var2_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var3_id, dsid, 0) == 0) /* should still be attached */
|
||||
goto out;
|
||||
|
||||
/* Detach the var3 scale */
|
||||
if(H5DSdetach_scale(var3_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
/* Check if in correct state of detached and attached */
|
||||
if(H5DSis_attached(var1_id, dsid, 0) == 0) /* should still be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var2_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var3_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
|
||||
/* Detach the var1 scale */
|
||||
if(H5DSdetach_scale(var1_id, dsid, 0) < 0)
|
||||
goto out;
|
||||
|
||||
/* Check if in correct state of detached and attached */
|
||||
if(H5DSis_attached(var1_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var2_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
if(H5DSis_attached(var3_id, dsid, 0) != 0) /* should not be attached */
|
||||
goto out;
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* close
|
||||
*-------------------------------------------------------------------------
|
||||
@ -5368,6 +5440,8 @@ static int test_attach_detach(void)
|
||||
goto out;
|
||||
if(H5Dclose(var2_id) < 0)
|
||||
goto out;
|
||||
if(H5Dclose(var3_id) < 0)
|
||||
goto out;
|
||||
if(H5Dclose(dsid) < 0)
|
||||
goto out;
|
||||
if(H5Gclose(gid) < 0)
|
||||
@ -5385,6 +5459,7 @@ out:
|
||||
{
|
||||
H5Dclose(var1_id);
|
||||
H5Dclose(var2_id);
|
||||
H5Dclose(var3_id);
|
||||
H5Dclose(dsid);
|
||||
H5Gclose(gid);
|
||||
H5Fclose(fid);
|
||||
|
Loading…
Reference in New Issue
Block a user