summaryrefslogtreecommitdiffstats
path: root/test/set_extent.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/set_extent.c')
-rw-r--r--test/set_extent.c40
1 files changed, 35 insertions, 5 deletions
diff --git a/test/set_extent.c b/test/set_extent.c
index b9536e5..5d11819 100644
--- a/test/set_extent.c
+++ b/test/set_extent.c
@@ -427,20 +427,50 @@ error:
*/
static int do_layouts( hid_t fapl )
{
+ hid_t new_fapl = -1;
+ H5F_libver_t low, high; /* Low and high bounds */
+ herr_t ret; /* Generic return value */
- TESTING("storage layout use");
+ TESTING("storage layout use - tested with all low/high library format bounds");
+ /* Loop through all the combinations of low/high library format bounds */
+ for(low = H5F_LIBVER_EARLIEST; low < H5F_LIBVER_NBOUNDS; low++) {
+ for(high = H5F_LIBVER_EARLIEST; high < H5F_LIBVER_NBOUNDS; high++) {
- if (test_layouts( H5D_COMPACT, fapl ) < 0)
- goto error;
+ /* Copy plist to use locally to avoid modifying the original */
+ new_fapl = H5Pcopy(fapl);
- if (test_layouts( H5D_CONTIGUOUS, fapl ) < 0)
- goto error;
+ /* Set version bounds */
+ H5E_BEGIN_TRY {
+ ret = H5Pset_libver_bounds(new_fapl, low, high);
+ } H5E_END_TRY;
+
+ if (ret < 0) /* Invalid low/high combinations */
+ {
+ if (H5Pclose(new_fapl) < 0)
+ goto error;
+ continue;
+ }
+
+ if (test_layouts( H5D_COMPACT, new_fapl ) < 0)
+ goto error;
+
+ if (test_layouts( H5D_CONTIGUOUS, new_fapl ) < 0)
+ goto error;
+
+ if (H5Pclose(new_fapl) < 0)
+ goto error;
+ } /* end for high */
+ } /* end for low */
PASSED();
return 0;
error:
+ H5E_BEGIN_TRY
+ {
+ H5Pclose(new_fapl);
+ } H5E_END_TRY;
return -1;
}