summaryrefslogtreecommitdiffstats
path: root/test/dtypes.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-10-27 20:56:54 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-10-27 20:56:54 (GMT)
commit34c8292e76d33024e11e74c864a410b321f5dd5a (patch)
tree3125989ca809112ea42e521908c5fee6a7657fdb /test/dtypes.c
parentab3f3e0219d80b5407fe5da785a7faae443c7ffc (diff)
downloadhdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.zip
hdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.tar.gz
hdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.tar.bz2
[svn-r17751] Purpose: Fix assertion failure caused by H5Tcommit1/2
Description: Calling H5Tcommit1 or H5Tcommit2 on a file with read only access would cause an assertion failure. Added a check to H5T_commit_named to return a failure in this case. Also a minor fix in the link_filters test. Tested: Fedora 11 (very minor change)
Diffstat (limited to 'test/dtypes.c')
-rw-r--r--test/dtypes.c43
1 files changed, 41 insertions, 2 deletions
diff --git a/test/dtypes.c b/test/dtypes.c
index 545a098..51f8f6d 100644
--- a/test/dtypes.c
+++ b/test/dtypes.c
@@ -3707,10 +3707,30 @@ test_named (hid_t fapl)
if(H5Tclose(t3) < 0) goto error;
if(H5Dclose(dset) < 0) goto error;
- /* Clean up */
+ /* Close */
if(H5Tclose(type) < 0) goto error;
if(H5Sclose(space) < 0) goto error;
if(H5Fclose(file) < 0) goto error;
+
+ /* Reopen file with read only access */
+ if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
+ goto error;
+
+ /* Verify that H5Tcommit2 returns an error */
+ if((type = H5Tcopy(H5T_NATIVE_INT)) < 0) goto error;
+ H5E_BEGIN_TRY {
+ status = H5Tcommit2(file, "test_named_3 (should not exist)", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ } H5E_END_TRY;
+ if(status >= 0) {
+ H5_FAILED();
+ HDputs (" Types should not be committable to a read-only file!");
+ goto error;
+ }
+
+ /* Close */
+ if(H5Tclose(type) < 0) goto error;
+ if(H5Fclose(file) < 0) goto error;
+
PASSED();
return 0;
@@ -6242,10 +6262,29 @@ test_deprec(hid_t fapl)
if(!status)
FAIL_PUTS_ERROR(" Opened named types should be named types!")
- /* Clean up */
+ /* Close */
if(H5Tclose(type) < 0) FAIL_STACK_ERROR
if(H5Fclose(file) < 0) FAIL_STACK_ERROR
+ /* Reopen file with read only access */
+ if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
+ goto error;
+
+ /* Verify that H5Tcommit2 returns an error */
+ if((type = H5Tcopy(H5T_NATIVE_INT)) < 0) goto error;
+ H5E_BEGIN_TRY {
+ status = H5Tcommit1(file, "test_named_3 (should not exist)", type);
+ } H5E_END_TRY;
+ if(status >= 0) {
+ H5_FAILED();
+ HDputs (" Types should not be committable to a read-only file!");
+ goto error;
+ }
+
+ /* Close */
+ if(H5Tclose(type) < 0) goto error;
+ if(H5Fclose(file) < 0) goto error;
+
PASSED();
return 0;