diff options
author | James Laird <jlaird@hdfgroup.org> | 2006-07-31 19:46:16 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2006-07-31 19:46:16 (GMT) |
commit | beb04ae817268a49656b5abe043627dcbba15e5d (patch) | |
tree | 557b0c0908867dbb7185c3954626b2a2da3bcaf4 /test | |
parent | 70b46a1d89e7f9f4a82748a9e1cc21fb4f121ebe (diff) | |
download | hdf5-beb04ae817268a49656b5abe043627dcbba15e5d.zip hdf5-beb04ae817268a49656b5abe043627dcbba15e5d.tar.gz hdf5-beb04ae817268a49656b5abe043627dcbba15e5d.tar.bz2 |
[svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 2 | ||||
-rw-r--r-- | test/Makefile.in | 6 | ||||
-rw-r--r-- | test/btree2.c | 157 | ||||
-rw-r--r-- | test/dsets.c | 135 | ||||
-rw-r--r-- | test/enum.c | 199 | ||||
-rw-r--r-- | test/extend.c | 77 | ||||
-rw-r--r-- | test/external.c | 95 | ||||
-rw-r--r-- | test/fheap.c | 11 | ||||
-rw-r--r-- | test/fillval.c | 91 | ||||
-rw-r--r-- | test/flush1.c | 83 | ||||
-rw-r--r-- | test/flush2.c | 94 | ||||
-rw-r--r-- | test/getname.c | 3071 | ||||
-rw-r--r-- | test/istore.c | 233 | ||||
-rw-r--r-- | test/lheap.c | 89 | ||||
-rw-r--r-- | test/links.c | 65 | ||||
-rw-r--r-- | test/mount.c | 101 | ||||
-rw-r--r-- | test/mtime.c | 115 | ||||
-rw-r--r-- | test/ntypes.c | 455 | ||||
-rwxr-xr-x | test/objcopy.c | 148 | ||||
-rw-r--r-- | test/ohdr.c | 59 | ||||
-rwxr-xr-x | test/reserved.c | 34 | ||||
-rw-r--r-- | test/stab.c | 94 | ||||
-rw-r--r-- | test/unlink.c | 148 |
23 files changed, 2907 insertions, 2655 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index 506dde6..afadd52 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -79,6 +79,8 @@ LDADD=libh5test.la $(LIBHDF5) ttsafe_SOURCES=ttsafe.c ttsafe_dcreate.c ttsafe_error.c ttsafe_cancel.c \ ttsafe_acreate.c +VFD_LIST = sec2 stdio core split multi family + # Additional target for running timing test timings _timings: testmeta @for timing in $(TIMINGS) dummy; do \ diff --git a/test/Makefile.in b/test/Makefile.in index 70bb3ed..5339b48 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -654,6 +654,7 @@ LDADD = libh5test.la $(LIBHDF5) ttsafe_SOURCES = ttsafe.c ttsafe_dcreate.c ttsafe_error.c ttsafe_cancel.c \ ttsafe_acreate.c +VFD_LIST = sec2 stdio core split multi family # Sources for testhdf5 executable testhdf5_SOURCES = testhdf5.c tarray.c tattr.c tconfig.c tfile.c tgenprop.c \ @@ -1389,13 +1390,14 @@ build-check-p: $(LIB) $(PROGS) $(TESTS) fi # Run test with different Virtual File Driver -check-vfd: +check-vfd: $(LIB) $(PROGS) $(TESTS) @for vfd in $(VFD_LIST) dummy; do \ if test $$vfd != dummy; then \ echo "============================"; \ echo "Testing Virtual File Driver $$vfd"; \ echo "============================"; \ - HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check; \ + $(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \ + HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \ fi; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/test/btree2.c b/test/btree2.c index 38720ba..7f6c498 100644 --- a/test/btree2.c +++ b/test/btree2.c @@ -5576,81 +5576,92 @@ main(void) hid_t fapl = -1; /* File access property list for data files */ unsigned nerrors = 0; /* Cumulative error count */ int ExpressMode; - - /* Reset library */ - h5_reset(); - fapl = h5_fileaccess(); - ExpressMode = GetTestExpress(); - if (ExpressMode > 1) - printf("***Express test mode on. Some tests may be skipped\n"); - - /* Test B-tree record insertion */ - /* Iteration, find & index routines tested in these routines as well */ - nerrors += test_insert_basic(fapl); - nerrors += test_insert_split_root(fapl); - nerrors += test_insert_level1_2leaf_redistrib(fapl); - nerrors += test_insert_level1_2leaf_split(fapl); - nerrors += test_insert_level1_3leaf_redistrib(fapl); - nerrors += test_insert_level1_3leaf_split(fapl); - nerrors += test_insert_make_level2(fapl); - nerrors += test_insert_level2_leaf_redistrib(fapl); - nerrors += test_insert_level2_leaf_split(fapl); - nerrors += test_insert_level2_2internal_redistrib(fapl); - nerrors += test_insert_level2_2internal_split(fapl); - nerrors += test_insert_level2_3internal_redistrib(fapl); - nerrors += test_insert_level2_3internal_split(fapl); - if (ExpressMode > 1) - printf("***Express test mode on. test_insert_lots skipped\n"); - else - nerrors += test_insert_lots(fapl); - - /* Test B-tree record removal */ - /* Querying the number of records routine also tested in these routines as well */ - nerrors += test_remove_basic(fapl); - nerrors += test_remove_level1_noredistrib(fapl); - nerrors += test_remove_level1_redistrib(fapl); - nerrors += test_remove_level1_2leaf_merge(fapl); - nerrors += test_remove_level1_3leaf_merge(fapl); - nerrors += test_remove_level1_promote(fapl); - nerrors += test_remove_level1_promote_2leaf_redistrib(fapl); - nerrors += test_remove_level1_promote_3leaf_redistrib(fapl); - nerrors += test_remove_level1_promote_2leaf_merge(fapl); - nerrors += test_remove_level1_promote_3leaf_merge(fapl); - nerrors += test_remove_level1_collapse(fapl); - nerrors += test_remove_level2_promote(fapl); - nerrors += test_remove_level2_promote_2internal_redistrib(fapl); - nerrors += test_remove_level2_promote_3internal_redistrib(fapl); - nerrors += test_remove_level2_promote_2internal_merge(fapl); - nerrors += test_remove_level2_promote_3internal_merge(fapl); - nerrors += test_remove_level2_2internal_merge_left(fapl); - nerrors += test_remove_level2_2internal_merge_right(fapl); - nerrors += test_remove_level2_3internal_merge(fapl); - nerrors += test_remove_level2_collapse_right(fapl); - if (ExpressMode > 1) - printf("***Express test mode on. test_remove_lots skipped\n"); + const char *envval = NULL; + + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split") && HDstrcmp(envval, "family")) { + /* Reset library */ + h5_reset(); + fapl = h5_fileaccess(); + ExpressMode = GetTestExpress(); + if (ExpressMode > 1) + printf("***Express test mode on. Some tests may be skipped\n"); + + /* Test B-tree record insertion */ + /* Iteration, find & index routines tested in these routines as well */ + nerrors += test_insert_basic(fapl); + nerrors += test_insert_split_root(fapl); + nerrors += test_insert_level1_2leaf_redistrib(fapl); + nerrors += test_insert_level1_2leaf_split(fapl); + nerrors += test_insert_level1_3leaf_redistrib(fapl); + nerrors += test_insert_level1_3leaf_split(fapl); + nerrors += test_insert_make_level2(fapl); + nerrors += test_insert_level2_leaf_redistrib(fapl); + nerrors += test_insert_level2_leaf_split(fapl); + nerrors += test_insert_level2_2internal_redistrib(fapl); + nerrors += test_insert_level2_2internal_split(fapl); + nerrors += test_insert_level2_3internal_redistrib(fapl); + nerrors += test_insert_level2_3internal_split(fapl); + if (ExpressMode > 1) + printf("***Express test mode on. test_insert_lots skipped\n"); + else + nerrors += test_insert_lots(fapl); + + /* Test B-tree record removal */ + /* Querying the number of records routine also tested in these routines as well */ + nerrors += test_remove_basic(fapl); + nerrors += test_remove_level1_noredistrib(fapl); + nerrors += test_remove_level1_redistrib(fapl); + nerrors += test_remove_level1_2leaf_merge(fapl); + nerrors += test_remove_level1_3leaf_merge(fapl); + nerrors += test_remove_level1_promote(fapl); + nerrors += test_remove_level1_promote_2leaf_redistrib(fapl); + nerrors += test_remove_level1_promote_3leaf_redistrib(fapl); + nerrors += test_remove_level1_promote_2leaf_merge(fapl); + nerrors += test_remove_level1_promote_3leaf_merge(fapl); + nerrors += test_remove_level1_collapse(fapl); + nerrors += test_remove_level2_promote(fapl); + nerrors += test_remove_level2_promote_2internal_redistrib(fapl); + nerrors += test_remove_level2_promote_3internal_redistrib(fapl); + nerrors += test_remove_level2_promote_2internal_merge(fapl); + nerrors += test_remove_level2_promote_3internal_merge(fapl); + nerrors += test_remove_level2_2internal_merge_left(fapl); + nerrors += test_remove_level2_2internal_merge_right(fapl); + nerrors += test_remove_level2_3internal_merge(fapl); + nerrors += test_remove_level2_collapse_right(fapl); + if (ExpressMode > 1) + printf("***Express test mode on. test_remove_lots skipped\n"); + else + nerrors += test_remove_lots(fapl); + + /* Test more complex B-tree queries */ + nerrors += test_find_neighbor(fapl); + + /* Test deleting B-trees */ + nerrors += test_delete(fapl); + + /* Test modifying B-tree records */ + nerrors += test_modify(fapl); + + if(nerrors) + goto error; + puts("All v2 B-tree tests passed."); + h5_cleanup(FILENAME, fapl); + } else - nerrors += test_remove_lots(fapl); - - /* Test more complex B-tree queries */ - nerrors += test_find_neighbor(fapl); - - /* Test deleting B-trees */ - nerrors += test_delete(fapl); - - /* Test modifying B-tree records */ - nerrors += test_modify(fapl); - - if(nerrors) - goto error; - puts("All v2 B-tree tests passed."); - h5_cleanup(FILENAME, fapl); + { + puts("All v2 B-tree tests skipped - Incompatible with current Virtual File Driver"); + } return 0; -error: - puts("*** TESTS FAILED ***"); - H5E_BEGIN_TRY { - H5Pclose(fapl); - } H5E_END_TRY; - return 1; + error: + puts("*** TESTS FAILED ***"); + H5E_BEGIN_TRY { + H5Pclose(fapl); + } H5E_END_TRY; + return 1; + } /* end main() */ diff --git a/test/dsets.c b/test/dsets.c index 8555168..66e9e90 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -5989,74 +5989,85 @@ main(void) double rdcc_w0; int nerrors=0; char filename[1024]; + const char *envval = NULL; - h5_reset(); - fapl = h5_fileaccess(); + /* Don't run this test using certain file drivers */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { + h5_reset(); + fapl = h5_fileaccess(); - /* Set the random # seed */ - HDsrandom((unsigned long)HDtime(NULL)); + /* Set the random # seed */ + HDsrandom((unsigned long)HDtime(NULL)); - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - /* Turn off the chunk cache, so all the chunks are immediately written to disk */ - if(H5Pget_cache(fapl, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0)<0) goto error; - rdcc_nbytes=0; - if(H5Pset_cache(fapl, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)<0) goto error; + /* Turn off the chunk cache, so all the chunks are immediately written to disk */ + if(H5Pget_cache(fapl, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0)<0) goto error; + rdcc_nbytes=0; + if(H5Pset_cache(fapl, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)<0) goto error; - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) { - goto error; - } + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) { + goto error; + } - /* Cause the library to emit initial messages */ - if ((grp = H5Gcreate (file, "emit diagnostics", 0))<0) goto error; - if (H5Gset_comment(grp, ".", "Causes diagnostic messages to be emitted")<0) - goto error; - if (H5Gclose (grp)<0) goto error; - - nerrors += test_create(file)<0 ?1:0; - nerrors += test_simple_io(fapl)<0 ?1:0; - nerrors += test_compact_io(fapl)<0 ?1:0; - nerrors += test_max_compact(fapl)<0 ?1:0; - nerrors += test_conv_buffer(file)<0 ?1:0; - nerrors += test_tconv(file)<0 ?1:0; - nerrors += test_filters(file)<0 ?1:0; - nerrors += test_onebyte_shuffle(file)<0 ?1:0; - nerrors += test_nbit_int(file)<0 ?1:0; - nerrors += test_nbit_float(file)<0 ?1:0; - nerrors += test_nbit_double(file)<0 ?1:0; - nerrors += test_nbit_array(file)<0 ?1:0; - nerrors += test_nbit_compound(file)<0 ?1:0; - nerrors += test_nbit_compound_2(file)<0 ?1:0; - nerrors += test_nbit_compound_3(file)<0 ?1:0; - nerrors += test_scaleoffset_int(file)<0 ?1:0; - nerrors += test_scaleoffset_int_2(file)<0 ?1:0; - nerrors += test_scaleoffset_float(file)<0 ?1:0; - nerrors += test_scaleoffset_float_2(file)<0 ?1:0; - nerrors += test_scaleoffset_double(file)<0 ?1:0; - nerrors += test_scaleoffset_double_2(file)<0 ?1:0; - nerrors += test_multiopen (file)<0 ?1:0; - nerrors += test_types(file)<0 ?1:0; - nerrors += test_userblock_offset(fapl)<0 ?1:0; - nerrors += test_missing_filter(file)<0 ?1:0; - nerrors += test_can_apply(file)<0 ?1:0; - nerrors += test_set_local(fapl)<0 ?1:0; - nerrors += test_can_apply_szip(file)<0 ?1:0; - nerrors += test_compare_dcpl(file)<0 ?1:0; - nerrors += test_filter_delete(file)<0 ?1:0; - nerrors += test_filters_endianess()<0 ?1:0; - nerrors += test_zero_dims(file)<0 ?1:0; - nerrors += test_missing_chunk(file)<0 ?1:0; - - if (H5Fclose(file)<0) goto error; - - if (nerrors) goto error; - printf("All dataset tests passed.\n"); - h5_cleanup(FILENAME, fapl); + /* Cause the library to emit initial messages */ + if ((grp = H5Gcreate (file, "emit diagnostics", 0))<0) goto error; + if (H5Gset_comment(grp, ".", "Causes diagnostic messages to be emitted")<0) + goto error; + if (H5Gclose (grp)<0) goto error; + + nerrors += test_create(file)<0 ?1:0; + nerrors += test_simple_io(fapl)<0 ?1:0; + nerrors += test_compact_io(fapl)<0 ?1:0; + nerrors += test_max_compact(fapl)<0 ?1:0; + nerrors += test_conv_buffer(file)<0 ?1:0; + nerrors += test_tconv(file)<0 ?1:0; + nerrors += test_filters(file)<0 ?1:0; + nerrors += test_onebyte_shuffle(file)<0 ?1:0; + nerrors += test_nbit_int(file)<0 ?1:0; + nerrors += test_nbit_float(file)<0 ?1:0; + nerrors += test_nbit_double(file)<0 ?1:0; + nerrors += test_nbit_array(file)<0 ?1:0; + nerrors += test_nbit_compound(file)<0 ?1:0; + nerrors += test_nbit_compound_2(file)<0 ?1:0; + nerrors += test_nbit_compound_3(file)<0 ?1:0; + nerrors += test_scaleoffset_int(file)<0 ?1:0; + nerrors += test_scaleoffset_int_2(file)<0 ?1:0; + nerrors += test_scaleoffset_float(file)<0 ?1:0; + nerrors += test_scaleoffset_float_2(file)<0 ?1:0; + nerrors += test_scaleoffset_double(file)<0 ?1:0; + nerrors += test_scaleoffset_double_2(file)<0 ?1:0; + nerrors += test_multiopen (file)<0 ?1:0; + nerrors += test_types(file)<0 ?1:0; + nerrors += test_userblock_offset(fapl)<0 ?1:0; + nerrors += test_missing_filter(file)<0 ?1:0; + nerrors += test_can_apply(file)<0 ?1:0; + nerrors += test_set_local(fapl)<0 ?1:0; + nerrors += test_can_apply_szip(file)<0 ?1:0; + nerrors += test_compare_dcpl(file)<0 ?1:0; + nerrors += test_filter_delete(file)<0 ?1:0; + nerrors += test_filters_endianess()<0 ?1:0; + nerrors += test_zero_dims(file)<0 ?1:0; + nerrors += test_missing_chunk(file)<0 ?1:0; + + if (H5Fclose(file)<0) goto error; + + if (nerrors) goto error; + printf("All dataset tests passed.\n"); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All dataset tests skipped - Incompatible with current Virtual File Driver"); + } return 0; - error: - nerrors = MAX(1, nerrors); - printf("***** %d DATASET TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); - return 1; + error: + nerrors = MAX(1, nerrors); + printf("***** %d DATASET TEST%s FAILED! *****\n", + nerrors, 1 == nerrors ? "" : "S"); + return 1; } diff --git a/test/enum.c b/test/enum.c index 02cad81..f852ecc 100644 --- a/test/enum.c +++ b/test/enum.c @@ -207,58 +207,68 @@ test_tr1(hid_t file) static c_e1 data1[10]={E1_RED, E1_GREEN, E1_BLUE, E1_GREEN, E1_WHITE, E1_WHITE, E1_BLACK, E1_GREEN, E1_BLUE, E1_RED}; c_e1 data2[10]; + const char *envval = NULL; TESTING("O(1) conversions"); - if ((cwg=H5Gcreate(file, "test_tr1", 0))<0) goto error; - - if ((m_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; - if (H5Tenum_insert(m_type, "RED", CPTR(eval, E1_RED ))<0) goto error; - if (H5Tenum_insert(m_type, "GREEN", CPTR(eval, E1_GREEN))<0) goto error; - if (H5Tenum_insert(m_type, "BLUE", CPTR(eval, E1_BLUE ))<0) goto error; - if (H5Tenum_insert(m_type, "WHITE", CPTR(eval, E1_WHITE))<0) goto error; - if (H5Tenum_insert(m_type, "BLACK", CPTR(eval, E1_BLACK))<0) goto error; - - - if ((f_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; - if (H5Tenum_insert(f_type, "RED", CPTR(ival, 105))<0) goto error; - if (H5Tenum_insert(f_type, "GREEN", CPTR(ival, 104))<0) goto error; - if (H5Tenum_insert(f_type, "BLUE", CPTR(ival, 103))<0) goto error; - if (H5Tenum_insert(f_type, "WHITE", CPTR(ival, 102))<0) goto error; - if (H5Tenum_insert(f_type, "BLACK", CPTR(ival, 101))<0) goto error; - - if ((space=H5Screate_simple(1, ds_size, NULL))<0) goto error; - if ((dset=H5Dcreate(cwg, "color_table", f_type, space, H5P_DEFAULT))<0) - goto error; - if (H5Dwrite(dset, m_type, space, space, H5P_DEFAULT, data1)<0) goto error; - if (H5Dread(dset, m_type, space, space, H5P_DEFAULT, data2)<0) goto error; - - for (i=0; i<ds_size[0]; i++) { - if (data1[i]!=data2[i]) { - H5_FAILED(); - printf(" data1[%lu]=%d, data2[%lu]=%d (should be same)\n", - (unsigned long)i, (int)(data1[i]), - (unsigned long)i, (int)(data2[i])); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + if ((cwg=H5Gcreate(file, "test_tr1", 0))<0) goto error; + + if ((m_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; + if (H5Tenum_insert(m_type, "RED", CPTR(eval, E1_RED ))<0) goto error; + if (H5Tenum_insert(m_type, "GREEN", CPTR(eval, E1_GREEN))<0) goto error; + if (H5Tenum_insert(m_type, "BLUE", CPTR(eval, E1_BLUE ))<0) goto error; + if (H5Tenum_insert(m_type, "WHITE", CPTR(eval, E1_WHITE))<0) goto error; + if (H5Tenum_insert(m_type, "BLACK", CPTR(eval, E1_BLACK))<0) goto error; + + + if ((f_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; + if (H5Tenum_insert(f_type, "RED", CPTR(ival, 105))<0) goto error; + if (H5Tenum_insert(f_type, "GREEN", CPTR(ival, 104))<0) goto error; + if (H5Tenum_insert(f_type, "BLUE", CPTR(ival, 103))<0) goto error; + if (H5Tenum_insert(f_type, "WHITE", CPTR(ival, 102))<0) goto error; + if (H5Tenum_insert(f_type, "BLACK", CPTR(ival, 101))<0) goto error; + + if ((space=H5Screate_simple(1, ds_size, NULL))<0) goto error; + if ((dset=H5Dcreate(cwg, "color_table", f_type, space, H5P_DEFAULT))<0) goto error; + if (H5Dwrite(dset, m_type, space, space, H5P_DEFAULT, data1)<0) goto error; + if (H5Dread(dset, m_type, space, space, H5P_DEFAULT, data2)<0) goto error; + + for (i=0; i<ds_size[0]; i++) { + if (data1[i]!=data2[i]) { + H5_FAILED(); + printf(" data1[%lu]=%d, data2[%lu]=%d (should be same)\n", + (unsigned long)i, (int)(data1[i]), + (unsigned long)i, (int)(data2[i])); + goto error; + } } - } - if (H5Dclose(dset)<0) goto error; - if (H5Sclose(space)<0) goto error; - if (H5Tclose(m_type)<0) goto error; - if (H5Tclose(f_type)<0) goto error; - if (H5Gclose(cwg)<0) goto error; - PASSED(); + if (H5Dclose(dset)<0) goto error; + if (H5Sclose(space)<0) goto error; + if (H5Tclose(m_type)<0) goto error; + if (H5Tclose(f_type)<0) goto error; + if (H5Gclose(cwg)<0) goto error; + PASSED(); + } + else + { + SKIPPED(); + } return 0; - error: - H5E_BEGIN_TRY { - H5Dclose(dset); - H5Sclose(space); - H5Tclose(m_type); - H5Tclose(f_type); - H5Gclose(cwg); - } H5E_END_TRY; - return 1; + error: + H5E_BEGIN_TRY { + H5Dclose(dset); + H5Sclose(space); + H5Tclose(m_type); + H5Tclose(f_type); + H5Gclose(cwg); + } H5E_END_TRY; + return 1; } @@ -288,57 +298,68 @@ test_tr2(hid_t file) static c_e1 data1[10]={E1_RED, E1_GREEN, E1_BLUE, E1_GREEN, E1_WHITE, E1_WHITE, E1_BLACK, E1_GREEN, E1_BLUE, E1_RED}; c_e1 data2[10]; + const char *envval = NULL; TESTING("O(log N) converions"); - if ((cwg=H5Gcreate(file, "test_tr2", 0))<0) goto error; - - if ((m_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; - if (H5Tenum_insert(m_type, "RED", CPTR(val1, E1_RED ))<0) goto error; - if (H5Tenum_insert(m_type, "GREEN", CPTR(val1, E1_GREEN))<0) goto error; - if (H5Tenum_insert(m_type, "BLUE", CPTR(val1, E1_BLUE ))<0) goto error; - if (H5Tenum_insert(m_type, "WHITE", CPTR(val1, E1_WHITE))<0) goto error; - if (H5Tenum_insert(m_type, "BLACK", CPTR(val1, E1_BLACK))<0) goto error; - - if ((f_type = H5Tcreate(H5T_ENUM, sizeof(int)))<0) goto error; - if (H5Tenum_insert(f_type, "RED", CPTR(val2, 1050))<0) goto error; - if (H5Tenum_insert(f_type, "GREEN", CPTR(val2, 1040))<0) goto error; - if (H5Tenum_insert(f_type, "BLUE", CPTR(val2, 1030))<0) goto error; - if (H5Tenum_insert(f_type, "WHITE", CPTR(val2, 1020))<0) goto error; - if (H5Tenum_insert(f_type, "BLACK", CPTR(val2, 1010))<0) goto error; - - if ((space=H5Screate_simple(1, ds_size, NULL))<0) goto error; - if ((dset=H5Dcreate(cwg, "color_table", f_type, space, H5P_DEFAULT))<0) - goto error; - if (H5Dwrite(dset, m_type, space, space, H5P_DEFAULT, data1)<0) goto error; - if (H5Dread(dset, m_type, space, space, H5P_DEFAULT, data2)<0) goto error; - - for (i=0; i<ds_size[0]; i++) { - if (data1[i]!=data2[i]) { - H5_FAILED(); - printf(" data1[%lu]=%d, data2[%lu]=%d (should be same)\n", - (unsigned long)i, (int)(data1[i]), - (unsigned long)i, (int)(data2[i])); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + if ((cwg=H5Gcreate(file, "test_tr2", 0))<0) goto error; + + if ((m_type = H5Tcreate(H5T_ENUM, sizeof(c_e1)))<0) goto error; + if (H5Tenum_insert(m_type, "RED", CPTR(val1, E1_RED ))<0) goto error; + if (H5Tenum_insert(m_type, "GREEN", CPTR(val1, E1_GREEN))<0) goto error; + if (H5Tenum_insert(m_type, "BLUE", CPTR(val1, E1_BLUE ))<0) goto error; + if (H5Tenum_insert(m_type, "WHITE", CPTR(val1, E1_WHITE))<0) goto error; + if (H5Tenum_insert(m_type, "BLACK", CPTR(val1, E1_BLACK))<0) goto error; + + if ((f_type = H5Tcreate(H5T_ENUM, sizeof(int)))<0) goto error; + if (H5Tenum_insert(f_type, "RED", CPTR(val2, 1050))<0) goto error; + if (H5Tenum_insert(f_type, "GREEN", CPTR(val2, 1040))<0) goto error; + if (H5Tenum_insert(f_type, "BLUE", CPTR(val2, 1030))<0) goto error; + if (H5Tenum_insert(f_type, "WHITE", CPTR(val2, 1020))<0) goto error; + if (H5Tenum_insert(f_type, "BLACK", CPTR(val2, 1010))<0) goto error; + + if ((space=H5Screate_simple(1, ds_size, NULL))<0) goto error; + if ((dset=H5Dcreate(cwg, "color_table", f_type, space, H5P_DEFAULT))<0) goto error; + if (H5Dwrite(dset, m_type, space, space, H5P_DEFAULT, data1)<0) goto error; + if (H5Dread(dset, m_type, space, space, H5P_DEFAULT, data2)<0) goto error; + + for (i=0; i<ds_size[0]; i++) { + if (data1[i]!=data2[i]) { + H5_FAILED(); + printf(" data1[%lu]=%d, data2[%lu]=%d (should be same)\n", + (unsigned long)i, (int)(data1[i]), + (unsigned long)i, (int)(data2[i])); + goto error; + } } - } - if (H5Dclose(dset)<0) goto error; - if (H5Sclose(space)<0) goto error; - if (H5Tclose(m_type)<0) goto error; - if (H5Tclose(f_type)<0) goto error; - if (H5Gclose(cwg)<0) goto error; - PASSED(); + if (H5Dclose(dset)<0) goto error; + if (H5Sclose(space)<0) goto error; + if (H5Tclose(m_type)<0) goto error; + if (H5Tclose(f_type)<0) goto error; + if (H5Gclose(cwg)<0) goto error; + PASSED(); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); + } return 0; - error: - H5E_BEGIN_TRY { - H5Dclose(dset); - H5Sclose(space); - H5Tclose(m_type); - H5Tclose(f_type); - H5Gclose(cwg); - } H5E_END_TRY; - return 1; + error: + H5E_BEGIN_TRY { + H5Dclose(dset); + H5Sclose(space); + H5Tclose(m_type); + H5Tclose(f_type); + H5Gclose(cwg); + } H5E_END_TRY; + return 1; } diff --git a/test/extend.c b/test/extend.c index 871446a..6e06d99 100644 --- a/test/extend.c +++ b/test/extend.c @@ -160,43 +160,54 @@ main (void) static hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; char filename[1024]; int i, j; - - h5_reset(); - fapl = h5_fileaccess(); - - /* Initialize buffer and space */ - for (i=0; i<NX; i++) { - for (j=0; j<NY; j++) { - buf1[i][j] = i*NY+j; + const char *envval = NULL; + + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + h5_reset(); + fapl = h5_fileaccess(); + + /* Initialize buffer and space */ + for (i=0; i<NX; i++) { + for (j=0; j<NY; j++) { + buf1[i][j] = i*NY+j; + } } + if ((mem_space = H5Screate_simple (2, dims, maxdims))<0) TEST_ERROR; + + /* Create the file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file = H5Fcreate (filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + + /* Create the dataset which is originally NX by NY */ + if((cparms = H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; + if (H5Pset_chunk (cparms, 2, chunk_dims)<0) TEST_ERROR; + nerrors += write_data("extendible dataset with incremental allocation",file,"dataset1",cparms,mem_space)<0 ?1:0; + if(H5Pset_alloc_time(cparms, H5D_ALLOC_TIME_EARLY)<0) TEST_ERROR; + nerrors += write_data("extendible dataset with early allocation",file,"dataset2",cparms,mem_space)<0 ?1:0; + + if (H5Pclose (cparms)<0) TEST_ERROR; + if (H5Sclose (mem_space)<0) TEST_ERROR; + + if (H5Fclose (file)<0) TEST_ERROR; + if (nerrors) { + printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S"); + exit(1); + } + printf("All extend tests passed.\n"); + h5_cleanup(FILENAME, fapl); } - if ((mem_space = H5Screate_simple (2, dims, maxdims))<0) TEST_ERROR; - - /* Create the file */ - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file = H5Fcreate (filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; - - /* Create the dataset which is originally NX by NY */ - if((cparms = H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; - if (H5Pset_chunk (cparms, 2, chunk_dims)<0) TEST_ERROR; - nerrors += write_data("extendible dataset with incremental allocation",file,"dataset1",cparms,mem_space)<0 ?1:0; - if(H5Pset_alloc_time(cparms, H5D_ALLOC_TIME_EARLY)<0) TEST_ERROR; - nerrors += write_data("extendible dataset with early allocation",file,"dataset2",cparms,mem_space)<0 ?1:0; - - if (H5Pclose (cparms)<0) TEST_ERROR; - if (H5Sclose (mem_space)<0) TEST_ERROR; - - if (H5Fclose (file)<0) TEST_ERROR; - if (nerrors) { - printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S"); - exit(1); + else + { + puts("All extend tests skipped - Incompatible with current Virtual File Driver"); } - printf("All extend tests passed.\n"); - h5_cleanup(FILENAME, fapl); return 0; - error: - printf("*** One or more extend tests failed ***\n"); - return 1; + error: + printf("*** One or more extend tests failed ***\n"); + return 1; + } diff --git a/test/external.c b/test/external.c index e5e57af..a84b06b 100644 --- a/test/external.c +++ b/test/external.c @@ -105,7 +105,6 @@ test_1a(hid_t file) hsize_t file_size; /*sizeof external file segment */ TESTING("fixed-size data space, exact storage"); - /* Create the dataset */ if((dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) goto error; cur_size[0] = max_size[0] = 100; @@ -152,7 +151,6 @@ test_1a(hid_t file) if (H5Dclose (dset)<0) goto error; PASSED(); return 0; - error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -600,7 +598,7 @@ test_2 (hid_t fapl) int temparray[10] = {0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f,0x0f0f0f0f}; TESTING("read external dataset"); - + /* Write the data to external files directly */ for (i=0; i<4; i++) { for (j=0; j<25; j++) { @@ -833,48 +831,59 @@ main (void) char filename[1024]; /*file name for test_1* funcs */ hid_t grp=-1; /*group to emit diagnostics */ int nerrors=0; /*number of errors */ - - h5_reset(); - fapl = h5_fileaccess(); - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) { - goto error; + const char *envval = NULL; + + /* Don't run this test using the split file driver */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + h5_reset(); + fapl = h5_fileaccess(); + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) { + goto error; + } + if ((grp=H5Gcreate(file, "emit-diagnostics", 8))<0) goto error; + if (H5Gclose (grp)<0) goto error; + + nerrors += test_1a(file); + nerrors += test_1b(file); + nerrors += test_1c(file); + nerrors += test_1d(file); + nerrors += test_1e(file); + nerrors += test_1f(file); + nerrors += test_1g(); + nerrors += test_1h(); + nerrors += test_2(fapl); + nerrors += test_3(fapl); + if (nerrors>0) goto error; + + if (H5Fclose(file)<0) goto error; + puts("All external storage tests passed."); + if (h5_cleanup(FILENAME, fapl)) { + remove("extern_1a.raw"); + remove("extern_1b.raw"); + remove("extern_2a.raw"); + remove("extern_2b.raw"); + remove("extern_3a.raw"); + remove("extern_3b.raw"); + remove("extern_4a.raw"); + remove("extern_4b.raw"); + } } - if ((grp=H5Gcreate(file, "emit-diagnostics", 8))<0) goto error; - if (H5Gclose (grp)<0) goto error; - - nerrors += test_1a(file); - nerrors += test_1b(file); - nerrors += test_1c(file); - nerrors += test_1d(file); - nerrors += test_1e(file); - nerrors += test_1f(file); - nerrors += test_1g(); - nerrors += test_1h(); - nerrors += test_2(fapl); - nerrors += test_3(fapl); - if (nerrors>0) goto error; - - if (H5Fclose(file)<0) goto error; - puts("All external storage tests passed."); - if (h5_cleanup(FILENAME, fapl)) { - remove("extern_1a.raw"); - remove("extern_1b.raw"); - remove("extern_2a.raw"); - remove("extern_2b.raw"); - remove("extern_3a.raw"); - remove("extern_3b.raw"); - remove("extern_4a.raw"); - remove("extern_4b.raw"); + else + { + puts("All external storage tests skipped - Incompatible with current Virtual File Driver"); } return 0; - error: - H5E_BEGIN_TRY { - H5Fclose(file); - H5Pclose(fapl); - } H5E_END_TRY; - nerrors = MAX(1, nerrors); - printf ("%d TEST%s FAILED.\n", nerrors, 1==nerrors?"":"s"); - return 1; + error: + H5E_BEGIN_TRY { + H5Fclose(file); + H5Pclose(fapl); + } H5E_END_TRY; + nerrors = MAX(1, nerrors); + printf ("%d TEST%s FAILED.\n", nerrors, 1==nerrors?"":"s"); + return 1; } diff --git a/test/fheap.c b/test/fheap.c index c7ae68e..af3d9ca 100644 --- a/test/fheap.c +++ b/test/fheap.c @@ -16428,6 +16428,7 @@ main(void) unsigned u; /* Local index variable */ unsigned nerrors = 0; /* Cumulative error count */ int ExpressMode; + const char *envval = NULL; /* File Driver value from environment */ /* Reset library */ h5_reset(); @@ -16436,6 +16437,12 @@ main(void) if (ExpressMode > 1) printf("***Express test mode on. Some tests may be skipped\n"); + envval = HDgetenv("HDF5_DRIVER"); + if(envval == NULL) + envval = "nomatch"; + if(HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) + { + /* Initialize heap's creation parameters */ init_small_cparam(&cparam); @@ -16711,6 +16718,10 @@ HDfprintf(stderr, "Uncomment tests!\n"); #else /* QAK */ HDfprintf(stderr, "Uncomment cleanup!\n"); #endif /* QAK */ + } /* end if(HDstrcmp(envval=="...")) */ + else { + printf("All fractal heap tests skipped - Incompatible with current Virtual File Driver"); + } return 0; diff --git a/test/fillval.c b/test/fillval.c index 07da951..b204523 100644 --- a/test/fillval.c +++ b/test/fillval.c @@ -1410,56 +1410,67 @@ int main(int argc, char *argv[]) { int nerrors=0, argno, test_contig=1, test_chunk=1, test_compact=1; + const char *envval = NULL; hid_t fapl=-1; - if (argc>=2) { - test_contig = test_chunk = test_compact = 0; - for (argno=1; argno<argc; argno++) { - if (!strcmp(argv[argno], "contiguous")) { - test_contig = 1; - } else if (!strcmp(argv[argno], "chunked")) { - test_chunk = 1; - } else if (!strcmp(argv[argno], "compact")) { - test_compact =1; - } else { - fprintf(stderr, "usage: %s [contiguous] [chunked] [compact]\n", argv[0]); - exit(1); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi")) { + if (argc>=2) { + test_contig = test_chunk = test_compact = 0; + for (argno=1; argno<argc; argno++) { + if (!strcmp(argv[argno], "contiguous")) { + test_contig = 1; + } else if (!strcmp(argv[argno], "chunked")) { + test_chunk = 1; + } else if (!strcmp(argv[argno], "compact")) { + test_compact =1; + } else { + fprintf(stderr, "usage: %s [contiguous] [chunked] [compact]\n", argv[0]); + exit(1); + } } } - } - h5_reset(); - fapl = h5_fileaccess(); + h5_reset(); + fapl = h5_fileaccess(); - nerrors += test_getset(); + nerrors += test_getset(); - /* Chunked storage layout tests */ - if (test_chunk) { - nerrors += test_create(fapl, FILENAME[0], H5D_CHUNKED); - nerrors += test_rdwr (fapl, FILENAME[2], H5D_CHUNKED); - nerrors += test_extend(fapl, FILENAME[4], H5D_CHUNKED); - } + /* Chunked storage layout tests */ + if (test_chunk) { + nerrors += test_create(fapl, FILENAME[0], H5D_CHUNKED); + nerrors += test_rdwr (fapl, FILENAME[2], H5D_CHUNKED); + nerrors += test_extend(fapl, FILENAME[4], H5D_CHUNKED); + } - /* Contiguous storage layout tests */ - if (test_contig) { - nerrors += test_create(fapl, FILENAME[1], H5D_CONTIGUOUS); - nerrors += test_rdwr (fapl, FILENAME[3], H5D_CONTIGUOUS); - nerrors += test_extend(fapl, FILENAME[5], H5D_CONTIGUOUS); - nerrors += test_compatible(); - } + /* Contiguous storage layout tests */ + if (test_contig) { + nerrors += test_create(fapl, FILENAME[1], H5D_CONTIGUOUS); + nerrors += test_rdwr (fapl, FILENAME[3], H5D_CONTIGUOUS); + nerrors += test_extend(fapl, FILENAME[5], H5D_CONTIGUOUS); + nerrors += test_compatible(); + } - /* Compact dataset storage tests */ - if (test_compact) { - nerrors += test_create(fapl, FILENAME[6], H5D_COMPACT); - nerrors += test_rdwr (fapl, FILENAME[7], H5D_COMPACT); - } + /* Compact dataset storage tests */ + if (test_compact) { + nerrors += test_create(fapl, FILENAME[6], H5D_COMPACT); + nerrors += test_rdwr (fapl, FILENAME[7], H5D_COMPACT); + } - if (nerrors) goto error; - puts("All fill value tests passed."); - if (h5_cleanup(FILENAME, fapl)) remove(FILE_NAME_RAW); + if (nerrors) goto error; + puts("All fill value tests passed."); + if (h5_cleanup(FILENAME, fapl)) remove(FILE_NAME_RAW); + } + else + { + puts("All fill value tests skipped - Incompatible with current Virtual File Driver"); + } return 0; - error: - puts("***** FILL VALUE TESTS FAILED *****"); - return 1; + error: + puts("***** FILL VALUE TESTS FAILED *****"); + return 1; + } diff --git a/test/flush1.c b/test/flush1.c index b5eb6a1..1fd3ca7 100644 --- a/test/flush1.c +++ b/test/flush1.c @@ -56,54 +56,65 @@ main(void) hsize_t ch_size[2] = {5, 5}; hsize_t i, j; char name[1024]; + const char *envval = NULL; h5_reset(); fapl = h5_fileaccess(); TESTING("H5Fflush (part1)"); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + /* Create the file */ + h5_fixname(FILENAME[0], fapl, name, sizeof name); + if ((file=H5Fcreate(name, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) goto error; - /* Create the file */ - h5_fixname(FILENAME[0], fapl, name, sizeof name); - if ((file=H5Fcreate(name, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) goto error; + /* Create a chunked dataset */ + if ((dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) goto error; + if (H5Pset_chunk(dcpl, 2, ch_size)<0) goto error; + if ((space=H5Screate_simple(2, ds_size, NULL))<0) goto error; + if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_FLOAT, space, H5P_DEFAULT))<0) + goto error; - /* Create a chunked dataset */ - if ((dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) goto error; - if (H5Pset_chunk(dcpl, 2, ch_size)<0) goto error; - if ((space=H5Screate_simple(2, ds_size, NULL))<0) goto error; - if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_FLOAT, space, H5P_DEFAULT))<0) - goto error; + /* Write some data */ + for (i=0; i<ds_size[0]; i++) { + /* + * The extra cast in the following statement is a bug workaround + * for the Win32 version 5.0 compiler. + * 1998-11-06 ptl + */ + for (j=0; j<ds_size[1]; j++) { + the_data[i][j] = (double)(hssize_t)i/(hssize_t)(j+1); + } + } + if (H5Dwrite(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT, + the_data)<0) goto error; - /* Write some data */ - for (i=0; i<ds_size[0]; i++) { - /* - * The extra cast in the following statement is a bug workaround - * for the Win32 version 5.0 compiler. - * 1998-11-06 ptl - */ - for (j=0; j<ds_size[1]; j++) { - the_data[i][j] = (double)(hssize_t)i/(hssize_t)(j+1); + /* Create some groups */ + if ((groups=H5Gcreate(file, "some_groups", 0))<0) goto error; + for (i=0; i<100; i++) { + sprintf(name, "grp%02u", (unsigned)i); + if ((grp=H5Gcreate(groups, name, 0))<0) goto error; + if (H5Gclose(grp)<0) goto error; } - } - if (H5Dwrite(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT, - the_data)<0) goto error; - /* Create some groups */ - if ((groups=H5Gcreate(file, "some_groups", 0))<0) goto error; - for (i=0; i<100; i++) { - sprintf(name, "grp%02u", (unsigned)i); - if ((grp=H5Gcreate(groups, name, 0))<0) goto error; - if (H5Gclose(grp)<0) goto error; + /* Flush and exit without closing the library */ + if (H5Fflush(file, H5F_SCOPE_GLOBAL)<0) goto error; + PASSED(); + fflush(stdout); + fflush(stderr); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); } - /* Flush and exit without closing the library */ - if (H5Fflush(file, H5F_SCOPE_GLOBAL)<0) goto error; - PASSED(); - fflush(stdout); - fflush(stderr); HD_exit(0); - return 0; - error: - HD_exit(1); - return 1; + error: + HD_exit(1); + return 1; + } diff --git a/test/flush2.c b/test/flush2.c index 9fb42b4..666443e 100644 --- a/test/flush2.c +++ b/test/flush2.c @@ -55,60 +55,72 @@ main(void) double error; hsize_t i, j; char name[1024]; + const char *envval = NULL; h5_reset(); fapl = h5_fileaccess(); TESTING("H5Fflush (part2)"); - /* Open the file */ - h5_fixname(FILENAME[0], fapl, name, sizeof name); - if ((file=H5Fopen(name, H5F_ACC_RDONLY, fapl))<0) goto error; + /* Don't run this test using the core or split file drivers */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split")) { + /* Open the file */ + h5_fixname(FILENAME[0], fapl, name, sizeof name); + if ((file=H5Fopen(name, H5F_ACC_RDONLY, fapl))<0) goto error; - /* Open the dataset */ - if ((dset=H5Dopen(file, "dset"))<0) goto error; - if ((space=H5Dget_space(dset))<0) goto error; - if (H5Sget_simple_extent_dims(space, ds_size, NULL)<0) goto error; - assert(100==ds_size[0] && 100==ds_size[1]); + /* Open the dataset */ + if ((dset=H5Dopen(file, "dset"))<0) goto error; + if ((space=H5Dget_space(dset))<0) goto error; + if (H5Sget_simple_extent_dims(space, ds_size, NULL)<0) goto error; + assert(100==ds_size[0] && 100==ds_size[1]); - /* Read some data */ - if (H5Dread(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT, - the_data)<0) goto error; - for (i=0; i<ds_size[0]; i++) { - for (j=0; j<ds_size[1]; j++) { - /* - * The extra cast in the following statement is a bug workaround - * for the Win32 version 5.0 compiler. - * 1998-11-06 ptl - */ - error = fabs(the_data[i][j]-(double)(hssize_t)i/((hssize_t)j+1)); - if (error>0.0001) { - H5_FAILED(); - printf(" dset[%lu][%lu] = %g\n", - (unsigned long)i, (unsigned long)j, the_data[i][j]); - printf(" should be %g\n", - (double)(hssize_t)i/(hssize_t)(j+1)); - goto error; + /* Read some data */ + if (H5Dread(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT, + the_data)<0) goto error; + for (i=0; i<ds_size[0]; i++) { + for (j=0; j<ds_size[1]; j++) { + /* + * The extra cast in the following statement is a bug workaround + * for the Win32 version 5.0 compiler. + * 1998-11-06 ptl + */ + error = fabs(the_data[i][j]-(double)(hssize_t)i/((hssize_t)j+1)); + if (error>0.0001) { + H5_FAILED(); + printf(" dset[%lu][%lu] = %g\n", + (unsigned long)i, (unsigned long)j, the_data[i][j]); + printf(" should be %g\n", + (double)(hssize_t)i/(hssize_t)(j+1)); + goto error; + } } } - } - /* Open some groups */ - if ((groups=H5Gopen(file, "some_groups"))<0) goto error; - for (i=0; i<100; i++) { - sprintf(name, "grp%02u", (unsigned)i); - if ((grp=H5Gopen(groups, name))<0) goto error; - if (H5Gclose(grp)<0) goto error; - } + /* Open some groups */ + if ((groups=H5Gopen(file, "some_groups"))<0) goto error; + for (i=0; i<100; i++) { + sprintf(name, "grp%02u", (unsigned)i); + if ((grp=H5Gopen(groups, name))<0) goto error; + if (H5Gclose(grp)<0) goto error; + } - if (H5Gclose(groups)<0) goto error; - if (H5Dclose(dset)<0) goto error; - if (H5Fclose(file)<0) goto error; - PASSED(); - h5_cleanup(FILENAME, fapl); + if (H5Gclose(groups)<0) goto error; + if (H5Dclose(dset)<0) goto error; + if (H5Fclose(file)<0) goto error; + PASSED(); + h5_cleanup(FILENAME, fapl); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); + } return 0; - error: - return 1; + error: + return 1; } diff --git a/test/getname.c b/test/getname.c index d5404cc..e52a654 100644 --- a/test/getname.c +++ b/test/getname.c @@ -96,947 +96,951 @@ int main( void ) hid_t space_id; hid_t type_id, type2_id; hsize_t dims[1] = { 5 }; + const char *envval = NULL; - /* Name length */ - size_t name_len; + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + /* Name length */ + size_t name_len; - /* Reset the library and get the file access property list */ - h5_reset(); - fapl = h5_fileaccess(); + /* Reset the library and get the file access property list */ + h5_reset(); + fapl = h5_fileaccess(); - /* Initialize the file names */ - h5_fixname(FILENAME[0], fapl, filename0, sizeof filename0); - h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1); - h5_fixname(FILENAME[2], fapl, filename2, sizeof filename2); - h5_fixname(FILENAME[3], fapl, filename3, sizeof filename3); + /* Initialize the file names */ + h5_fixname(FILENAME[0], fapl, filename0, sizeof filename0); + h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1); + h5_fixname(FILENAME[2], fapl, filename2, sizeof filename2); + h5_fixname(FILENAME[3], fapl, filename3, sizeof filename3); - /* Create a new file_id using default properties. */ - if ((file_id = H5Fcreate( filename0, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + /* Create a new file_id using default properties. */ + if ((file_id = H5Fcreate( filename0, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gcreate, one group - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gcreate, one group + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gcreate, one group"); + TESTING("H5Iget_name with H5Gcreate, one group"); - /* Create group "g0" in the root group using absolute name */ - if ((group_id = H5Gcreate( file_id, "/g0", 0 ))<0) TEST_ERROR; + /* Create group "g0" in the root group using absolute name */ + if ((group_id = H5Gcreate( file_id, "/g0", 0 ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g0", "/g0") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g0", "/g0") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gcreate, more than one group - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gcreate, more than one group + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gcreate, more than one group"); + TESTING("H5Iget_name with H5Gcreate, more than one group"); + /* Create group "g1" in the root group using absolute name */ + if ((group_id = H5Gcreate( file_id, "/g1", 0 ))<0) TEST_ERROR; - /* Create group "g1" in the root group using absolute name */ - if ((group_id = H5Gcreate( file_id, "/g1", 0 ))<0) TEST_ERROR; + /* Create group "g2" in group "g1" using absolute name */ + if ((group2_id = H5Gcreate( file_id, "/g1/g2", 0 ))<0) TEST_ERROR; - /* Create group "g2" in group "g1" using absolute name */ - if ((group2_id = H5Gcreate( file_id, "/g1/g2", 0 ))<0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gopen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gopen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gopen"); + TESTING("H5Iget_name with H5Gopen"); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR; - /* Reopen the group */ - if ((group2_id = H5Gopen( file_id, "/g1/g2" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group2_id = H5Gopen( file_id, "/g1/g2" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Dcreate - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Dcreate + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Dcreate"); + TESTING("H5Iget_name with H5Dcreate"); - /* Create the dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create the dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset_id = H5Dcreate( file_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset_id = H5Dcreate( file_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); + /* Close */ + H5Dclose( dataset_id ); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR; - /* Create a new dataset inside "g1" */ - if ((dataset_id = H5Dcreate( group_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset inside "g1" */ + if ((dataset_id = H5Dcreate( group_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Dclose( dataset_id ); - H5Sclose( space_id ); + /* Close */ + H5Gclose( group_id ); + H5Dclose( dataset_id ); + H5Sclose( space_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Dopen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Dopen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Dopen"); + TESTING("H5Iget_name with H5Dopen"); - /* Reopen the dataset */ - if ((dataset_id = H5Dopen( file_id, "d1"))<0) TEST_ERROR; + /* Reopen the dataset */ + if ((dataset_id = H5Dopen( file_id, "d1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); + /* Close */ + H5Dclose( dataset_id ); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR; - /* Reopen the dataset */ - if ((dataset_id = H5Dopen( group_id, "d1"))<0) TEST_ERROR; + /* Reopen the dataset */ + if ((dataset_id = H5Dopen( group_id, "d1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Gclose( group_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Gclose( group_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with a long path - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with a long path + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with a long path"); + TESTING("H5Iget_name with a long path"); - /* Create group "g2/bar/baz" */ - if ((group_id = H5Gcreate( file_id, "g2", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g2/bar", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "g2/bar/baz", 0 ))<0) TEST_ERROR; + /* Create group "g2/bar/baz" */ + if ((group_id = H5Gcreate( file_id, "g2", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g2/bar", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "g2/bar/baz", 0 ))<0) TEST_ERROR; - /* Create a dataset */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - if ((dataset_id = H5Dcreate( group3_id , "d1", H5T_NATIVE_INT, space_id, - H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a dataset */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + if ((dataset_id = H5Dcreate( group3_id , "d1", H5T_NATIVE_INT, space_id, + H5P_DEFAULT ))<0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Sclose( space_id ); - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Sclose( space_id ); + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Reopen the dataset */ - if ((dataset_id = H5Dopen( file_id, "/g2/bar/baz/d1"))<0) TEST_ERROR; + /* Reopen the dataset */ + if ((dataset_id = H5Dopen( file_id, "/g2/bar/baz/d1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/g2/bar/baz/d1", "/g2/bar/baz/d1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/g2/bar/baz/d1", "/g2/bar/baz/d1") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); + /* Close */ + H5Dclose( dataset_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Tcommit - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Tcommit + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Tcommit"); + TESTING("H5Iget_name with H5Tcommit"); - /* Create a datatype */ - if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR; + /* Create a datatype */ + if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR; - /* Insert fields */ - if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR; - if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR; - if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR; + /* Insert fields */ + if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR; + if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR; + if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR; - /* Save datatype for later */ - if (H5Tcommit (file_id, "t1", type_id)<0) TEST_ERROR; + /* Save datatype for later */ + if (H5Tcommit (file_id, "t1", type_id)<0) TEST_ERROR; - /* Verify */ - if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR; - /* Close datatype */ - H5Tclose(type_id); + /* Close datatype */ + H5Tclose(type_id); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Topen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Topen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Topen"); + TESTING("H5Iget_name with H5Topen"); - /* Open the named datatype */ - if((type_id=H5Topen(file_id, "t1"))<0) TEST_ERROR; + /* Open the named datatype */ + if((type_id=H5Topen(file_id, "t1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR; - /* Close datatype */ - H5Tclose(type_id); + /* Close datatype */ + H5Tclose(type_id); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and H5Gopen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gmove and H5Gopen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and H5Gopen"); + TESTING("H5Iget_name with H5Gmove and H5Gopen"); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( file_id, "/g1", "/g1a" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( file_id, "/g1", "/g1a" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and H5Dopen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gmove and H5Dopen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and H5Dopen"); + TESTING("H5Iget_name with H5Gmove and H5Dopen"); - /* Reopen the dataset */ - if ((dataset_id = H5Dopen( file_id, "/d1"))<0) TEST_ERROR; + /* Reopen the dataset */ + if ((dataset_id = H5Dopen( file_id, "/d1"))<0) TEST_ERROR; - /* Rename dataset */ - if (H5Gmove( file_id, "/d1", "/d1a" )<0) TEST_ERROR; + /* Rename dataset */ + if (H5Gmove( file_id, "/d1", "/d1a" )<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/d1a", "/d1a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/d1a", "/d1a") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); + /* Close */ + H5Dclose( dataset_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and H5Topen - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gmove and H5Topen + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and H5Topen"); + TESTING("H5Iget_name with H5Gmove and H5Topen"); - /* Open the named datatype */ - if((type_id=H5Topen(file_id, "/t1"))<0) TEST_ERROR; + /* Open the named datatype */ + if((type_id=H5Topen(file_id, "/t1"))<0) TEST_ERROR; - /* Rename datatype */ - if (H5Gmove( file_id, "/t1", "/t1a" )<0) TEST_ERROR; + /* Rename datatype */ + if (H5Gmove( file_id, "/t1", "/t1a" )<0) TEST_ERROR; - /* Verify */ - if(check_name(type_id, "/t1a", "/t1a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(type_id, "/t1a", "/t1a") < 0) TEST_ERROR; - /* Close datatype */ - H5Tclose(type_id); + /* Close datatype */ + H5Tclose(type_id); - PASSED(); + PASSED(); - /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and relative names - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * Test H5Iget_name with H5Gmove and relative names + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and relative names"); + TESTING("H5Iget_name with H5Gmove and relative names"); - /* Create group "/g3" */ - if ((group_id = H5Gcreate( file_id, "/g3", 0 ))<0) TEST_ERROR; + /* Create group "/g3" */ + if ((group_id = H5Gcreate( file_id, "/g3", 0 ))<0) TEST_ERROR; - /* Create group "/g3/foo" using absolute name */ - if ((group2_id = H5Gcreate( file_id, "/g3/foo1", 0 ))<0) TEST_ERROR; + /* Create group "/g3/foo" using absolute name */ + if ((group2_id = H5Gcreate( file_id, "/g3/foo1", 0 ))<0) TEST_ERROR; - /* Open group "/g3/foo" again */ - if ((group3_id = H5Gopen( file_id, "/g3/foo1"))<0) TEST_ERROR; + /* Open group "/g3/foo" again */ + if ((group3_id = H5Gopen( file_id, "/g3/foo1"))<0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( group_id, "foo1", "foo2" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( group_id, "foo1", "foo2" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR; - /* Rename group again */ - if (H5Gmove( file_id, "g3/foo2", "g3/foo1" )<0) TEST_ERROR; + /* Rename group again */ + if (H5Gmove( file_id, "g3/foo2", "g3/foo1" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and a long path - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gmove and a long path + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and a long path"); + TESTING("H5Iget_name with H5Gmove and a long path"); - /* Create group "g4/A/B" */ - if ((group_id = H5Gcreate( file_id, "g4", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g4/A", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "g4/A/B", 0 ))<0) TEST_ERROR; + /* Create group "g4/A/B" */ + if ((group_id = H5Gcreate( file_id, "g4", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g4/A", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "g4/A/B", 0 ))<0) TEST_ERROR; - /* Create group "g5/C" */ - if ((group4_id = H5Gcreate( file_id, "g5", 0 ))<0) TEST_ERROR; - if ((group5_id = H5Gcreate( file_id, "g5/C", 0 ))<0) TEST_ERROR; + /* Create group "g5/C" */ + if ((group4_id = H5Gcreate( file_id, "g5", 0 ))<0) TEST_ERROR; + if ((group5_id = H5Gcreate( file_id, "g5/C", 0 ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR; - /* Move group "B" to "D"*/ - if (H5Gmove( file_id, "/g4/A/B", "/g5/C/D" )<0) TEST_ERROR; + /* Move group "B" to "D"*/ + if (H5Gmove( file_id, "/g4/A/B", "/g5/C/D" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g5/C/D", "/g5/C/D") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g5/C/D", "/g5/C/D") < 0) TEST_ERROR; - /* Move group "/g5/C/D" back to "/g4/A/B" using relative name */ - if (H5Gmove2( group5_id, "D", group2_id, "B" )<0) TEST_ERROR; + /* Move group "/g5/C/D" back to "/g4/A/B" using relative name */ + if (H5Gmove2( group5_id, "D", group2_id, "B" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR; - /* Move group "/g4/A/B" to "/g4/F/B" using relative name */ - if (H5Gmove2( group_id, "A", group_id, "F")<0) TEST_ERROR; + /* Move group "/g4/A/B" to "/g4/F/B" using relative name */ + if (H5Gmove2( group_id, "A", group_id, "F")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g4/F/B", "/g4/F/B") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g4/F/B", "/g4/F/B") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g4/F", "/g4/F") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g4/F", "/g4/F") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Gclose( group5_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Gclose( group5_id ); - PASSED(); + PASSED(); - /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gmove and a long path #2 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * Test H5Iget_name with H5Gmove and a long path #2 + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gmove and a long path #2"); + TESTING("H5Iget_name with H5Gmove and a long path #2"); - /* Create group "g6/A/B" and "g7" */ - if ((group_id = H5Gcreate( file_id, "g6", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g6/A", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "g6/A/B", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file_id, "g7", 0 ))<0) TEST_ERROR; + /* Create group "g6/A/B" and "g7" */ + if ((group_id = H5Gcreate( file_id, "g6", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g6/A", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "g6/A/B", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file_id, "g7", 0 ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g6/A/B", "/g6/A/B") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g6/A/B", "/g6/A/B") < 0) TEST_ERROR; - /* Move group "A" to "C"*/ - if (H5Gmove( file_id, "/g6/A", "/g7/C" )<0) TEST_ERROR; + /* Move group "A" to "C"*/ + if (H5Gmove( file_id, "/g6/A", "/g7/C" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g7/C", "/g7/C") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g7/C", "/g7/C") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g7/C/B", "/g7/C/B") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g7/C/B", "/g7/C/B") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gunlink - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gunlink + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gunlink"); + TESTING("H5Iget_name with H5Gunlink"); - /* Create a new group. */ - if ((group_id = H5Gcreate( file_id, "/g8", 0 ))<0) TEST_ERROR; + /* Create a new group. */ + if ((group_id = H5Gcreate( file_id, "/g8", 0 ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file_id, "/g8")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file_id, "/g8")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gunlink and a long path - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gunlink and a long path + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gunlink and a long path"); + TESTING("H5Iget_name with H5Gunlink and a long path"); - /* Create group "g9/a/b" */ - if ((group_id = H5Gcreate( file_id, "g9", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g9/a", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "g9/a/b", 0 ))<0) TEST_ERROR; + /* Create group "g9/a/b" */ + if ((group_id = H5Gcreate( file_id, "g9", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g9/a", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "g9/a/b", 0 ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file_id, "/g9/a")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file_id, "/g9/a")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Recreate groups */ - if ((group2_id = H5Gcreate( group_id, "a", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR; + /* Recreate groups */ + if ((group2_id = H5Gcreate( group_id, "a", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR; - /* Delete, using relative path */ - if (H5Gunlink( group_id, "a")<0) TEST_ERROR; + /* Delete, using relative path */ + if (H5Gunlink( group_id, "a")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - /* Create group "g10/a/b" */ - if ((group_id = H5Gcreate( file_id, "g10", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g10/a", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "g10/a/b", 0 ))<0) TEST_ERROR; + /* Create group "g10/a/b" */ + if ((group_id = H5Gcreate( file_id, "g10", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g10/a", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "g10/a/b", 0 ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file_id, "/g10/a/b")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file_id, "/g10/a/b")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group3_id ); - /* Recreate group */ - if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR; + /* Recreate group */ + if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR; - /* Delete, using relative path */ - if (H5Gunlink( group_id, "a/b")<0) TEST_ERROR; + /* Delete, using relative path */ + if (H5Gunlink( group_id, "a/b")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group3_id ); - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Gunlink, same names - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Gunlink, same names + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Gunlink, same names"); + TESTING("H5Iget_name with H5Gunlink, same names"); - /* Create group "g11/g" */ - if ((group_id = H5Gcreate( file_id, "g11", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "g11/g", 0 ))<0) TEST_ERROR; + /* Create group "g11/g" */ + if ((group_id = H5Gcreate( file_id, "g11", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "g11/g", 0 ))<0) TEST_ERROR; - /* Create two datasets "g11/d" and "g11/g/d"*/ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - if ((dataset_id = H5Dcreate( group_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - if ((dataset2_id = H5Dcreate( group2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create two datasets "g11/d" and "g11/g/d"*/ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + if ((dataset_id = H5Dcreate( group_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + if ((dataset2_id = H5Dcreate( group2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file_id, "/g11/d")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file_id, "/g11/d")<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "", "") < 0) TEST_ERROR; - /* Verify */ - if(check_name(dataset2_id, "/g11/g/d", "/g11/g/d") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset2_id, "/g11/g/d", "/g11/g/d") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Dclose( dataset2_id ); - H5Sclose( space_id ); - H5Gclose( group_id ); - H5Gclose( group2_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Dclose( dataset2_id ); + H5Sclose( space_id ); + H5Gclose( group_id ); + H5Gclose( group2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Fmount; with IDs on the list - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Fmount; with IDs on the list + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Fmount; with IDs on the list"); + TESTING("H5Iget_name with H5Fmount; with IDs on the list"); - /* Create a group "g12" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g12", 0 ))<0) TEST_ERROR; + /* Create a group "g12" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g12", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - /* Create second file and dataset "d" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and dataset "d" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - /* Create a dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create a dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Create the dataset */ - if ((dataset_id = H5Dcreate( file1_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create the dataset */ + if ((dataset_id = H5Dcreate( file1_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); + /* Close */ + H5Dclose( dataset_id ); - /* Mount second file under "g12" in the first file */ - if (H5Fmount(file_id, "/g12", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "g12" in the first file */ + if (H5Fmount(file_id, "/g12", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Access dataset D in the first file under "/G/D" name */ - if ((dataset_id = H5Dopen( file_id, "/g12/d"))<0) TEST_ERROR; + /* Access dataset D in the first file under "/G/D" name */ + if ((dataset_id = H5Dopen( file_id, "/g12/d"))<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/g12/d", "/g12/d") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/g12/d", "/g12/d") < 0) TEST_ERROR; - if (H5Funmount(file_id, "/g12")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g12")<0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Fclose( file1_id ); - H5Sclose( space_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Fclose( file1_id ); + H5Sclose( space_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Fmount; long name - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Fmount; long name + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Fmount; long name"); + TESTING("H5Iget_name with H5Fmount; long name"); - /* Create a group "g13/g1/g2" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g13", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g13/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g13/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a group "g13/g1/g2" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g13", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g13/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g13/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "g" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "g" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g14", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g14/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g14/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g14", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g14/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g14/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Mount second file under "/g13/g1" in the first file */ - if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g13/g1" in the first file */ + if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - if (H5Funmount(file_id, "/g13/g1")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g13/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - /* Access group in the file to mount */ - if ((group3_id = H5Gopen( file1_id, "/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the file to mount */ + if ((group3_id = H5Gopen( file1_id, "/g14/g3/g4"))<0) TEST_ERROR; - /* Mount second file under "/g13/g1" in the first file (again) */ - if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g13/g1" in the first file (again) */ + if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Get a group ID for the parent of the newly mounted group */ - if ((group2_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR; + /* Get a group ID for the parent of the newly mounted group */ + if ((group2_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR; - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR; - if (H5Funmount(group2_id, "g1")<0) TEST_ERROR; + if (H5Funmount(group2_id, "g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Mount second file under "/g13/g1" in the first file (again) */ - if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g13/g1" in the first file (again) */ + if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Get a group ID for the newly mounted group */ - if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; + /* Get a group ID for the newly mounted group */ + if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; - if (H5Funmount(group2_id, ".")<0) TEST_ERROR; + if (H5Funmount(group2_id, ".")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); - /* Mount second file under "/g13/g1" in the first file, using relative path */ + /* Mount second file under "/g13/g1" in the first file, using relative path */ - if ((group3_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR; + if ((group3_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g13", "/g13") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g13", "/g13") < 0) TEST_ERROR; - if (H5Fmount(group3_id, "g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Fmount(group3_id, "g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Get a group ID for the newly mounted group */ - if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; + /* Get a group ID for the newly mounted group */ + if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - /* Access group in the first file, with relative path */ - if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file, with relative path */ + if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - if (H5Funmount(group2_id, ".")<0) TEST_ERROR; + if (H5Funmount(group2_id, ".")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Mount second file under "/g13/g1" in the first file, using relative path */ + /* Mount second file under "/g13/g1" in the first file, using relative path */ - if ((group3_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; + if ((group3_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; - if (H5Fmount(group3_id, ".", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Fmount(group3_id, ".", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Get a group ID for the newly mounted group */ - if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; + /* Get a group ID for the newly mounted group */ + if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - /* Access group in the first file, with relative path */ - if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR; + /* Access group in the first file, with relative path */ + if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - if (H5Funmount(group2_id, ".")<0) TEST_ERROR; + if (H5Funmount(group2_id, ".")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group2_id ); + H5Gclose( group3_id ); - H5Fclose( file1_id ); + H5Fclose( file1_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Funmount - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Funmount + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Funmount"); + TESTING("H5Iget_name with H5Funmount"); - /* Create a group "g15/g1/g2" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g15", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g15/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g15/g1/g2", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file_id, "/g15/g1/g2/g3", 0 ))<0) TEST_ERROR; + /* Create a group "g15/g1/g2" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g15", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g15/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g15/g1/g2", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file_id, "/g15/g1/g2/g3", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); - /* Create second file and group "g" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "g" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g16", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g16/g4", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g16/g4/g5", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g16", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g16/g4", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g16/g4/g5", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Access group in the first file */ - if ((group_id = H5Gopen( file_id, "/g15/g1/g2/g3"))<0) TEST_ERROR; + /* Access group in the first file */ + if ((group_id = H5Gopen( file_id, "/g15/g1/g2/g3"))<0) TEST_ERROR; - /* Mount second file under "/g13/g1" in the first file */ - if (H5Fmount(file_id, "/g15/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g13/g1" in the first file */ + if (H5Fmount(file_id, "/g15/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Access group in the second file */ - if ((group2_id = H5Gopen( file_id, "/g15/g1/g16/g4/g5"))<0) TEST_ERROR; + /* Access group in the second file */ + if ((group2_id = H5Gopen( file_id, "/g15/g1/g16/g4/g5"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "/g15/g1/g2/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "/g15/g1/g2/g3") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g15/g1/g16/g4/g5", "/g15/g1/g16/g4/g5") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g15/g1/g16/g4/g5", "/g15/g1/g16/g4/g5") < 0) TEST_ERROR; - if (H5Funmount(file_id, "/g15/g1")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g15/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g15/g1/g2/g3", "/g15/g1/g2/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g15/g1/g2/g3", "/g15/g1/g2/g3") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Fclose( file1_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Fclose( file1_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with a defined type dataset - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with a defined type dataset + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with a defined type dataset"); + TESTING("H5Iget_name with a defined type dataset"); - /* Create a datatype */ - if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR; + /* Create a datatype */ + if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR; - /* Insert fields */ - if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR; - if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR; - if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR; + /* Insert fields */ + if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR; + if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR; + if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR; - /* Create group "g17" */ - if ((group_id = H5Gcreate( file_id, "g17", 0 ))<0) TEST_ERROR; + /* Create group "g17" */ + if ((group_id = H5Gcreate( file_id, "g17", 0 ))<0) TEST_ERROR; - /* Save datatype for later */ - if (H5Tcommit (group_id, "t", type_id)<0) TEST_ERROR; + /* Save datatype for later */ + if (H5Tcommit (group_id, "t", type_id)<0) TEST_ERROR; - /* Create a dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create a dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset_id = H5Dcreate( group_id , "d", type_id, space_id, - H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset_id = H5Dcreate( group_id , "d", type_id, space_id, + H5P_DEFAULT ))<0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Tclose( type_id ); - H5Sclose( space_id ); - H5Gclose( group_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Tclose( type_id ); + H5Sclose( space_id ); + H5Gclose( group_id ); - /* Open the named datatype */ - if((type_id=H5Topen(file_id, "/g17/t"))<0) TEST_ERROR; + /* Open the named datatype */ + if((type_id=H5Topen(file_id, "/g17/t"))<0) TEST_ERROR; - /* Verify */ - if(check_name(type_id, "/g17/t", "/g17/t") < 0) TEST_ERROR; + /* Verify */ + if(check_name(type_id, "/g17/t", "/g17/t") < 0) TEST_ERROR; - /* Close datatype */ - H5Tclose(type_id); + /* Close datatype */ + H5Tclose(type_id); - /* Reopen the dataset */ - if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) TEST_ERROR; + /* Reopen the dataset */ + if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) TEST_ERROR; - /* Get datatype*/ - if((type_id=H5Dget_type(dataset_id))<0) TEST_ERROR; + /* Get datatype*/ + if((type_id=H5Dget_type(dataset_id))<0) TEST_ERROR; - /* Verify */ - if(check_name(type_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(type_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Tclose( type_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Tclose( type_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with objects that have two names - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with objects that have two names + *------------------------------------------------------------------------- + */ TESTING("H5Iget_name with datasets that have two names"); @@ -1048,8 +1052,8 @@ if (H5Glink2(dataset_id,".",H5G_LINK_HARD,file_id,"/g17/link")<0) TEST_ERROR; if ((dataset2_id = H5Dopen( file_id, "/g17/link"))<0) TEST_ERROR; /* Make sure that the two IDs use two different names */ - if(check_name(dataset_id, "/g17/d", "/g17/d") < 0) TEST_ERROR; - if(check_name(dataset2_id, "/g17/link", "/g17/link") < 0) TEST_ERROR; + if(check_name(dataset_id, "/g17/d", "/g17/d") < 0) TEST_ERROR; + if(check_name(dataset2_id, "/g17/link", "/g17/link") < 0) TEST_ERROR; if(H5Dclose(dataset_id)<0) TEST_ERROR; if(H5Dclose(dataset2_id)<0) TEST_ERROR; @@ -1057,1328 +1061,1333 @@ if(H5Dclose(dataset2_id)<0) TEST_ERROR; PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with different files, test1 - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with different files, test1 + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with different files"); + TESTING("H5Iget_name with different files"); - /* Create a new file using default properties. */ - if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + /* Create a new file using default properties. */ + if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; /* Create a new file using default properties. */ - if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; - /* Create the dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create the dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file2_id, "/d")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file2_id, "/d")<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "", "") < 0) TEST_ERROR; - /* Verify */ - if(check_name(dataset2_id, "/d", "/d") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset2_id, "/d", "/d") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Dclose( dataset2_id ); - H5Sclose( space_id ); - H5Fclose( file2_id ); - H5Fclose( file3_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Dclose( dataset2_id ); + H5Sclose( space_id ); + H5Fclose( file2_id ); + H5Fclose( file3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with different files, test2 - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with different files, test2 + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with different files #2"); + TESTING("H5Iget_name with different files #2"); - /* Create a new file using default properties. */ - if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + /* Create a new file using default properties. */ + if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; /* Create a new file using default properties. */ - if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; - /* Create the dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create the dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file3_id, "/d")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file3_id, "/d")<0) TEST_ERROR; - /* Verify */ - if(check_name(dataset_id, "/d", "/d") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset_id, "/d", "/d") < 0) TEST_ERROR; - /* Verify */ - if(check_name(dataset2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(dataset2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Dclose( dataset_id ); - H5Dclose( dataset2_id ); - H5Sclose( space_id ); - H5Fclose( file2_id ); - H5Fclose( file3_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Dclose( dataset2_id ); + H5Sclose( space_id ); + H5Fclose( file2_id ); + H5Fclose( file3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with a small buffer for name - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with a small buffer for name + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with a small buffer for name"); + TESTING("H5Iget_name with a small buffer for name"); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR; { - /*small buffer to hold name and its size */ - char name2[SMALL_NAME_BUF_SIZE]; + /*small buffer to hold name and its size */ + char name2[SMALL_NAME_BUF_SIZE]; - /* Get name */ - name_len=H5Iget_name( group_id, name2, SMALL_NAME_BUF_SIZE ); + /* Get name */ + name_len=H5Iget_name( group_id, name2, SMALL_NAME_BUF_SIZE ); - /* Check that name is longer */ - if(name_len <= SMALL_NAME_BUF_SIZE) TEST_ERROR; - if(HDstrcmp(name2, "/")) TEST_ERROR; + /* Check that name is longer */ + if(name_len <= SMALL_NAME_BUF_SIZE) TEST_ERROR; + if(HDstrcmp(name2, "/")) TEST_ERROR; } - /* Verify */ - if(check_name(group_id, "/g17", "/g17") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g17", "/g17") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - PASSED(); + PASSED(); - /*------------------------------------------------------------------------- - * Test H5Iget_name with a dynamic buffer for name - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * Test H5Iget_name with a dynamic buffer for name + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with a dynamic buffer for name"); + TESTING("H5Iget_name with a dynamic buffer for name"); - /* Reopen the group */ - if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR; + /* Reopen the group */ + if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR; - /* Get name */ - name_len = H5Iget_name(group_id, NULL, NAME_BUF_SIZE); + /* Get name */ + name_len = H5Iget_name(group_id, NULL, NAME_BUF_SIZE); { - /* dynamic buffer to hold name */ - char *name3; + /* dynamic buffer to hold name */ + char *name3; - /* Include the extra null character */ - name3 = HDmalloc(name_len + 1); - if(!name3) TEST_ERROR; + /* Include the extra null character */ + name3 = HDmalloc(name_len + 1); + if(!name3) TEST_ERROR; - /* Get name with dynamic buffer */ - if(H5Iget_name(group_id, name3, name_len + 1) < 0) TEST_ERROR; + /* Get name with dynamic buffer */ + if(H5Iget_name(group_id, name3, name_len + 1) < 0) TEST_ERROR; - /* Verify */ - if(HDstrcmp(name3, "/g17")) TEST_ERROR; - *name3 = '\0'; + /* Verify */ + if(HDstrcmp(name3, "/g17")) TEST_ERROR; + *name3 = '\0'; - /* Get name with smaller buffer */ - if(H5Iget_name(group_id, name3, 3) < 0) TEST_ERROR; + /* Get name with smaller buffer */ + if(H5Iget_name(group_id, name3, 3) < 0) TEST_ERROR; - /* Verify */ - if(HDstrcmp(name3, "/g")) TEST_ERROR; + /* Verify */ + if(HDstrcmp(name3, "/g")) TEST_ERROR; - HDfree(name3); + HDfree(name3); } - /* Close */ - H5Gclose( group_id ); + /* Close */ + H5Gclose( group_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with invalid IDs - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with invalid IDs + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with invalid IDs"); + TESTING("H5Iget_name with invalid IDs"); - /* Create a dataspace */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + /* Create a dataspace */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - /* Define a datatype */ - if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR; + /* Define a datatype */ + if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR; - /* Create a new dataset */ - if ((dataset_id = H5Dcreate( file_id , "d2", type_id, space_id, H5P_DEFAULT ))<0) TEST_ERROR; + /* Create a new dataset */ + if ((dataset_id = H5Dcreate( file_id , "d2", type_id, space_id, H5P_DEFAULT ))<0) TEST_ERROR; { char name[NAME_BUF_SIZE]; /* Buffer to hold name and its size */ /* Get name for non commited datatype, it should fail */ H5E_BEGIN_TRY { - if(H5Iget_name( type_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR; + if(H5Iget_name( type_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR; } H5E_END_TRY; /* Get name for dataspace, it should fail */ H5E_BEGIN_TRY { - if(H5Iget_name( space_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR; + if(H5Iget_name( space_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR; } H5E_END_TRY; } - /* Close */ - H5Dclose( dataset_id ); - H5Sclose( space_id ); - H5Tclose( type_id ); + /* Close */ + H5Dclose( dataset_id ); + H5Sclose( space_id ); + H5Tclose( type_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with added names with mounting - *------------------------------------------------------------------------- - */ - - TESTING("H5Iget_name with added names with mounting"); - - /* Create a group "g18/g2" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g18", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g18/g2", 0 ))<0) TEST_ERROR; - - /* Also create a dataset and a datatype */ - if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; - if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR; - if ((dataset_id = H5Dcreate( file_id, "g18/d2", type_id, space_id, - H5P_DEFAULT ))<0) TEST_ERROR; - - if (H5Tcommit(file_id, "g18/t2", type_id) <0) TEST_ERROR; - - /* Create second file and group "/g3/g4/g5" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group3_id = H5Gcreate( file1_id, "/g3", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file1_id, "/g3/g4", 0 ))<0) TEST_ERROR; - if ((group5_id = H5Gcreate( file1_id, "/g3/g4/g5", 0 ))<0) TEST_ERROR; - - /* Mount first file at "g3/g4" in the second file */ - if (H5Fmount(file1_id, "/g3/g4", file_id, H5P_DEFAULT)<0) TEST_ERROR; - - /* Get name for the group ID in the first file, should be "/g18/g2" still */ - if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; - - /* Get name for the dataset ID in the first file, should be "/g18/g2/d2" still */ - if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; - - /* Get name for the datatype ID in the first file, should be "/g18/g2/t2" still */ - if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; - - /* Open the mounted group, dataset, and datatype through their new names */ - if ((group6_id = H5Gopen( file1_id, "/g3/g4/g18/g2" ))<0) TEST_ERROR; - if ((dataset2_id = H5Dopen( file1_id, "/g3/g4/g18/d2" ))<0) TEST_ERROR; - if ((type2_id = H5Topen( file1_id, "/g3/g4/g18/t2" ))<0) TEST_ERROR; - - /* Verify names */ - if(check_name(group6_id, "/g3/g4/g18/g2", "/g3/g4/g18/g2") < 0) TEST_ERROR; - if(check_name(dataset2_id, "/g3/g4/g18/d2", "/g3/g4/g18/d2") < 0) TEST_ERROR; - if(check_name(type2_id, "/g3/g4/g18/t2", "/g3/g4/g18/t2") < 0) TEST_ERROR; - - /* Verify that old IDs still refer to objects by their old names */ - if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; - if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; - if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; - - /* Unmount */ - if (H5Funmount(file1_id, "/g3/g4")<0) TEST_ERROR; - - /* Get name for the IDs of the first file, should be unchanged */ - if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; - if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; - if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; - - /* Get name for the IDs of the second file, should be "" */ - if(check_name(group6_id, "", "") < 0) TEST_ERROR; - if(check_name(dataset2_id, "", "") < 0) TEST_ERROR; - if(check_name(type2_id, "", "") < 0) TEST_ERROR; - - H5Tclose( type_id ); - H5Tclose( type2_id ); - H5Dclose( dataset_id ); - H5Dclose( dataset2_id ); - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Gclose( group5_id ); - H5Gclose( group6_id ); - H5Fclose( file1_id ); + * Test H5Iget_name with added names with mounting + *------------------------------------------------------------------------- + */ + + TESTING("H5Iget_name with added names with mounting"); + + /* Create a group "g18/g2" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g18", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g18/g2", 0 ))<0) TEST_ERROR; + + /* Also create a dataset and a datatype */ + if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR; + if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR; + if ((dataset_id = H5Dcreate( file_id, "g18/d2", type_id, space_id, + H5P_DEFAULT ))<0) TEST_ERROR; + + if (H5Tcommit(file_id, "g18/t2", type_id) <0) TEST_ERROR; + + /* Create second file and group "/g3/g4/g5" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + if ((group3_id = H5Gcreate( file1_id, "/g3", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file1_id, "/g3/g4", 0 ))<0) TEST_ERROR; + if ((group5_id = H5Gcreate( file1_id, "/g3/g4/g5", 0 ))<0) TEST_ERROR; + + /* Mount first file at "g3/g4" in the second file */ + if (H5Fmount(file1_id, "/g3/g4", file_id, H5P_DEFAULT)<0) TEST_ERROR; + + /* Get name for the group ID in the first file, should be "/g18/g2" still */ + if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; + + /* Get name for the dataset ID in the first file, should be "/g18/g2/d2" still */ + if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; + + /* Get name for the datatype ID in the first file, should be "/g18/g2/t2" still */ + if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; + + /* Open the mounted group, dataset, and datatype through their new names */ + if ((group6_id = H5Gopen( file1_id, "/g3/g4/g18/g2" ))<0) TEST_ERROR; + if ((dataset2_id = H5Dopen( file1_id, "/g3/g4/g18/d2" ))<0) TEST_ERROR; + if ((type2_id = H5Topen( file1_id, "/g3/g4/g18/t2" ))<0) TEST_ERROR; + + /* Verify names */ + if(check_name(group6_id, "/g3/g4/g18/g2", "/g3/g4/g18/g2") < 0) TEST_ERROR; + if(check_name(dataset2_id, "/g3/g4/g18/d2", "/g3/g4/g18/d2") < 0) TEST_ERROR; + if(check_name(type2_id, "/g3/g4/g18/t2", "/g3/g4/g18/t2") < 0) TEST_ERROR; + + /* Verify that old IDs still refer to objects by their old names */ + if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; + if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; + if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; + + /* Unmount */ + if (H5Funmount(file1_id, "/g3/g4")<0) TEST_ERROR; + + /* Get name for the IDs of the first file, should be unchanged */ + if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR; + if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR; + if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR; + + /* Get name for the IDs of the second file, should be "" */ + if(check_name(group6_id, "", "") < 0) TEST_ERROR; + if(check_name(dataset2_id, "", "") < 0) TEST_ERROR; + if(check_name(type2_id, "", "") < 0) TEST_ERROR; + + H5Tclose( type_id ); + H5Tclose( type2_id ); + H5Dclose( dataset_id ); + H5Dclose( dataset2_id ); + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Gclose( group5_id ); + H5Gclose( group6_id ); + H5Fclose( file1_id ); PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Fclose - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Fclose + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Fclose"); + TESTING("H5Iget_name with H5Fclose"); - /* Create a file and group "/g1/g2" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a file and group "/g1/g2" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; - /* Close file */ - H5Fclose( file1_id ); + /* Close file */ + H5Fclose( file1_id ); - /* Verify */ - if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Fmount and H5Gunlink - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Fmount and H5Gunlink + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Fmount and H5Gunlink"); + TESTING("H5Iget_name with H5Fmount and H5Gunlink"); - /* Create a file and group "/g1/g2" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a file and group "/g1/g2" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; - /* Create a new file and group "/g3/g4" in it */ - if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR; + /* Create a new file and group "/g3/g4" in it */ + if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR; - /* Mount first file at "/g3/g4" in the second file */ - if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount first file at "/g3/g4" in the second file */ + if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Open the mounted group */ - if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR; + /* Open the mounted group */ + if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; - /* Delete */ - if (H5Gunlink( file1_id, "/g3/g4/g1/g2")<0) TEST_ERROR; + /* Delete */ + if (H5Gunlink( file1_id, "/g3/g4/g1/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "", "") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Gclose( group5_id ); - H5Fclose( file1_id ); - H5Fclose( file2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Gclose( group5_id ); + H5Fclose( file1_id ); + H5Fclose( file2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Fmount and H5Gmove - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Fmount and H5Gmove + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Fmount and H5Gmove"); + TESTING("H5Iget_name with H5Fmount and H5Gmove"); - /* Create a file and group "/g1/g2" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a file and group "/g1/g2" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR; - /* Create a new file and group "/g3/g4" in it */ - if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR; + /* Create a new file and group "/g3/g4" in it */ + if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR; - /* Mount first file at "g3/g4" in the second file */ - if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount first file at "g3/g4" in the second file */ + if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR; - /* Open the mounted group */ - if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR; + /* Open the mounted group */ + if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; - /* Open another mounted group, in the middle of the path */ - if ((group6_id = H5Gopen( file2_id, "/g3/g4/g1" ))<0) TEST_ERROR; + /* Open another mounted group, in the middle of the path */ + if ((group6_id = H5Gopen( file2_id, "/g3/g4/g1" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( file2_id, "/g3/g4/g1/g2", "/g3/g4/g1/g5" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( file2_id, "/g3/g4/g1/g2", "/g3/g4/g1/g5" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR; - if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR; + if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( file2_id, "/g3/g4/g1", "/g3/g4/g1a" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( file2_id, "/g3/g4/g1", "/g3/g4/g1a" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1a/g5", "/g3/g4/g1a/g5") < 0) TEST_ERROR; - if(check_name(group2_id, "/g1a/g5", "/g1a/g5") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1a/g5", "/g3/g4/g1a/g5") < 0) TEST_ERROR; + if(check_name(group2_id, "/g1a/g5", "/g1a/g5") < 0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "/g3/g4/g1a", "/g3/g4/g1a") < 0) TEST_ERROR; - if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "/g3/g4/g1a", "/g3/g4/g1a") < 0) TEST_ERROR; + if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR; - /* Rename middle group back, using relative path */ - if (H5Gmove( group3_id, "g4/g1a", "g4/g1" )<0) TEST_ERROR; + /* Rename middle group back, using relative path */ + if (H5Gmove( group3_id, "g4/g1a", "g4/g1" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR; - if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR; - if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; - if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR; + if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR; + if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; + if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; - /* Rename end group back, using relative path */ - if (H5Gmove( group3_id, "g4/g1/g5", "g4/g1/g2" )<0) TEST_ERROR; + /* Rename end group back, using relative path */ + if (H5Gmove( group3_id, "g4/g1/g5", "g4/g1/g2" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; - if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; - if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; - if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; + if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR; + if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; + if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR; - /* Rename mount point */ - if (H5Gmove( file2_id, "/g3/g4", "/g3/g4a" )<0) TEST_ERROR; + /* Rename mount point */ + if (H5Gmove( file2_id, "/g3/g4", "/g3/g4a" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g3/g4a", "/g3/g4a") < 0) TEST_ERROR; - if(check_name(group5_id, "/g3/g4a/g1/g2", "/g3/g4a/g1/g2") < 0) TEST_ERROR; - if(check_name(group6_id, "/g3/g4a/g1", "/g3/g4a/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g3/g4a", "/g3/g4a") < 0) TEST_ERROR; + if(check_name(group5_id, "/g3/g4a/g1/g2", "/g3/g4a/g1/g2") < 0) TEST_ERROR; + if(check_name(group6_id, "/g3/g4a/g1", "/g3/g4a/g1") < 0) TEST_ERROR; - /* Rename mount point back, using relative path*/ - if (H5Gmove( group3_id, "g4a", "g4" )<0) TEST_ERROR; + /* Rename mount point back, using relative path*/ + if (H5Gmove( group3_id, "g4a", "g4" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR; - if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; - if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR; + if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR; + if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Gclose( group5_id ); - H5Gclose( group6_id ); - H5Fclose( file1_id ); - H5Fclose( file2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Gclose( group5_id ); + H5Gclose( group6_id ); + H5Fclose( file1_id ); + H5Fclose( file2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink hard - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink hard + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink hard"); + TESTING("H5Iget_name with H5Glink hard"); - /* Create group "g19/g1" */ - if ((group_id = H5Gcreate( file_id, "/g19", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g19/g1", 0 ))<0) TEST_ERROR; + /* Create group "g19/g1" */ + if ((group_id = H5Gcreate( file_id, "/g19", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g19/g1", 0 ))<0) TEST_ERROR; - /* Create hard link to "g19/g1/ group */ - if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g2")<0) TEST_ERROR; + /* Create hard link to "g19/g1/ group */ + if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g19/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g19/g2" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; - /* Rename original group */ - if (H5Gmove( file_id, "/g19/g1", "/g19/g3" )<0) TEST_ERROR; + /* Rename original group */ + if (H5Gmove( file_id, "/g19/g1", "/g19/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; - if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; + if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; - /* Rename original group back, using relative path */ - if (H5Gmove( group_id, "g3", "g1" )<0) TEST_ERROR; + /* Rename original group back, using relative path */ + if (H5Gmove( group_id, "g3", "g1" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; - if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; + if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; - /* Create another hard link to "/g19/g1" group */ - if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR; + /* Create another hard link to "/g19/g1" group */ + if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR; - /* Open the group */ - if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR; + /* Open the group */ + if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; - /* Delete group */ - if (H5Gunlink( file_id, "/g19/g3")<0) TEST_ERROR; + /* Delete group */ + if (H5Gunlink( file_id, "/g19/g3")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; - if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; + if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; - /* Close the unlinked group */ - H5Gclose( group4_id ); + /* Close the unlinked group */ + H5Gclose( group4_id ); - /* Create another hard link to "/g19/g1" group */ - if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR; + /* Create another hard link to "/g19/g1" group */ + if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR; - /* Open the group */ - if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR; + /* Open the group */ + if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR; - /* Delete group, using relative path */ - if (H5Gunlink( group_id, "g3")<0) TEST_ERROR; + /* Delete group, using relative path */ + if (H5Gunlink( group_id, "g3")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; - if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR; + if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR; - /* Close the unlinked group */ - H5Gclose( group4_id ); + /* Close the unlinked group */ + H5Gclose( group4_id ); - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink symbolic - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink symbolic + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink symbolic"); + TESTING("H5Iget_name with H5Glink symbolic"); - /* Create group "g20/g1" */ - if ((group_id = H5Gcreate( file_id, "/g20", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g20/g1", 0 ))<0) TEST_ERROR; + /* Create group "g20/g1" */ + if ((group_id = H5Gcreate( file_id, "/g20", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g20/g1", 0 ))<0) TEST_ERROR; - /* Create symbolic link to "g20/g1/ group */ - if (H5Glink(file_id, H5G_LINK_SOFT, "/g20/g1", "/g20/g2")<0) TEST_ERROR; + /* Create symbolic link to "g20/g1/ group */ + if (H5Glink(file_id, H5G_LINK_SOFT, "/g20/g1", "/g20/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g20/g1", "/g20/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g20/g1", "/g20/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g20/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g20/g2" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g20/g2", "/g20/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g20/g2", "/g20/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink symbolic and move target - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink symbolic and move target + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink symbolic and move target"); + TESTING("H5Iget_name with H5Glink symbolic and move target"); - /* Create group "g21/g1" */ - if ((group_id = H5Gcreate( file_id, "/g21", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g21/g1", 0 ))<0) TEST_ERROR; + /* Create group "g21/g1" */ + if ((group_id = H5Gcreate( file_id, "/g21", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g21/g1", 0 ))<0) TEST_ERROR; - /* Create symbolic link to "g21/g1/ group */ - if (H5Glink(file_id, H5G_LINK_SOFT, "/g21/g1", "/g21/g2")<0) TEST_ERROR; + /* Create symbolic link to "g21/g1/ group */ + if (H5Glink(file_id, H5G_LINK_SOFT, "/g21/g1", "/g21/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g21/g1", "/g21/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g21/g1", "/g21/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g21/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g21/g2" ))<0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( file_id, "/g21/g1", "/g21/g3" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( file_id, "/g21/g1", "/g21/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g21/g3", "/g21/g3") < 0) TEST_ERROR; - if(check_name(group3_id, "/g21/g2", "/g21/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g21/g3", "/g21/g3") < 0) TEST_ERROR; + if(check_name(group3_id, "/g21/g2", "/g21/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink symbolic and move source - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink symbolic and move source + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink symbolic and move source"); + TESTING("H5Iget_name with H5Glink symbolic and move source"); - /* Create group "g22/g1" */ - if ((group_id = H5Gcreate( file_id, "/g22", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g22/g1", 0 ))<0) TEST_ERROR; + /* Create group "g22/g1" */ + if ((group_id = H5Gcreate( file_id, "/g22", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g22/g1", 0 ))<0) TEST_ERROR; - /* Create symbolic link to "g22/g1/ group */ - if (H5Glink(file_id, H5G_LINK_SOFT, "/g22/g1", "/g22/g2")<0) TEST_ERROR; + /* Create symbolic link to "g22/g1/ group */ + if (H5Glink(file_id, H5G_LINK_SOFT, "/g22/g1", "/g22/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g22/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g22/g2" ))<0) TEST_ERROR; - /* Rename soft link */ - if (H5Gmove( file_id, "/g22/g2", "/g22/g3" )<0) TEST_ERROR; + /* Rename soft link */ + if (H5Gmove( file_id, "/g22/g2", "/g22/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; - if(check_name(group3_id, "/g22/g3", "/g22/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; + if(check_name(group3_id, "/g22/g3", "/g22/g3") < 0) TEST_ERROR; - /* Rename soft link, using relative paths */ - if (H5Gmove( group_id, "g3", "g2" )<0) TEST_ERROR; + /* Rename soft link, using relative paths */ + if (H5Gmove( group_id, "g3", "g2" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; - if(check_name(group3_id, "/g22/g2", "/g22/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR; + if(check_name(group3_id, "/g22/g2", "/g22/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink symbolic and unlink target - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink symbolic and unlink target + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink symbolic and unlink target"); + TESTING("H5Iget_name with H5Glink symbolic and unlink target"); - /* Create group "g23/g1" */ - if ((group_id = H5Gcreate( file_id, "/g23", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g23/g1", 0 ))<0) TEST_ERROR; + /* Create group "g23/g1" */ + if ((group_id = H5Gcreate( file_id, "/g23", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g23/g1", 0 ))<0) TEST_ERROR; - /* Create symbolic link to "g23/g1/ group */ - if (H5Glink(file_id, H5G_LINK_SOFT, "/g23/g1", "/g23/g2")<0) TEST_ERROR; + /* Create symbolic link to "g23/g1/ group */ + if (H5Glink(file_id, H5G_LINK_SOFT, "/g23/g1", "/g23/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g23/g1", "/g23/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g23/g1", "/g23/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g23/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g23/g2" ))<0) TEST_ERROR; - /* Delete group */ - if (H5Gunlink( file_id, "/g23/g1")<0) TEST_ERROR; + /* Delete group */ + if (H5Gunlink( file_id, "/g23/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g23/g2", "/g23/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g23/g2", "/g23/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with H5Glink symbolic and unlink source - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with H5Glink symbolic and unlink source + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with H5Glink symbolic and unlink source"); + TESTING("H5Iget_name with H5Glink symbolic and unlink source"); - /* Create group "g24/g1" */ - if ((group_id = H5Gcreate( file_id, "/g24", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g24/g1", 0 ))<0) TEST_ERROR; + /* Create group "g24/g1" */ + if ((group_id = H5Gcreate( file_id, "/g24", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g24/g1", 0 ))<0) TEST_ERROR; - /* Create symbolic link to "g24/g1/ group */ - if (H5Glink(file_id, H5G_LINK_SOFT, "/g24/g1", "/g24/g2")<0) TEST_ERROR; + /* Create symbolic link to "g24/g1/ group */ + if (H5Glink(file_id, H5G_LINK_SOFT, "/g24/g1", "/g24/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g24/g1", "/g24/g1") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g24/g1", "/g24/g1") < 0) TEST_ERROR; - /* Open the group */ - if ((group3_id = H5Gopen( file_id, "/g24/g2" ))<0) TEST_ERROR; + /* Open the group */ + if ((group3_id = H5Gopen( file_id, "/g24/g2" ))<0) TEST_ERROR; - /* Delete group */ - if (H5Gunlink( file_id, "/g24/g2")<0) TEST_ERROR; + /* Delete group */ + if (H5Gunlink( file_id, "/g24/g2")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with several nested mounted files - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with several nested mounted files + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with several nested mounted files"); + TESTING("H5Iget_name with several nested mounted files"); - /* Create a group "g25/g1/g2" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g25", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g25/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g25/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a group "g25/g1/g2" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g25", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g25/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g25/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "/g26/g3/g4" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g26/g3/g4" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g26", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g26/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g26/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g26", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g26/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g26/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create third file and group "/g27/g5/g6" in it */ - file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create third file and group "/g27/g5/g6" in it */ + file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file2_id, "/g27", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file2_id, "/g27/g5", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g27/g5/g6", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file2_id, "/g27", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file2_id, "/g27/g5", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g27/g5/g6", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create fourth file and group "/g28/g5/g6" in it */ - file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create fourth file and group "/g28/g5/g6" in it */ + file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file3_id, "/g28", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file3_id, "/g28/g7", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file3_id, "/g28/g7/g8", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file3_id, "/g28", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file3_id, "/g28/g7", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file3_id, "/g28/g7/g8", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Access group which will be hidden in the first file */ - if ((group_id = H5Gopen( file_id, "/g25/g1/g2"))<0) TEST_ERROR; + /* Access group which will be hidden in the first file */ + if ((group_id = H5Gopen( file_id, "/g25/g1/g2"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR; - /* Mount second file under "/g25/g1" in the first file */ - if (H5Fmount(file_id, "/g25/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g25/g1" in the first file */ + if (H5Fmount(file_id, "/g25/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; - /* Access group which will be hidden in the second file */ - if ((group2_id = H5Gopen( file_id, "/g25/g1/g26/g3/g4"))<0) TEST_ERROR; + /* Access group which will be hidden in the second file */ + if ((group2_id = H5Gopen( file_id, "/g25/g1/g26/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; - /* Mount third file under "/g25/g1/g26/g3" in the first file */ - if (H5Fmount(file_id, "/g25/g1/g26/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount third file under "/g25/g1/g26/g3" in the first file */ + if (H5Fmount(file_id, "/g25/g1/g26/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; - /* Access group in the third file */ - if ((group3_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g6"))<0) TEST_ERROR; + /* Access group in the third file */ + if ((group3_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g6"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; - /* Mount fourth file under "/g25/g1/g26/g3/g27/g5" in the first file */ - if (H5Fmount(file_id, "/g25/g1/g26/g3/g27/g5", file3_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount fourth file under "/g25/g1/g26/g3/g27/g5" in the first file */ + if (H5Fmount(file_id, "/g25/g1/g26/g3/g27/g5", file3_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; - /* Access group in the fourth file */ - if ((group4_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8"))<0) TEST_ERROR; + /* Access group in the fourth file */ + if ((group4_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8", "/g25/g1/g26/g3/g27/g5/g28/g7/g8") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8", "/g25/g1/g26/g3/g27/g5/g28/g7/g8") < 0) TEST_ERROR; - if (H5Funmount(file_id, "/g25/g1/g26/g3/g27/g5")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g25/g1/g26/g3/g27/g5")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; - if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; - if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR; + if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; + if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group4_id ); - H5Fclose( file3_id ); + /* Close */ + H5Gclose( group4_id ); + H5Fclose( file3_id ); - if (H5Funmount(file_id, "/g25/g1/g26/g3")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g25/g1/g26/g3")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; - if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR; + if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group3_id ); - H5Fclose( file2_id ); + /* Close */ + H5Gclose( group3_id ); + H5Fclose( file2_id ); - if (H5Funmount(file_id, "/g25/g1")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g25/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; - if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; + if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Fclose( file1_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Fclose( file1_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name and H5Gmove with repeated path components - *------------------------------------------------------------------------- - */ + * Test H5Iget_name and H5Gmove with repeated path components + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name and H5Gmove with repeated path components"); + TESTING("H5Iget_name and H5Gmove with repeated path components"); - /* Create a group "g29/g1/g2/g1/g2" in a file */ - if ((group_id = H5Gcreate( file_id, "/g29", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g29/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g29/g1/g2", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file_id, "/g29/g1/g2/g1", 0 ))<0) TEST_ERROR; - if ((group5_id = H5Gcreate( file_id, "/g29/g1/g2/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a group "g29/g1/g2/g1/g2" in a file */ + if ((group_id = H5Gcreate( file_id, "/g29", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g29/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g29/g1/g2", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file_id, "/g29/g1/g2/g1", 0 ))<0) TEST_ERROR; + if ((group5_id = H5Gcreate( file_id, "/g29/g1/g2/g1/g2", 0 ))<0) TEST_ERROR; - /* Rename group */ - if (H5Gmove( file_id, "/g29/g1/g2/g1/g2", "/g29/g1/g2/g1/g3" )<0) TEST_ERROR; + /* Rename group */ + if (H5Gmove( file_id, "/g29/g1/g2/g1/g2", "/g29/g1/g2/g1/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g29/g1/g2/g1/g3", "/g29/g1/g2/g1/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g29/g1/g2/g1/g3", "/g29/g1/g2/g1/g3") < 0) TEST_ERROR; - /* Rename group in middle of path, keeping within the same group */ - if (H5Gmove( file_id, "/g29/g1/g2/g1", "/g29/g1/g2/g3" )<0) TEST_ERROR; + /* Rename group in middle of path, keeping within the same group */ + if (H5Gmove( file_id, "/g29/g1/g2/g1", "/g29/g1/g2/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g29/g1/g2/g3", "/g29/g1/g2/g3") < 0) TEST_ERROR; - if(check_name(group5_id, "/g29/g1/g2/g3/g3", "/g29/g1/g2/g3/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g29/g1/g2/g3", "/g29/g1/g2/g3") < 0) TEST_ERROR; + if(check_name(group5_id, "/g29/g1/g2/g3/g3", "/g29/g1/g2/g3/g3") < 0) TEST_ERROR; - /* Rename group in middle of path, moving to another group in file */ - if (H5Gmove( file_id, "/g29/g1/g2/g3", "/g29/g3" )<0) TEST_ERROR; + /* Rename group in middle of path, moving to another group in file */ + if (H5Gmove( file_id, "/g29/g1/g2/g3", "/g29/g3" )<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g29/g3", "/g29/g3") < 0) TEST_ERROR; - if(check_name(group5_id, "/g29/g3/g3", "/g29/g3/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g29/g3", "/g29/g3") < 0) TEST_ERROR; + if(check_name(group5_id, "/g29/g3/g3", "/g29/g3/g3") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Gclose( group5_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Gclose( group5_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with higher mounted file - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with higher mounted file + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with higher mounted file"); + TESTING("H5Iget_name with higher mounted file"); - /* Create a group "/g30/g1/g2" in the first file */ - if ((group_id = H5Gcreate( file_id, "/g30", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g30/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g30/g1/g2", 0 ))<0) TEST_ERROR; + /* Create a group "/g30/g1/g2" in the first file */ + if ((group_id = H5Gcreate( file_id, "/g30", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g30/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g30/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "/g31/g3/g4" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g31/g3/g4" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g31", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g31/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g31/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g31", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g31/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g31/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create third file and group "/g32/g5/g6" in it */ - file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create third file and group "/g32/g5/g6" in it */ + file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file2_id, "/g32", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file2_id, "/g32/g5", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g32/g5/g6", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file2_id, "/g32", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file2_id, "/g32/g5", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g32/g5/g6", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create fourth file and group "/g33/g5/g6" in it */ - file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create fourth file and group "/g33/g5/g6" in it */ + file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file3_id, "/g33", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file3_id, "/g33/g7", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file3_id, "/g33/g7/g8", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file3_id, "/g33", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file3_id, "/g33/g7", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file3_id, "/g33/g7/g8", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Access group which will be hidden in the first file */ - if ((group_id = H5Gopen( file_id, "/g30/g1/g2"))<0) TEST_ERROR; + /* Access group which will be hidden in the first file */ + if ((group_id = H5Gopen( file_id, "/g30/g1/g2"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR; - /* Mount second file under "/g30/g1" in the first file */ - if (H5Fmount(file_id, "/g30/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g30/g1" in the first file */ + if (H5Fmount(file_id, "/g30/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; - /* Access group which will be hidden in the second file */ - if ((group2_id = H5Gopen( file_id, "/g30/g1/g31/g3/g4"))<0) TEST_ERROR; + /* Access group which will be hidden in the second file */ + if ((group2_id = H5Gopen( file_id, "/g30/g1/g31/g3/g4"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; - /* Mount third file under "/g30/g1/g31/g3" in the first file */ - if (H5Fmount(file_id, "/g30/g1/g31/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount third file under "/g30/g1/g31/g3" in the first file */ + if (H5Fmount(file_id, "/g30/g1/g31/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; - /* Access group which will be hidden in the third file */ - if ((group3_id = H5Gopen( file_id, "/g30/g1/g31/g3/g32/g5/g6"))<0) TEST_ERROR; + /* Access group which will be hidden in the third file */ + if ((group3_id = H5Gopen( file_id, "/g30/g1/g31/g3/g32/g5/g6"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; - /* Mount fourth file under "/g30" in the first file, hiding the files below it */ - if (H5Fmount(file_id, "/g30", file3_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount fourth file under "/g30" in the first file, hiding the files below it */ + if (H5Fmount(file_id, "/g30", file3_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; - /* Access group which will be in the fourth file */ - if ((group4_id = H5Gopen( file_id, "/g30/g33/g7/g8"))<0) TEST_ERROR; + /* Access group which will be in the fourth file */ + if ((group4_id = H5Gopen( file_id, "/g30/g33/g7/g8"))<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g30/g33/g7/g8", "/g30/g33/g7/g8") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g30/g33/g7/g8", "/g30/g33/g7/g8") < 0) TEST_ERROR; - /* Unmount fourth file */ - if (H5Funmount(file_id, "/g30")<0) TEST_ERROR; + /* Unmount fourth file */ + if (H5Funmount(file_id, "/g30")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; - if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; - if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR; + if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; + if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; - /* Unmount third file */ - if (H5Funmount(file_id, "/g30/g1/g31/g3")<0) TEST_ERROR; + /* Unmount third file */ + if (H5Funmount(file_id, "/g30/g1/g31/g3")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; - if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR; + if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR; - /* Unmount second file */ - if (H5Funmount(file_id, "/g30/g1")<0) TEST_ERROR; + /* Unmount second file */ + if (H5Funmount(file_id, "/g30/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "", "") < 0) TEST_ERROR; - if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "", "") < 0) TEST_ERROR; + if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR; - /* Close groups */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); + /* Close groups */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); - /* Close files */ - H5Fclose( file1_id ); - H5Fclose( file2_id ); - H5Fclose( file3_id ); + /* Close files */ + H5Fclose( file1_id ); + H5Fclose( file2_id ); + H5Fclose( file3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with multiple hard links and mounted files - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with multiple hard links and mounted files + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with multiple hard links and mounted files"); + TESTING("H5Iget_name with multiple hard links and mounted files"); - /* Create second file and group "/g35/g3/g4" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g35/g3/g4" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g35", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g35/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g35/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g35", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g35/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g35/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create group "/g34/g1/g2" in first file */ - if ((group_id = H5Gcreate( file_id, "/g34", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g34/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g34/g1/g2", 0 ))<0) TEST_ERROR; + /* Create group "/g34/g1/g2" in first file */ + if ((group_id = H5Gcreate( file_id, "/g34", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g34/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g34/g1/g2", 0 ))<0) TEST_ERROR; - /* Create hard link to "/g34/g1/g2 group */ - if (H5Glink(file_id, H5G_LINK_HARD, "/g34/g1/g2", "/g34/g2a")<0) TEST_ERROR; + /* Create hard link to "/g34/g1/g2 group */ + if (H5Glink(file_id, H5G_LINK_HARD, "/g34/g1/g2", "/g34/g2a")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR; - /* Open the link to the group */ - if ((group4_id = H5Gopen( file_id, "/g34/g2a" ))<0) TEST_ERROR; + /* Open the link to the group */ + if ((group4_id = H5Gopen( file_id, "/g34/g2a" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; - /* Mount second file under "/g34/g1" in the first file */ - if (H5Fmount(file_id, "/g34/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g34/g1" in the first file */ + if (H5Fmount(file_id, "/g34/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "", "/g34/g1/g2") < 0) TEST_ERROR; - if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "", "/g34/g1/g2") < 0) TEST_ERROR; + if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; - /* Unmount second file */ - if (H5Funmount(file_id, "/g34/g1")<0) TEST_ERROR; + /* Unmount second file */ + if (H5Funmount(file_id, "/g34/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR; - if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR; + if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Fclose( file1_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Fclose( file1_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with mounted files and unlinking - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with mounted files and unlinking + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with mounted files and unlinking"); + TESTING("H5Iget_name with mounted files and unlinking"); - /* Create group "/g36/g1/g2" in first file */ - if ((group_id = H5Gcreate( file_id, "/g36", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file_id, "/g36/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file_id, "/g36/g1/g2", 0 ))<0) TEST_ERROR; + /* Create group "/g36/g1/g2" in first file */ + if ((group_id = H5Gcreate( file_id, "/g36", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file_id, "/g36/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file_id, "/g36/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "/g37/g4" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g37/g4" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g37", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g37/g4", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g37/g4/g5a", 0 ))<0) TEST_ERROR; - if ((group4_id = H5Gcreate( file1_id, "/g37/g4/g5b", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g37", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g37/g4", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g37/g4/g5a", 0 ))<0) TEST_ERROR; + if ((group4_id = H5Gcreate( file1_id, "/g37/g4/g5b", 0 ))<0) TEST_ERROR; - /* Mount second file under "/g36/g1" in the first file */ - if (H5Fmount(file_id, "/g36/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g36/g1" in the first file */ + if (H5Fmount(file_id, "/g36/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - /* Open group in mounted file */ - if ((group5_id = H5Gopen( file_id, "/g36/g1/g37/" ))<0) TEST_ERROR; + /* Open group in mounted file */ + if ((group5_id = H5Gopen( file_id, "/g36/g1/g37/" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group5_id, "/g36/g1/g37", "/g36/g1/g37") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group5_id, "/g36/g1/g37", "/g36/g1/g37") < 0) TEST_ERROR; - /* Open group to delete in mounted file */ - if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5a" ))<0) TEST_ERROR; + /* Open group to delete in mounted file */ + if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5a" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "/g36/g1/g37/g4/g5a", "/g36/g1/g37/g4/g5a") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "/g36/g1/g37/g4/g5a", "/g36/g1/g37/g4/g5a") < 0) TEST_ERROR; - /* Delete end group in mounted file, using relative paths */ - if (H5Gunlink( group5_id, "g4/g5a")<0) TEST_ERROR; + /* Delete end group in mounted file, using relative paths */ + if (H5Gunlink( group5_id, "g4/g5a")<0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "", "") < 0) TEST_ERROR; - if(check_name(group3_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "", "") < 0) TEST_ERROR; + if(check_name(group3_id, "", "") < 0) TEST_ERROR; - /* Close deleted group */ - H5Gclose( group6_id ); + /* Close deleted group */ + H5Gclose( group6_id ); - /* Open groups to delete in mounted file */ - if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4" ))<0) TEST_ERROR; - if ((group7_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5b" ))<0) TEST_ERROR; + /* Open groups to delete in mounted file */ + if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4" ))<0) TEST_ERROR; + if ((group7_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5b" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "/g36/g1/g37/g4", "/g36/g1/g37/g4") < 0) TEST_ERROR; - if(check_name(group7_id, "/g36/g1/g37/g4/g5b", "/g36/g1/g37/g4/g5b") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "/g36/g1/g37/g4", "/g36/g1/g37/g4") < 0) TEST_ERROR; + if(check_name(group7_id, "/g36/g1/g37/g4/g5b", "/g36/g1/g37/g4/g5b") < 0) TEST_ERROR; - /* Delete middle group in mounted file, using relative paths */ - if (H5Gunlink( group5_id, "g4")<0) TEST_ERROR; + /* Delete middle group in mounted file, using relative paths */ + if (H5Gunlink( group5_id, "g4")<0) TEST_ERROR; - /* Verify */ - if(check_name(group6_id, "", "") < 0) TEST_ERROR; - if(check_name(group2_id, "", "") < 0) TEST_ERROR; - if(check_name(group7_id, "", "") < 0) TEST_ERROR; - if(check_name(group4_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group6_id, "", "") < 0) TEST_ERROR; + if(check_name(group2_id, "", "") < 0) TEST_ERROR; + if(check_name(group7_id, "", "") < 0) TEST_ERROR; + if(check_name(group4_id, "", "") < 0) TEST_ERROR; - /* Close deleted groups */ - H5Gclose( group6_id ); - H5Gclose( group7_id ); + /* Close deleted groups */ + H5Gclose( group6_id ); + H5Gclose( group7_id ); - /* Close group in mounted file */ - H5Gclose( group5_id ); + /* Close group in mounted file */ + H5Gclose( group5_id ); - if (H5Funmount(file_id, "/g36/g1")<0) TEST_ERROR; + if (H5Funmount(file_id, "/g36/g1")<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); - H5Gclose( group4_id ); - H5Fclose( file1_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); + H5Gclose( group4_id ); + H5Fclose( file1_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with mounting already mounted files - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with mounting already mounted files + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with mounting already mounted files"); + TESTING("H5Iget_name with mounting already mounted files"); - /* Create file and group "/g38/g1/g2" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create file and group "/g38/g1/g2" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g38", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g38/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g38/g1/g2", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g38", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g38/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g38/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "/g39/g1/g2" in it */ - file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g39/g1/g2" in it */ + file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file2_id, "/g39", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file2_id, "/g39/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g39/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file2_id, "/g39", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file2_id, "/g39/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g39/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create third file and group "/g40/g5/g6" in it */ - file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create third file and group "/g40/g5/g6" in it */ + file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file3_id, "/g40", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file3_id, "/g40/g5", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file3_id, "/g40/g5/g6", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file3_id, "/g40", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file3_id, "/g40/g5", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file3_id, "/g40/g5/g6", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Mount second file under "/g38/g1" in the first file */ - if (H5Fmount(file1_id, "/g38/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g38/g1" in the first file */ + if (H5Fmount(file1_id, "/g38/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR; - if ((group_id = H5Gopen( file1_id, "/g38/g1/g39/g3/g4" ))<0) TEST_ERROR; + if ((group_id = H5Gopen( file1_id, "/g38/g1/g39/g3/g4" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; - /* Mount first file under "/g40/g5" in the third file */ - if (H5Fmount(file3_id, "/g40/g5", file1_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount first file under "/g40/g5" in the third file */ + if (H5Fmount(file3_id, "/g40/g5", file1_id, H5P_DEFAULT)<0) TEST_ERROR; - if ((group2_id = H5Gopen( file3_id, "/g40/g5/g38/g1/g39/g3/g4" ))<0) TEST_ERROR; + if ((group2_id = H5Gopen( file3_id, "/g40/g5/g38/g1/g39/g3/g4" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "/g40/g5/g38/g1/g39/g3/g4", "/g40/g5/g38/g1/g39/g3/g4") < 0) TEST_ERROR; - if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "/g40/g5/g38/g1/g39/g3/g4", "/g40/g5/g38/g1/g39/g3/g4") < 0) TEST_ERROR; + if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; - /* Unmount first file */ - if (H5Funmount(file3_id, "/g40/g5")<0) TEST_ERROR; + /* Unmount first file */ + if (H5Funmount(file3_id, "/g40/g5")<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; - if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; + if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR; - /* Unmount second file */ - if (H5Funmount(file1_id, "/g38/g1")<0) TEST_ERROR; + /* Unmount second file */ + if (H5Funmount(file1_id, "/g38/g1")<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Fclose( file1_id ); - H5Fclose( file2_id ); - H5Fclose( file3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Fclose( file1_id ); + H5Fclose( file2_id ); + H5Fclose( file3_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * Test H5Iget_name with opening object in unmounted file - *------------------------------------------------------------------------- - */ + * Test H5Iget_name with opening object in unmounted file + *------------------------------------------------------------------------- + */ - TESTING("H5Iget_name with opening object in unmounted file"); + TESTING("H5Iget_name with opening object in unmounted file"); - /* Create file and group "/g39/g1/g2" in it */ - file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create file and group "/g39/g1/g2" in it */ + file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file1_id, "/g41", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file1_id, "/g41/g1", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file1_id, "/g41/g1/g2", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file1_id, "/g41", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file1_id, "/g41/g1", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file1_id, "/g41/g1/g2", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Create second file and group "/g42/g1/g2" in it */ - file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + /* Create second file and group "/g42/g1/g2" in it */ + file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - if ((group_id = H5Gcreate( file2_id, "/g42", 0 ))<0) TEST_ERROR; - if ((group2_id = H5Gcreate( file2_id, "/g42/g3", 0 ))<0) TEST_ERROR; - if ((group3_id = H5Gcreate( file2_id, "/g42/g3/g4", 0 ))<0) TEST_ERROR; + if ((group_id = H5Gcreate( file2_id, "/g42", 0 ))<0) TEST_ERROR; + if ((group2_id = H5Gcreate( file2_id, "/g42/g3", 0 ))<0) TEST_ERROR; + if ((group3_id = H5Gcreate( file2_id, "/g42/g3/g4", 0 ))<0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Gclose( group3_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Gclose( group3_id ); - /* Mount second file under "/g41/g1" in the first file */ - if (H5Fmount(file1_id, "/g41/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR; + /* Mount second file under "/g41/g1" in the first file */ + if (H5Fmount(file1_id, "/g41/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR; - if ((group_id = H5Gopen( file1_id, "/g41/g1/g42/g3" ))<0) TEST_ERROR; + if ((group_id = H5Gopen( file1_id, "/g41/g1/g42/g3" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group_id, "/g41/g1/g42/g3", "/g41/g1/g42/g3") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group_id, "/g41/g1/g42/g3", "/g41/g1/g42/g3") < 0) TEST_ERROR; - /* Unmount file */ - if (H5Funmount(file1_id, "/g41/g1")<0) TEST_ERROR; + /* Unmount file */ + if (H5Funmount(file1_id, "/g41/g1")<0) TEST_ERROR; - if ((group2_id = H5Gopen( group_id, "g4" ))<0) TEST_ERROR; + if ((group2_id = H5Gopen( group_id, "g4" ))<0) TEST_ERROR; - /* Verify */ - if(check_name(group2_id, "", "") < 0) TEST_ERROR; + /* Verify */ + if(check_name(group2_id, "", "") < 0) TEST_ERROR; - /* Close */ - H5Gclose( group_id ); - H5Gclose( group2_id ); - H5Fclose( file1_id ); - H5Fclose( file2_id ); + /* Close */ + H5Gclose( group_id ); + H5Gclose( group2_id ); + H5Fclose( file1_id ); + H5Fclose( file2_id ); - PASSED(); + PASSED(); /*------------------------------------------------------------------------- - * end tests - *------------------------------------------------------------------------- - */ - - - /* Close file */ - H5Fclose( file_id ); - puts("All getname tests passed."); - h5_cleanup(FILENAME, fapl); + * end tests + *------------------------------------------------------------------------- + */ + + + /* Close file */ + H5Fclose( file_id ); + puts("All getname tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All getname tests skipped - Incompatible with current Virtual File Driver"); + } return 0; -error: - H5Fclose( file_id ); - H5_FAILED(); - return 1; + error: + H5Fclose( file_id ); + H5_FAILED(); + return 1; } diff --git a/test/istore.c b/test/istore.c index f9e19d0..2663eeb 100644 --- a/test/istore.c +++ b/test/istore.c @@ -567,129 +567,140 @@ main(int argc, char *argv[]) unsigned size_of_test; unsigned u; /* Local index variable */ char filename[1024]; - - /* Parse arguments or assume these tests (`small', `medium' ) */ - if (1 == argc) { - size_of_test = TEST_SMALL; - } else { - int i; - for (i = 1, size_of_test = 0; i < argc; i++) { - if (!strcmp(argv[i], "small")) { - size_of_test |= TEST_SMALL; - } else if (!strcmp(argv[i], "medium")) { - size_of_test |= TEST_MEDIUM; - } else if (!strcmp(argv[i], "large")) { - size_of_test |= TEST_LARGE; - } else { - printf("unrecognized argument: %s\n", argv[i]); + const char *envval = NULL; + + /* Don't run this test using the split file driver */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + /* Parse arguments or assume these tests (`small', `medium' ) */ + if (1 == argc) { + size_of_test = TEST_SMALL; + } else { + int i; + for (i = 1, size_of_test = 0; i < argc; i++) { + if (!strcmp(argv[i], "small")) { + size_of_test |= TEST_SMALL; + } else if (!strcmp(argv[i], "medium")) { + size_of_test |= TEST_MEDIUM; + } else if (!strcmp(argv[i], "large")) { + size_of_test |= TEST_LARGE; + } else { + printf("unrecognized argument: %s\n", argv[i]); #if 0 - exit(1); + exit(1); #endif + } } } - } - printf("Test sizes: "); - if (size_of_test & TEST_SMALL) - printf(" SMALL"); - if (size_of_test & TEST_MEDIUM) - printf(" MEDIUM"); - if (size_of_test & TEST_LARGE) - printf(" LARGE"); - printf("\n"); - - /* Set the random # seed */ - HDsrandom((unsigned long)HDtime(NULL)); - - /* Reset library */ - h5_reset(); - fapl = h5_fileaccess(); - - /* Use larger file addresses... */ - fcpl = H5Pcreate(H5P_FILE_CREATE); - H5Pset_sizes(fcpl, 8, 0); - - /* Create the test file */ - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl))<0) { - printf("Cannot create file %s; test aborted\n", filename); - exit(1); - } - - /* - * For testing file families, fool the library into thinking it already - * allocated a whole bunch of data. - */ - if (H5FD_FAMILY==H5Pget_driver(fapl)) { - haddr_t addr; - H5F_t *f; - - addr = 8 * ((uint64_t)1<<30); /*8 GB */ - f=H5I_object(file); - if (H5FDset_eoa(f->shared->lf, addr)<0) { - printf("Cannot create large file family\n"); + printf("Test sizes: "); + if (size_of_test & TEST_SMALL) + printf(" SMALL"); + if (size_of_test & TEST_MEDIUM) + printf(" MEDIUM"); + if (size_of_test & TEST_LARGE) + printf(" LARGE"); + printf("\n"); + + /* Set the random # seed */ + HDsrandom((unsigned long)HDtime(NULL)); + + /* Reset library */ + h5_reset(); + fapl = h5_fileaccess(); + + /* Use larger file addresses... */ + fcpl = H5Pcreate(H5P_FILE_CREATE); + H5Pset_sizes(fcpl, 8, 0); + + /* Create the test file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl))<0) { + printf("Cannot create file %s; test aborted\n", filename); exit(1); } - } - /* Initialize chunk dimensions */ - for (u = 0; u < H5O_LAYOUT_NDIMS; u++) - chunk_dims[u]=TEST_CHUNK_SIZE; + /* + * For testing file families, fool the library into thinking it already + * allocated a whole bunch of data. + */ + if (H5FD_FAMILY==H5Pget_driver(fapl)) { + haddr_t addr; + H5F_t *f; + + addr = 8 * ((uint64_t)1<<30); /*8 GB */ + f=H5I_object(file); + if (H5FDset_eoa(f->shared->lf, addr)<0) { + printf("Cannot create large file family\n"); + exit(1); + } + } - /* - * Creation test: Creates empty objects with various raw data sizes - * and alignments. - */ - status = test_create(file, "create"); - nerrors += status < 0 ? 1 : 0; + /* Initialize chunk dimensions */ + for (u = 0; u < H5O_LAYOUT_NDIMS; u++) + chunk_dims[u]=TEST_CHUNK_SIZE; - if (size_of_test & TEST_SMALL) { - status = test_extend(file, "extend", 10, 0, 0); - nerrors += status < 0 ? 1 : 0; - status = test_extend(file, "extend", 10, 10, 0); - nerrors += status < 0 ? 1 : 0; - status = test_extend(file, "extend", 10, 10, 10); - nerrors += status < 0 ? 1 : 0; - } - if (size_of_test & TEST_MEDIUM) { - status = test_extend(file, "extend", 10000, 0, 0); - nerrors += status < 0 ? 1 : 0; - status = test_extend(file, "extend", 2500, 10, 0); - nerrors += status < 0 ? 1 : 0; - status = test_extend(file, "extend", 10, 400, 10); - nerrors += status < 0 ? 1 : 0; - } - if (size_of_test & TEST_SMALL) { - status = test_sparse(file, "sparse", 100, 5, 0, 0); + /* + * Creation test: Creates empty objects with various raw data sizes + * and alignments. + */ + status = test_create(file, "create"); nerrors += status < 0 ? 1 : 0; - status = test_sparse(file, "sparse", 100, 3, 4, 0); - nerrors += status < 0 ? 1 : 0; - status = test_sparse(file, "sparse", 100, 2, 3, 4); - nerrors += status < 0 ? 1 : 0; - } - if (size_of_test & TEST_MEDIUM) { - status = test_sparse(file, "sparse", 1000, 30, 0, 0); - nerrors += status < 0 ? 1 : 0; - status = test_sparse(file, "sparse", 2000, 7, 3, 0); - nerrors += status < 0 ? 1 : 0; - status = test_sparse(file, "sparse", 2000, 4, 2, 3); - nerrors += status < 0 ? 1 : 0; - } - if (size_of_test & TEST_LARGE) { - status = test_sparse(file, "sparse", 800, 50, 50, 50); - nerrors += status < 0 ? 1 : 0; - } - /* Close the test file and exit */ - H5Pclose(fcpl); - H5Fclose(file); + if (size_of_test & TEST_SMALL) { + status = test_extend(file, "extend", 10, 0, 0); + nerrors += status < 0 ? 1 : 0; + status = test_extend(file, "extend", 10, 10, 0); + nerrors += status < 0 ? 1 : 0; + status = test_extend(file, "extend", 10, 10, 10); + nerrors += status < 0 ? 1 : 0; + } + if (size_of_test & TEST_MEDIUM) { + status = test_extend(file, "extend", 10000, 0, 0); + nerrors += status < 0 ? 1 : 0; + status = test_extend(file, "extend", 2500, 10, 0); + nerrors += status < 0 ? 1 : 0; + status = test_extend(file, "extend", 10, 400, 10); + nerrors += status < 0 ? 1 : 0; + } + if (size_of_test & TEST_SMALL) { + status = test_sparse(file, "sparse", 100, 5, 0, 0); + nerrors += status < 0 ? 1 : 0; + status = test_sparse(file, "sparse", 100, 3, 4, 0); + nerrors += status < 0 ? 1 : 0; + status = test_sparse(file, "sparse", 100, 2, 3, 4); + nerrors += status < 0 ? 1 : 0; + } + if (size_of_test & TEST_MEDIUM) { + status = test_sparse(file, "sparse", 1000, 30, 0, 0); + nerrors += status < 0 ? 1 : 0; + status = test_sparse(file, "sparse", 2000, 7, 3, 0); + nerrors += status < 0 ? 1 : 0; + status = test_sparse(file, "sparse", 2000, 4, 2, 3); + nerrors += status < 0 ? 1 : 0; + } + if (size_of_test & TEST_LARGE) { + status = test_sparse(file, "sparse", 800, 50, 50, 50); + nerrors += status < 0 ? 1 : 0; + } + + /* Close the test file and exit */ + H5Pclose(fcpl); + H5Fclose(file); - if (nerrors) { - printf("***** %d I-STORE TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); - exit(1); - } + if (nerrors) { + printf("***** %d I-STORE TEST%s FAILED! *****\n", + nerrors, 1 == nerrors ? "" : "S"); + exit(1); + } - printf("All i-store tests passed.\n"); - h5_cleanup(FILENAME, fapl); + printf("All i-store tests passed.\n"); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All i-store tests skipped - Incompatible with current Virtual File Driver"); + } return 0; } diff --git a/test/lheap.c b/test/lheap.c index 33b5210..42d6bce 100644 --- a/test/lheap.c +++ b/test/lheap.c @@ -61,6 +61,7 @@ main(void) int i, j; /*miscellaneous counters */ char buf[1024]; /*the value to store */ const char *s; /*value to read */ + const char *envval = NULL; /*value from environment */ /* Reset library */ h5_reset(); @@ -103,52 +104,64 @@ main(void) * Test reading from the heap... */ - TESTING("local heap read"); - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) goto error; - if (NULL==(f=H5I_object(file))) { - H5_FAILED(); - H5Eprint_stack(H5E_DEFAULT, stdout); - goto error; - } - for (i=0; i<NOBJS; i++) { - const H5HL_t *heap = NULL; - - sprintf(buf, "%03d-", i); - for (j=4; j<i; j++) buf[j] = '0' + j%10; - if (j>4) buf[j] = '\0'; - - if (NULL == (heap = H5HL_protect(f, H5P_DATASET_XFER_DEFAULT, heap_addr))) { + /* Don't run this test using the core file driver */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core")) { + TESTING("local heap read"); + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) goto error; + if (NULL==(f=H5I_object(file))) { H5_FAILED(); H5Eprint_stack(H5E_DEFAULT, stdout); goto error; } - - if (NULL == (s = H5HL_offset_into(f, heap, obj[i]))) { - H5_FAILED(); - H5Eprint_stack(H5E_DEFAULT, stdout); - goto error; - } - - if (strcmp(s, buf)) { - H5_FAILED(); - printf(" i=%d, heap offset=%lu\n", i, (unsigned long)(obj[i])); - printf(" got: \"%s\"\n", s); - printf(" ans: \"%s\"\n", buf); - goto error; + for (i=0; i<NOBJS; i++) { + const H5HL_t *heap = NULL; + + sprintf(buf, "%03d-", i); + for (j=4; j<i; j++) buf[j] = '0' + j%10; + if (j>4) buf[j] = '\0'; + + if (NULL == (heap = H5HL_protect(f, H5P_DATASET_XFER_DEFAULT, heap_addr))) { + H5_FAILED(); + H5Eprint_stack(H5E_DEFAULT, stdout); + goto error; + } + + if (NULL == (s = H5HL_offset_into(f, heap, obj[i]))) { + H5_FAILED(); + H5Eprint_stack(H5E_DEFAULT, stdout); + goto error; + } + + if (strcmp(s, buf)) { + H5_FAILED(); + printf(" i=%d, heap offset=%lu\n", i, (unsigned long)(obj[i])); + printf(" got: \"%s\"\n", s); + printf(" ans: \"%s\"\n", buf); + goto error; + } + + if (H5HL_unprotect(f, H5P_DATASET_XFER_DEFAULT, heap, heap_addr, H5AC__NO_FLAGS_SET) < 0) { + H5_FAILED(); + H5Eprint_stack(H5E_DEFAULT, stdout); + goto error; + } } - if (H5HL_unprotect(f, H5P_DATASET_XFER_DEFAULT, heap, heap_addr, H5AC__NO_FLAGS_SET) < 0) { - H5_FAILED(); - H5Eprint_stack(H5E_DEFAULT, stdout); - goto error; - } + if (H5Fclose(file)<0) goto error; + PASSED(); + puts("All local heap tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); } - if (H5Fclose(file)<0) goto error; - PASSED(); - puts("All local heap tests passed."); - h5_cleanup(FILENAME, fapl); return 0; error: diff --git a/test/links.c b/test/links.c index a2da2e6..0e4f680 100644 --- a/test/links.c +++ b/test/links.c @@ -1459,38 +1459,49 @@ main(void) { int nerrors = 0; hid_t fapl; - - h5_reset(); - fapl = h5_fileaccess(); - - /* The tests... */ - nerrors += mklinks(fapl) < 0 ? 1 : 0; - nerrors += cklinks(fapl) < 0 ? 1 : 0; - nerrors += new_links(fapl) < 0 ? 1 : 0; - nerrors += ck_new_links(fapl) < 0 ? 1 : 0; - nerrors += long_links(fapl) < 0 ? 1 : 0; - nerrors += toomany(fapl) < 0 ? 1 : 0; - - /* Test new H5L link creation routine */ + const char *envval = NULL; + + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split")) { + h5_reset(); + fapl = h5_fileaccess(); + + /* The tests... */ + nerrors += mklinks(fapl) < 0 ? 1 : 0; + nerrors += cklinks(fapl) < 0 ? 1 : 0; + nerrors += new_links(fapl) < 0 ? 1 : 0; + nerrors += ck_new_links(fapl) < 0 ? 1 : 0; + nerrors += long_links(fapl) < 0 ? 1 : 0; + nerrors += toomany(fapl) < 0 ? 1 : 0; + + /* Test new H5L link creation routine */ #ifdef H5_GROUP_REVISION - nerrors += test_h5l_create(fapl); - nerrors += test_lcpl(fapl); + nerrors += test_h5l_create(fapl); + nerrors += test_lcpl(fapl); #endif - nerrors += test_move(fapl); - nerrors += test_copy(fapl); + nerrors += test_move(fapl); + nerrors += test_copy(fapl); #ifdef H5_GROUP_REVISION - nerrors += test_move_preserves(fapl); + nerrors += test_move_preserves(fapl); #endif - nerrors += test_compat(fapl); - - /* Results */ - if (nerrors) { - printf("***** %d LINK TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); - exit(1); + nerrors += test_compat(fapl); + + /* Results */ + if (nerrors) { + printf("***** %d LINK TEST%s FAILED! *****\n", + nerrors, 1 == nerrors ? "" : "S"); + exit(1); + } + printf("All link tests passed.\n"); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All link tests skipped - Incompatible with current Virtual File Driver"); } - printf("All link tests passed.\n"); - h5_cleanup(FILENAME, fapl); return 0; + } diff --git a/test/mount.c b/test/mount.c index a456c7c..8e5a903 100644 --- a/test/mount.c +++ b/test/mount.c @@ -453,7 +453,7 @@ test_mntlnk(hid_t fapl) /*------------------------------------------------------------------------- * Function: test_move * - * Purpose: An object cannot be moved or renamed with in such a + * Purpose: An object cannot be moved or renamed with H5Gmove() in such a * way that the new location would be in a different file than * the original location. * @@ -486,9 +486,9 @@ test_move(hid_t fapl) if (H5Fmount(file1, "/mnt1", file2, H5P_DEFAULT)<0) goto error; /* First rename an object in the mounted file, then try it across files */ - if (H5Lmove(file1, "/mnt1/rename_a/x", H5L_SAME_LOC, "/mnt1/rename_b/y", H5P_DEFAULT)<0) goto error; + if (H5Gmove(file1, "/mnt1/rename_a/x", "/mnt1/rename_b/y")<0) goto error; H5E_BEGIN_TRY { - status = H5Lmove(file1, "/mnt1/rename_b/y", H5L_SAME_LOC, "/y", H5P_DEFAULT); + status = H5Gmove(file1, "/mnt1/rename_b/y", "/y"); } H5E_END_TRY; if (status>=0) { H5_FAILED(); @@ -796,7 +796,7 @@ test_mvmpt(hid_t fapl) if (H5Fmount(file1, "/mnt_move_a", file2, H5P_DEFAULT)<0) TEST_ERROR /* Rename the mount point */ - if (H5Lmove(file1, "/mnt_move_a", H5L_SAME_LOC, "/mnt_move_b", H5P_DEFAULT)<0) TEST_ERROR + if (H5Gmove(file1, "/mnt_move_a", "/mnt_move_b")<0) TEST_ERROR /* Access something under the new name */ if (H5Gget_objinfo(file1, "/mnt_move_b/file2", TRUE, NULL)<0) TEST_ERROR @@ -864,7 +864,7 @@ test_interlink(hid_t fapl) /* Try an interfile hard link by renaming something */ H5E_BEGIN_TRY { - status = H5Lmove(file1, "/mnt1/file2", H5L_SAME_LOC, "/file2", H5P_DEFAULT); + status = H5Gmove(file1, "/mnt1/file2", "/file2"); } H5E_END_TRY; if (status>=0) { H5_FAILED(); @@ -1450,7 +1450,7 @@ test_mount_after_unmount(hid_t fapl) /* Rename object in file #3 that is "disconnected" from name hiearchy */ /* (It is "disconnected" because it's parent file has been unmounted) */ - if(H5Lmove(gidAMX,"M/Y",gidAMX,"M/Z", H5P_DEFAULT) < 0) + if(H5Gmove2(gidAMX,"M/Y",gidAMX,"M/Z") < 0) TEST_ERROR /* Close group in file #3 */ @@ -3823,45 +3823,56 @@ main(void) { int nerrors = 0; hid_t fapl = -1; - - h5_reset(); - fapl = h5_fileaccess(); - if (setup(fapl)<0) goto error; - - nerrors += test_basic(fapl); - nerrors += test_illegal(fapl); - nerrors += test_hide(fapl); - nerrors += test_assoc(fapl); - nerrors += test_mntlnk(fapl); - nerrors += test_unlink(fapl); - nerrors += test_move(fapl); - nerrors += test_mvmpt(fapl); - nerrors += test_preopen(fapl); - nerrors += test_postopen(fapl); - nerrors += test_interlink(fapl); - nerrors += test_uniformity(fapl); - nerrors += test_close(fapl); - nerrors += test_mount_after_close(fapl); - nerrors += test_mount_after_unmount(fapl); - nerrors += test_missing_unmount(fapl); - nerrors += test_hold_open_file(fapl); - nerrors += test_hold_open_group(fapl); - nerrors += test_fcdegree_same(fapl); - nerrors += test_fcdegree_semi(fapl); - nerrors += test_fcdegree_strong(fapl); - nerrors += test_acc_perm(fapl); - nerrors += test_mult_mount(fapl); - nerrors += test_nested_survive(fapl); - nerrors += test_close_parent(fapl); - nerrors += test_cut_graph(fapl); - nerrors += test_symlink(fapl); - - if (nerrors) goto error; - puts("All mount tests passed."); - h5_cleanup(FILENAME, fapl); + const char *envval = NULL; + + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split")) { + h5_reset(); + fapl = h5_fileaccess(); + if (setup(fapl)<0) goto error; + + nerrors += test_basic(fapl); + nerrors += test_illegal(fapl); + nerrors += test_hide(fapl); + nerrors += test_assoc(fapl); + nerrors += test_mntlnk(fapl); + nerrors += test_unlink(fapl); + nerrors += test_move(fapl); + nerrors += test_mvmpt(fapl); + nerrors += test_preopen(fapl); + nerrors += test_postopen(fapl); + nerrors += test_interlink(fapl); + nerrors += test_uniformity(fapl); + nerrors += test_close(fapl); + nerrors += test_mount_after_close(fapl); + nerrors += test_mount_after_unmount(fapl); + nerrors += test_missing_unmount(fapl); + nerrors += test_hold_open_file(fapl); + nerrors += test_hold_open_group(fapl); + nerrors += test_fcdegree_same(fapl); + nerrors += test_fcdegree_semi(fapl); + nerrors += test_fcdegree_strong(fapl); + nerrors += test_acc_perm(fapl); + nerrors += test_mult_mount(fapl); + nerrors += test_nested_survive(fapl); + nerrors += test_close_parent(fapl); + nerrors += test_cut_graph(fapl); + nerrors += test_symlink(fapl); + + if (nerrors) goto error; + puts("All mount tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All mount tests skipped - Incompatible with current Virtual File Driver"); + } return 0; - error: - puts("***** MOUNT ERRORS *****"); - return 1; + error: + puts("***** MOUNT ERRORS *****"); + return 1; } + diff --git a/test/mtime.c b/test/mtime.c index da2fe63..52a5a99 100644 --- a/test/mtime.c +++ b/test/mtime.c @@ -65,63 +65,76 @@ main(void) H5G_stat_t sb1, sb2; signed char buf1[32], buf2[32]; char filename[1024]; - + const char *envval = NULL; h5_reset(); fapl = h5_fileaccess(); TESTING("modification time messages"); - - /* Create the file, create a dataset, then close the file */ - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - TEST_ERROR; - if ((space=H5Screate_simple(1, size, NULL))<0) TEST_ERROR; - if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT))<0) - TEST_ERROR; - now = time(NULL); - if (H5Dclose(dset)<0) TEST_ERROR; - if (H5Sclose(space)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; - - /* - * Open the file and get the modification time. We'll test the new - * H5Gget_objinfo() arguments too: being able to stat something without - * knowing its name. - */ - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; - if (H5Gget_objinfo(file, "dset", TRUE, &sb1)<0) TEST_ERROR; - if ((dset=H5Dopen(file, "dset"))<0) TEST_ERROR; - if (H5Gget_objinfo(dset, ".", TRUE, &sb2)<0) TEST_ERROR; - if (H5Dclose(dset)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; - - /* Compare times from the two ways of calling H5Gget_objinfo() */ - if (HDmemcmp(&sb1.objno, &sb2.objno, sizeof(sb1.objno)) || sb1.mtime!=sb2.mtime) { - H5_FAILED(); - puts(" Calling H5Gget_objinfo() with the dataset ID returned"); - puts(" different values than calling it with a file and dataset"); - puts(" name."); - goto error; + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core")) { + /* Create the file, create a dataset, then close the file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) + TEST_ERROR; + if ((space=H5Screate_simple(1, size, NULL))<0) TEST_ERROR; + if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT))<0) + TEST_ERROR; + now = time(NULL); + if (H5Dclose(dset)<0) TEST_ERROR; + if (H5Sclose(space)<0) TEST_ERROR; + if (H5Fclose(file)<0) TEST_ERROR; + + /* + * Open the file and get the modification time. We'll test the new + * H5Gget_objinfo() arguments too: being able to stat something without + * knowing its name. + */ + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if (H5Gget_objinfo(file, "dset", TRUE, &sb1)<0) TEST_ERROR; + if ((dset=H5Dopen(file, "dset"))<0) TEST_ERROR; + if (H5Gget_objinfo(dset, ".", TRUE, &sb2)<0) TEST_ERROR; + if (H5Dclose(dset)<0) TEST_ERROR; + if (H5Fclose(file)<0) TEST_ERROR; + + /* Compare times from the two ways of calling H5Gget_objinfo() */ + if (HDmemcmp(&sb1.objno, &sb2.objno, sizeof(sb1.objno)) || sb1.mtime!=sb2.mtime) { + H5_FAILED(); + puts(" Calling H5Gget_objinfo() with the dataset ID returned"); + puts(" different values than calling it with a file and dataset"); + puts(" name."); + goto error; + } + + /* Compare times -- they must be within 60 seconds of one another */ + if (0==sb1.mtime) { + SKIPPED(); + puts(" The modification time could not be decoded on this OS."); + puts(" Modification times will be mantained in the file but"); + puts(" cannot be queried on this system. See H5O_mtime_decode()."); + return 0; + } else if (fabs(HDdifftime(now, sb1.mtime))>60.0) { + H5_FAILED(); + tm = localtime(&(sb1.mtime)); + strftime((char*)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); + tm = localtime(&now); + strftime((char*)buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm); + printf(" got: %s\n ans: %s\n", buf1, buf2); + goto error; + } + PASSED(); } - - /* Compare times -- they must be within 60 seconds of one another */ - if (0==sb1.mtime) { - SKIPPED(); - puts(" The modification time could not be decoded on this OS."); - puts(" Modification times will be mantained in the file but"); - puts(" cannot be queried on this system. See H5O_mtime_decode()."); - return 0; - } else if (fabs(HDdifftime(now, sb1.mtime))>60.0) { - H5_FAILED(); - tm = localtime(&(sb1.mtime)); - strftime((char*)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); - tm = localtime(&now); - strftime((char*)buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm); - printf(" got: %s\n ans: %s\n", buf1, buf2); - goto error; + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); } - PASSED(); + + + + /* Check opening existing file with old-style modification time information * and make certain that the time is correct diff --git a/test/ntypes.c b/test/ntypes.c index ef2c2b2..881d34b 100644 --- a/test/ntypes.c +++ b/test/ntypes.c @@ -84,178 +84,188 @@ test_atomic_dtype(hid_t file) int i, j, n; hsize_t dims[2]; void *tmp; + const char *envval = NULL; TESTING("atomic datatype"); - - /* Initialize the dataset */ - for (i = n = 0; i < DIM0; i++) { - for (j = 0; j < DIM1; j++) { - ipoints2[i][j] = n++; + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split") && HDstrcmp(envval, "multi")) { + /* Initialize the dataset */ + for (i = n = 0; i < DIM0; i++) { + for (j = 0; j < DIM1; j++) { + ipoints2[i][j] = n++; + } } - } - - /* Create the data space */ - dims[0] = DIM0; - dims[1] = DIM1; - if ((space = H5Screate_simple(2, dims, NULL))<0) TEST_ERROR; - - /*------------------- Test data values ------------------------*/ - /* Create the dataset */ - if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_1, H5T_STD_I32BE, space, - H5P_DEFAULT))<0) TEST_ERROR; - - /* Write the data to the dataset */ - if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ipoints2)<0) - TEST_ERROR; - - /* Close dataset */ - if(H5Dclose(dataset)<0) TEST_ERROR; - - /* Open dataset again to check H5Tget_native_type */ - if((dataset=H5Dopen(file, DSET_ATOMIC_NAME_1))<0) TEST_ERROR; - - if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; - - if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) - TEST_ERROR; - - /* Verify the datatype retrieved and converted */ - if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_INT)) - TEST_ERROR; - if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I32BE)) - TEST_ERROR; - if(H5T_INTEGER!=H5Tget_class(native_type)) - TEST_ERROR; - - /* Read the dataset back. The temporary buffer is for special platforms - * like Cray. */ - tmp = malloc((size_t)(DIM0*DIM1*H5Tget_size(native_type))); - - if (H5Dread(dataset, native_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, tmp)<0) - TEST_ERROR; - - /* Copy data from temporary buffer to destination buffer */ - memcpy(icheck2, tmp, (size_t)(DIM0*DIM1*H5Tget_size(native_type))); - free(tmp); - /* Convert to the integer type */ - if(H5Tconvert(native_type, H5T_NATIVE_INT, (DIM0*DIM1), icheck2, NULL, H5P_DEFAULT)<0) - TEST_ERROR; - - /* Check that the values read are the same as the values written */ - for (i = 0; i < DIM0; i++) { - for (j = 0; j < DIM1; j++) { - if (ipoints2[i][j] != icheck2[i][j]) { - H5_FAILED(); - printf(" Read different values than written.\n"); - printf(" At index %d,%d\n", i, j); - goto error; + /* Create the data space */ + dims[0] = DIM0; + dims[1] = DIM1; + if ((space = H5Screate_simple(2, dims, NULL))<0) TEST_ERROR; + + /*------------------- Test data values ------------------------*/ + /* Create the dataset */ + if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_1, H5T_STD_I32BE, space, + H5P_DEFAULT))<0) TEST_ERROR; + + /* Write the data to the dataset */ + if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ipoints2)<0) + TEST_ERROR; + + /* Close dataset */ + if(H5Dclose(dataset)<0) TEST_ERROR; + + /* Open dataset again to check H5Tget_native_type */ + if((dataset=H5Dopen(file, DSET_ATOMIC_NAME_1))<0) TEST_ERROR; + + if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; + + if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) + TEST_ERROR; + + /* Verify the datatype retrieved and converted */ + if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_INT)) + TEST_ERROR; + if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I32BE)) + TEST_ERROR; + if(H5T_INTEGER!=H5Tget_class(native_type)) + TEST_ERROR; + + /* Read the dataset back. The temporary buffer is for special platforms + * like Cray. */ + tmp = malloc((size_t)(DIM0*DIM1*H5Tget_size(native_type))); + + if (H5Dread(dataset, native_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, tmp)<0) + TEST_ERROR; + + /* Copy data from temporary buffer to destination buffer */ + memcpy(icheck2, tmp, (size_t)(DIM0*DIM1*H5Tget_size(native_type))); + free(tmp); + + /* Convert to the integer type */ + if(H5Tconvert(native_type, H5T_NATIVE_INT, (DIM0*DIM1), icheck2, NULL, H5P_DEFAULT)<0) + TEST_ERROR; + + /* Check that the values read are the same as the values written */ + for (i = 0; i < DIM0; i++) { + for (j = 0; j < DIM1; j++) { + if (ipoints2[i][j] != icheck2[i][j]) { + H5_FAILED(); + printf(" Read different values than written.\n"); + printf(" At index %d,%d\n", i, j); + goto error; + } } } - } - if(H5Dclose(dataset)<0) TEST_ERROR; - if(H5Tclose(native_type)<0) TEST_ERROR; - if(H5Tclose(dtype)<0) TEST_ERROR; + if(H5Dclose(dataset)<0) TEST_ERROR; + if(H5Tclose(native_type)<0) TEST_ERROR; + if(H5Tclose(dtype)<0) TEST_ERROR; - /*------------------ Test different data types ----------------*/ + /*------------------ Test different data types ----------------*/ - /* Create the dataset of H5T_STD_I64LE */ - if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_2, H5T_STD_I64LE, space, - H5P_DEFAULT))<0) TEST_ERROR; + /* Create the dataset of H5T_STD_I64LE */ + if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_2, H5T_STD_I64LE, space, + H5P_DEFAULT))<0) TEST_ERROR; - if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; + if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; - if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) - TEST_ERROR; + if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) + TEST_ERROR; - /* Verify the datatype retrieved and converted */ - if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_LLONG)) - TEST_ERROR; - if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I64LE)) - TEST_ERROR; - if(H5T_INTEGER!=H5Tget_class(native_type)) - TEST_ERROR; + /* Verify the datatype retrieved and converted */ + if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_LLONG)) + TEST_ERROR; + if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I64LE)) + TEST_ERROR; + if(H5T_INTEGER!=H5Tget_class(native_type)) + TEST_ERROR; - if(H5Dclose(dataset)<0) TEST_ERROR; - if(H5Tclose(native_type)<0) TEST_ERROR; - if(H5Tclose(dtype)<0) TEST_ERROR; + if(H5Dclose(dataset)<0) TEST_ERROR; + if(H5Tclose(native_type)<0) TEST_ERROR; + if(H5Tclose(dtype)<0) TEST_ERROR; - /* Create the dataset of H5T_STD_I8LE */ - if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_3, H5T_STD_I8LE, space, - H5P_DEFAULT))<0) TEST_ERROR; + /* Create the dataset of H5T_STD_I8LE */ + if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_3, H5T_STD_I8LE, space, + H5P_DEFAULT))<0) TEST_ERROR; - if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; + if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; - if((native_type=H5Tget_native_type(dtype, H5T_DIR_ASCEND))<0) - TEST_ERROR; + if((native_type=H5Tget_native_type(dtype, H5T_DIR_ASCEND))<0) + TEST_ERROR; - /* Verify the datatype retrieved and converted */ - if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_CHAR)) - TEST_ERROR; - if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I8LE)) - TEST_ERROR; - if(H5T_INTEGER!=H5Tget_class(native_type)) - TEST_ERROR; + /* Verify the datatype retrieved and converted */ + if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_CHAR)) + TEST_ERROR; + if(H5Tget_size(native_type) < H5Tget_size(H5T_STD_I8LE)) + TEST_ERROR; + if(H5T_INTEGER!=H5Tget_class(native_type)) + TEST_ERROR; - if(H5Dclose(dataset)<0) TEST_ERROR; - if(H5Tclose(native_type)<0) TEST_ERROR; - if(H5Tclose(dtype)<0) TEST_ERROR; + if(H5Dclose(dataset)<0) TEST_ERROR; + if(H5Tclose(native_type)<0) TEST_ERROR; + if(H5Tclose(dtype)<0) TEST_ERROR; - /* Create the dataset of H5T_IEEE_F32BE */ - if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_4, H5T_IEEE_F32BE, space, - H5P_DEFAULT))<0) TEST_ERROR; + /* Create the dataset of H5T_IEEE_F32BE */ + if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_4, H5T_IEEE_F32BE, space, + H5P_DEFAULT))<0) TEST_ERROR; - if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; + if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; - if((native_type=H5Tget_native_type(dtype, H5T_DIR_DESCEND))<0) - TEST_ERROR; + if((native_type=H5Tget_native_type(dtype, H5T_DIR_DESCEND))<0) + TEST_ERROR; - /* Verify the datatype retrieved and converted */ - if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_FLOAT)) - TEST_ERROR; - if(H5Tget_size(native_type) < H5Tget_size(H5T_IEEE_F32BE)) - TEST_ERROR; - if(H5T_FLOAT!=H5Tget_class(native_type)) - TEST_ERROR; + /* Verify the datatype retrieved and converted */ + if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_FLOAT)) + TEST_ERROR; + if(H5Tget_size(native_type) < H5Tget_size(H5T_IEEE_F32BE)) + TEST_ERROR; + if(H5T_FLOAT!=H5Tget_class(native_type)) + TEST_ERROR; - if(H5Dclose(dataset)<0) TEST_ERROR; - if(H5Tclose(native_type)<0) TEST_ERROR; - if(H5Tclose(dtype)<0) TEST_ERROR; + if(H5Dclose(dataset)<0) TEST_ERROR; + if(H5Tclose(native_type)<0) TEST_ERROR; + if(H5Tclose(dtype)<0) TEST_ERROR; - /* Create the dataset of H5T_IEEE_F64BE */ - if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_5, H5T_IEEE_F64BE, space, - H5P_DEFAULT))<0) TEST_ERROR; + /* Create the dataset of H5T_IEEE_F64BE */ + if ((dataset = H5Dcreate(file, DSET_ATOMIC_NAME_5, H5T_IEEE_F64BE, space, + H5P_DEFAULT))<0) TEST_ERROR; - if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; + if((dtype=H5Dget_type(dataset))<0) TEST_ERROR; - if((native_type=H5Tget_native_type(dtype, H5T_DIR_DESCEND))<0) - TEST_ERROR; + if((native_type=H5Tget_native_type(dtype, H5T_DIR_DESCEND))<0) + TEST_ERROR; - /* Verify the datatype retrieved and converted */ - if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_DOUBLE)) - TEST_ERROR; - if(H5Tget_size(native_type) < H5Tget_size(H5T_IEEE_F64BE)) - TEST_ERROR; - if(H5T_FLOAT!=H5Tget_class(native_type)) - TEST_ERROR; + /* Verify the datatype retrieved and converted */ + if(H5Tget_order(native_type) != H5Tget_order(H5T_NATIVE_DOUBLE)) + TEST_ERROR; + if(H5Tget_size(native_type) < H5Tget_size(H5T_IEEE_F64BE)) + TEST_ERROR; + if(H5T_FLOAT!=H5Tget_class(native_type)) + TEST_ERROR; - if(H5Dclose(dataset)<0) TEST_ERROR; - if(H5Tclose(native_type)<0) TEST_ERROR; - if(H5Tclose(dtype)<0) TEST_ERROR; + if(H5Dclose(dataset)<0) TEST_ERROR; + if(H5Tclose(native_type)<0) TEST_ERROR; + if(H5Tclose(dtype)<0) TEST_ERROR; - /* Close dataspace */ - if(H5Sclose(space)<0) TEST_ERROR; + /* Close dataspace */ + if(H5Sclose(space)<0) TEST_ERROR; - PASSED(); + PASSED(); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); + } return 0; - error: - return -1; + error: + return -1; } @@ -1878,119 +1888,130 @@ test_refer_dtype(hid_t file) hsize_t dims1[] = {1}; hobj_ref_t *wbuf, /* buffer to write to disk */ *rbuf; /* buffer read from disk */ + const char *envval = NULL; /* Output message about test being performed */ TESTING("reference datatype"); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "multi")) { + /* Allocate write & read buffers */ + wbuf=HDmalloc(MAX(sizeof(unsigned),sizeof(hobj_ref_t))); + rbuf=HDmalloc(MAX(sizeof(unsigned),sizeof(hobj_ref_t))); - /* Allocate write & read buffers */ - wbuf=HDmalloc(MAX(sizeof(unsigned),sizeof(hobj_ref_t))); - rbuf=HDmalloc(MAX(sizeof(unsigned),sizeof(hobj_ref_t))); + /* Create dataspace for datasets */ + if((sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL))<0) + TEST_ERROR; - /* Create dataspace for datasets */ - if((sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL))<0) - TEST_ERROR; + /* Create a group */ + if((group=H5Gcreate(file,"Group1",(size_t)-1))<0) + TEST_ERROR; - /* Create a group */ - if((group=H5Gcreate(file,"Group1",(size_t)-1))<0) - TEST_ERROR; + /* Create a datatype to refer to */ + if((tid1 = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) + TEST_ERROR; - /* Create a datatype to refer to */ - if((tid1 = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) - TEST_ERROR; + /* Insert fields */ + if(H5Tinsert (tid1, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) + TEST_ERROR; - /* Insert fields */ - if(H5Tinsert (tid1, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) - TEST_ERROR; + if(H5Tinsert (tid1, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) + TEST_ERROR; - if(H5Tinsert (tid1, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) - TEST_ERROR; + if(H5Tinsert (tid1, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) + TEST_ERROR; - if(H5Tinsert (tid1, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) - TEST_ERROR; + /* Save datatype for later */ + if(H5Tcommit (group, "Datatype1", tid1)<0) + TEST_ERROR; - /* Save datatype for later */ - if(H5Tcommit (group, "Datatype1", tid1)<0) - TEST_ERROR; + /* Close datatype */ + if(H5Tclose(tid1)<0) + TEST_ERROR; - /* Close datatype */ - if(H5Tclose(tid1)<0) - TEST_ERROR; + /* Close group */ + if(H5Gclose(group)<0) + TEST_ERROR; - /* Close group */ - if(H5Gclose(group)<0) - TEST_ERROR; + /* Create a dataset */ + if((dataset=H5Dcreate(file,"Dataset3",H5T_STD_REF_OBJ,sid1,H5P_DEFAULT))<0) + TEST_ERROR; - /* Create a dataset */ - if((dataset=H5Dcreate(file,"Dataset3",H5T_STD_REF_OBJ,sid1,H5P_DEFAULT))<0) - TEST_ERROR; + /* Create reference to named datatype */ + if(H5Rcreate(wbuf,file,"/Group1/Datatype1",H5R_OBJECT,-1)<0) + TEST_ERROR; + if(H5Rget_obj_type(dataset,H5R_OBJECT,wbuf)!=H5G_TYPE) + TEST_ERROR; - /* Create reference to named datatype */ - if(H5Rcreate(wbuf,file,"/Group1/Datatype1",H5R_OBJECT,-1)<0) - TEST_ERROR; - if(H5Rget_obj_type(dataset,H5R_OBJECT,wbuf)!=H5G_TYPE) - TEST_ERROR; + /* Write selection to disk */ + if(H5Dwrite(dataset,H5T_STD_REF_OBJ,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf)<0) + TEST_ERROR; - /* Write selection to disk */ - if(H5Dwrite(dataset,H5T_STD_REF_OBJ,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf)<0) - TEST_ERROR; + /* Close disk dataspace */ + if(H5Sclose(sid1)<0) + TEST_ERROR; - /* Close disk dataspace */ - if(H5Sclose(sid1)<0) - TEST_ERROR; + /* Close Dataset */ + if(H5Dclose(dataset)<0) + TEST_ERROR; - /* Close Dataset */ - if(H5Dclose(dataset)<0) - TEST_ERROR; + /* Open the dataset */ + if((dataset=H5Dopen(file,"/Dataset3"))<0) + TEST_ERROR; - /* Open the dataset */ - if((dataset=H5Dopen(file,"/Dataset3"))<0) - TEST_ERROR; + /* Get datatype for dataset */ + if((dtype = H5Dget_type(dataset))<0) + TEST_ERROR; - /* Get datatype for dataset */ - if((dtype = H5Dget_type(dataset))<0) - TEST_ERROR; + /* Construct native type */ + if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) + TEST_ERROR; - /* Construct native type */ - if((native_type=H5Tget_native_type(dtype, H5T_DIR_DEFAULT))<0) - TEST_ERROR; + /* Check if the data type is equal */ + if(!H5Tequal(native_type, H5T_STD_REF_OBJ)) + TEST_ERROR; - /* Check if the data type is equal */ - if(!H5Tequal(native_type, H5T_STD_REF_OBJ)) - TEST_ERROR; + /* Read selection from disk */ + if(H5Dread(dataset,native_type,H5S_ALL,H5S_ALL,H5P_DEFAULT,rbuf)<0) + TEST_ERROR; - /* Read selection from disk */ - if(H5Dread(dataset,native_type,H5S_ALL,H5S_ALL,H5P_DEFAULT,rbuf)<0) - TEST_ERROR; + /* Open datatype object */ + if((tid1 = H5Rdereference(dataset,H5R_OBJECT,rbuf))<0) + TEST_ERROR; - /* Open datatype object */ - if((tid1 = H5Rdereference(dataset,H5R_OBJECT,rbuf))<0) - TEST_ERROR; + /* Verify correct datatype */ + if(H5Tget_class(tid1)!=H5T_COMPOUND) + TEST_ERROR; - /* Verify correct datatype */ - if(H5Tget_class(tid1)!=H5T_COMPOUND) - TEST_ERROR; + if(H5Tget_nmembers(tid1)!=3) + TEST_ERROR; - if(H5Tget_nmembers(tid1)!=3) - TEST_ERROR; + /* Close datatype */ + if(H5Tclose(tid1)<0) + TEST_ERROR; - /* Close datatype */ - if(H5Tclose(tid1)<0) - TEST_ERROR; + /* Close Dataset */ + if(H5Dclose(dataset)<0) + TEST_ERROR; - /* Close Dataset */ - if(H5Dclose(dataset)<0) - TEST_ERROR; + /* Free memory buffers */ + free(wbuf); + free(rbuf); - /* Free memory buffers */ - free(wbuf); - free(rbuf); - - PASSED(); + PASSED(); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); + } return 0; -error: - return -1; + error: + return -1; + } /* test_refer_dtype() */ diff --git a/test/objcopy.c b/test/objcopy.c index 9b2c5bf..a96d5b0 100755 --- a/test/objcopy.c +++ b/test/objcopy.c @@ -6347,84 +6347,94 @@ main(void) { int nerrors = 0; hid_t fapl; - - /* Setup */ - h5_reset(); - fapl = h5_fileaccess(); - - /* The tests... */ - nerrors += test_copy_named_datatype(fapl); - nerrors += test_copy_named_datatype_vl(fapl); - nerrors += test_copy_named_datatype_vl_vl(fapl); - nerrors += test_copy_dataset_simple(fapl); - nerrors += test_copy_dataset_simple_empty(fapl); - nerrors += test_copy_dataset_compound(fapl); - nerrors += test_copy_dataset_chunked(fapl); - nerrors += test_copy_dataset_chunked_empty(fapl); - nerrors += test_copy_dataset_chunked_sparse(fapl); - nerrors += test_copy_dataset_compressed(fapl); - nerrors += test_copy_dataset_compact(fapl); - nerrors += test_copy_dataset_external(fapl); - nerrors += test_copy_dataset_named_dtype(fapl); - nerrors += test_copy_dataset_named_dtype_hier(fapl); - nerrors += test_copy_dataset_named_dtype_hier_outside(fapl); - nerrors += test_copy_dataset_multi_ohdr_chunks(fapl); - nerrors += test_copy_dataset_attr_named_dtype(fapl); - nerrors += test_copy_dataset_contig_vl(fapl); - nerrors += test_copy_dataset_chunked_vl(fapl); - nerrors += test_copy_dataset_compact_vl(fapl); - nerrors += test_copy_dataset_compressed_vl(fapl); - nerrors += test_copy_attribute_vl(fapl); - nerrors += test_copy_dataset_compact_named_vl(fapl); - nerrors += test_copy_dataset_contig_named_vl(fapl); - nerrors += test_copy_dataset_chunked_named_vl(fapl); - nerrors += test_copy_dataset_compressed_named_vl(fapl); - nerrors += test_copy_dataset_compact_vl_vl(fapl); - nerrors += test_copy_dataset_contig_vl_vl(fapl); - nerrors += test_copy_dataset_chunked_vl_vl(fapl); - nerrors += test_copy_dataset_compressed_vl_vl(fapl); - nerrors += test_copy_group_empty(fapl); - nerrors += test_copy_group(fapl); - nerrors += test_copy_group_deep(fapl); - nerrors += test_copy_group_loop(fapl); - nerrors += test_copy_group_wide_loop(fapl); - nerrors += test_copy_group_links(fapl); - nerrors += test_copy_soft_link(fapl); - nerrors += test_copy_exist(fapl); - nerrors += test_copy_path(fapl); - nerrors += test_copy_same_file_named_datatype(fapl); - nerrors += test_copy_option(fapl, H5G_COPY_WITHOUT_ATTR_FLAG, FALSE, "H5Gcopy(): without attributes"); + const char *envval = NULL; + + /* Don't run this test using the core, split, or multi file drivers */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi")) { + /* Setup */ + h5_reset(); + fapl = h5_fileaccess(); + + /* The tests... */ + nerrors += test_copy_named_datatype(fapl); + nerrors += test_copy_named_datatype_vl(fapl); + nerrors += test_copy_named_datatype_vl_vl(fapl); + nerrors += test_copy_dataset_simple(fapl); + nerrors += test_copy_dataset_simple_empty(fapl); + nerrors += test_copy_dataset_compound(fapl); + nerrors += test_copy_dataset_chunked(fapl); + nerrors += test_copy_dataset_chunked_empty(fapl); + nerrors += test_copy_dataset_chunked_sparse(fapl); + nerrors += test_copy_dataset_compressed(fapl); + nerrors += test_copy_dataset_compact(fapl); + nerrors += test_copy_dataset_external(fapl); + nerrors += test_copy_dataset_named_dtype(fapl); + nerrors += test_copy_dataset_named_dtype_hier(fapl); + nerrors += test_copy_dataset_named_dtype_hier_outside(fapl); + nerrors += test_copy_dataset_multi_ohdr_chunks(fapl); + nerrors += test_copy_dataset_attr_named_dtype(fapl); + nerrors += test_copy_dataset_contig_vl(fapl); + nerrors += test_copy_dataset_chunked_vl(fapl); + nerrors += test_copy_dataset_compact_vl(fapl); + nerrors += test_copy_dataset_compressed_vl(fapl); + nerrors += test_copy_attribute_vl(fapl); + nerrors += test_copy_dataset_compact_named_vl(fapl); + nerrors += test_copy_dataset_contig_named_vl(fapl); + nerrors += test_copy_dataset_chunked_named_vl(fapl); + nerrors += test_copy_dataset_compressed_named_vl(fapl); + nerrors += test_copy_dataset_compact_vl_vl(fapl); + nerrors += test_copy_dataset_contig_vl_vl(fapl); + nerrors += test_copy_dataset_chunked_vl_vl(fapl); + nerrors += test_copy_dataset_compressed_vl_vl(fapl); + nerrors += test_copy_group_empty(fapl); + nerrors += test_copy_group(fapl); + nerrors += test_copy_group_deep(fapl); + nerrors += test_copy_group_loop(fapl); + nerrors += test_copy_group_wide_loop(fapl); + nerrors += test_copy_group_links(fapl); + nerrors += test_copy_soft_link(fapl); + nerrors += test_copy_exist(fapl); + nerrors += test_copy_path(fapl); + nerrors += test_copy_same_file_named_datatype(fapl); + nerrors += test_copy_option(fapl, H5G_COPY_WITHOUT_ATTR_FLAG, FALSE, "H5Gcopy(): without attributes"); #ifdef H5_GROUP_REVISION - nerrors += test_copy_option(fapl, 0, TRUE, "H5Gcopy(): with missing groups"); + nerrors += test_copy_option(fapl, 0, TRUE, "H5Gcopy(): with missing groups"); #endif /* H5_GROUP_REVISION */ - nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_SOFT_LINK_FLAG, FALSE, "H5Gcopy(): expand soft link"); - nerrors += test_copy_option(fapl, H5G_COPY_SHALLOW_HIERARCHY_FLAG, FALSE, "H5Gcopy(): shallow group copy"); - -/* TODO: not implemented - nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_EXT_LINK_FLAG, FALSE, "H5Gcopy: expand external link"); - nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_EXPAND_OBJ_REFERENCE_FLAG, FALSE, "H5Gcopy: expand object reference"); -*/ + nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_SOFT_LINK_FLAG, FALSE, "H5Gcopy(): expand soft link"); + nerrors += test_copy_option(fapl, H5G_COPY_SHALLOW_HIERARCHY_FLAG, FALSE, "H5Gcopy(): shallow group copy"); -/* TODO: Add more tests for copying objects in same file */ + /* TODO: not implemented + nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_EXT_LINK_FLAG, FALSE, "H5Gcopy: expand external link"); + nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_EXPAND_OBJ_REFERENCE_FLAG, FALSE, "H5Gcopy: expand object reference"); + */ + /* TODO: Add more tests for copying objects in same file */ -/* TODO: Add more tests for copying objects in mounted files - nerrors += test_copy_mount(fapl); -*/ - /* Reset file address checking info */ - addr_reset(); + /* TODO: Add more tests for copying objects in mounted files + nerrors += test_copy_mount(fapl); + */ - /* Results */ - if (nerrors) { - printf("***** %d OBJECT COPY TEST%s FAILED! *****\n", - nerrors, (1 == nerrors ? "" : "S")); - exit(1); - } + /* Reset file address checking info */ + addr_reset(); - puts ("All object copying tests passed."); - h5_cleanup(FILENAME, fapl); + /* Results */ + if (nerrors) { + printf("***** %d OBJECT COPY TEST%s FAILED! *****\n", + nerrors, (1 == nerrors ? "" : "S")); + exit(1); + } + puts ("All object copying tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All object copying tests skipped - Incompatible with current Virtual File Driver"); + } return 0; } /* main */ diff --git a/test/ohdr.c b/test/ohdr.c index 44b6361..6dd2b79 100644 --- a/test/ohdr.c +++ b/test/ohdr.c @@ -66,7 +66,8 @@ main(void) H5O_loc_t oh_loc; time_t time_new, ro; int i; - + const char *envval = NULL; + /* Reset library */ h5_reset(); fapl = h5_fileaccess(); @@ -286,37 +287,47 @@ main(void) /* Test reading dataset with undefined object header message */ TESTING("reading object with unknown header message"); - { - char testfile[512]=""; - char *srcdir = getenv("srcdir"); + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "split") && HDstrcmp(envval, "family")) { + { + char testfile[512]=""; + char *srcdir = getenv("srcdir"); - /* Build path to test file */ - if (srcdir && ((HDstrlen(srcdir) + HDstrlen(FILE_BOGUS) + 1) < sizeof(testfile))){ - HDstrcpy(testfile, srcdir); - HDstrcat(testfile, "/"); - } - HDstrcat(testfile, FILE_BOGUS); + /* Build path to test file */ + if (srcdir && ((HDstrlen(srcdir) + HDstrlen(FILE_BOGUS) + 1) < sizeof(testfile))){ + HDstrcpy(testfile, srcdir); + HDstrcat(testfile, "/"); + } + HDstrcat(testfile, FILE_BOGUS); - if ((file=H5Fopen(testfile, H5F_ACC_RDONLY, fapl))<0) - goto error; + if ((file=H5Fopen(testfile, H5F_ACC_RDONLY, fapl))<0) + goto error; - /* Open the dataset with the unknown header message (generated with gen_bogus.c) */ - if((dset=H5Dopen(file,"/Dataset1"))<0) - goto error; - if (H5Dclose(dset)<0) goto error; + /* Open the dataset with the unknown header message (generated with gen_bogus.c) */ + if((dset=H5Dopen(file,"/Dataset1"))<0) + goto error; + if (H5Dclose(dset)<0) goto error; - if (H5Fclose(file)<0) goto error; + if (H5Fclose(file)<0) goto error; + } + PASSED(); + } + else + { + SKIPPED(); + puts(" Test not compatible with current Virtual File Driver"); } - PASSED(); puts("All object header tests passed."); h5_cleanup(FILENAME, fapl); return 0; - error: - puts("*** TESTS FAILED ***"); - H5E_BEGIN_TRY { - H5Fclose(file); - } H5E_END_TRY; - return 1; + error: + puts("*** TESTS FAILED ***"); + H5E_BEGIN_TRY { + H5Fclose(file); + } H5E_END_TRY; + return 1; } diff --git a/test/reserved.c b/test/reserved.c index d664a36..a0c0f9b 100755 --- a/test/reserved.c +++ b/test/reserved.c @@ -424,18 +424,30 @@ main(void) { int num_errs=0; hid_t fapl; - - num_errs+=rsrv_ohdr(); - num_errs+=rsrv_heap(); - num_errs+=rsrv_vlen(); - - if(num_errs > 0) - printf("**** %d FAILURE%s! ****\n", num_errs, num_errs==1?"":"S"); + const char *envval = NULL; + + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { + num_errs+=rsrv_ohdr(); + num_errs+=rsrv_heap(); + num_errs+=rsrv_vlen(); + + if(num_errs > 0) + printf("**** %d FAILURE%s! ****\n", num_errs, num_errs==1?"":"S"); + else + puts("All address space reservation tests passed."); + + fapl = h5_fileaccess(); + h5_cleanup(FILENAME, fapl); + return num_errs; + } else - puts("All address space reservation tests passed."); + { + puts("All address space reservation tests skippped - Incompatible with current Virtual File Driver"); + } + return 0; - fapl = h5_fileaccess(); - h5_cleanup(FILENAME, fapl); - return num_errs; } diff --git a/test/stab.c b/test/stab.c index 7c2f719..164c8f8 100644 --- a/test/stab.c +++ b/test/stab.c @@ -329,8 +329,7 @@ lifecycle(hid_t fapl) if(H5Pset_est_link_info(gcpl, LIFECYCLE_EST_NUM_ENTRIES, LIFECYCLE_EST_NAME_LEN) < 0) TEST_ERROR; /* Create group for testing lifecycle */ - if((gid = H5Gcreate_expand(fid, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR - if((H5Llink(fid, LIFECYCLE_TOP_GROUP, gid, H5P_DEFAULT)) < 0) TEST_ERROR + if((gid = H5Gcreate_expand(fid, LIFECYCLE_TOP_GROUP, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR /* Query group creation property settings */ if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR; @@ -788,8 +787,7 @@ no_compact(hid_t fapl) if(est_name_len != H5G_CRT_GINFO_EST_NAME_LEN) TEST_ERROR; /* Create group for testing lifecycle */ - if((gid = H5Gcreate_expand(fid, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR - if((H5Llink(fid, NO_COMPACT_TOP_GROUP, gid, H5P_DEFAULT)) < 0) TEST_ERROR + if((gid = H5Gcreate_expand(fid, NO_COMPACT_TOP_GROUP, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR /* Close GCPL */ if(H5Pclose(gcpl) < 0) TEST_ERROR; @@ -875,7 +873,6 @@ gcpl_on_root(hid_t fapl) hid_t gid2 = (-1); /* Datatype ID */ hid_t fcpl = (-1); /* File creation property list ID */ hid_t gcpl = (-1); /* Group creation property list ID */ - hid_t lcpl = (-1); /* Link creation property list ID */ unsigned max_compact; /* Maximum # of links to store in group compactly */ unsigned min_dense; /* Minimum # of links to store in group "densely" */ char filename[NAME_BUF_SIZE]; @@ -915,15 +912,14 @@ gcpl_on_root(hid_t fapl) if(H5Pclose(gcpl) < 0) TEST_ERROR; /* Create a group creation property list, with intermediate group creation set */ - if((lcpl = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR; - if(H5Pset_create_intermediate_group(lcpl, TRUE) < 0) TEST_ERROR + if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR; + if(H5Pset_create_intermediate_group(gcpl, TRUE) < 0) TEST_ERROR /* Create a group and intermediate groups, to check if root group settings are inherited */ - if((gid2 = H5Gcreate_expand(gid, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR - if((H5Llink(gid, GCPL_ON_ROOT_BOTTOM_GROUP, gid2, lcpl)) < 0) TEST_ERROR + if((gid2 = H5Gcreate_expand(gid, GCPL_ON_ROOT_BOTTOM_GROUP, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR - /* Close LCPL */ - if(H5Pclose(lcpl) < 0) TEST_ERROR; + /* Close GCPL */ + if(H5Pclose(gcpl) < 0) TEST_ERROR; /* Query the group creation properties */ if((gcpl = H5Gget_create_plist(gid2)) < 0) TEST_ERROR; @@ -997,47 +993,57 @@ main(void) hid_t fapl, fcpl, file; int nerrors=0; char filename[1024]; - - /* Reset library */ - h5_reset(); - fapl = h5_fileaccess(); - - /* - * Use larger symbol table data structures to be more efficient, use - * defaults to bang harder on the library for testing. - */ - fcpl = H5Pcreate(H5P_FILE_CREATE); + const char *envval = NULL; + + /* Don't run this test using the split file driver */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "split")) { + /* Reset library */ + h5_reset(); + fapl = h5_fileaccess(); + + /* + * Use larger symbol table data structures to be more efficient, use + * defaults to bang harder on the library for testing. + */ + fcpl = H5Pcreate(H5P_FILE_CREATE); #if 0 - H5Pset_sym_k(fcpl, 16, 16); + H5Pset_sym_k(fcpl, 16, 16); #endif - /* Open the file */ - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl))<0) - goto error; + /* Open the file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl))<0) + goto error; - /* Perform tests */ - nerrors += test_misc(file); - nerrors += test_long(file); - nerrors += test_large(file); + /* Perform tests */ + nerrors += test_misc(file); + nerrors += test_long(file); + nerrors += test_large(file); #ifdef H5_GROUP_REVISION - nerrors += lifecycle(fapl); - nerrors += long_compact(fapl); - nerrors += read_old(fapl); - nerrors += no_compact(fapl); - nerrors += gcpl_on_root(fapl); - + nerrors += lifecycle(fapl); + nerrors += long_compact(fapl); + nerrors += read_old(fapl); + nerrors += no_compact(fapl); + nerrors += gcpl_on_root(fapl); #endif /* H5_GROUP_REVISION */ - if (nerrors) goto error; + if (nerrors) goto error; - /* Cleanup */ - H5Fclose(file); - puts("All symbol table tests passed."); - h5_cleanup(FILENAME, fapl); + /* Cleanup */ + H5Fclose(file); + puts("All symbol table tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All symbol table tests skipped - Incompatible with current Virtual File Driver"); + } return 0; - error: - puts("*** TESTS FAILED ***"); - return 1; + error: + puts("*** TESTS FAILED ***"); + return 1; } diff --git a/test/unlink.c b/test/unlink.c index ee938d9..d86e4eb 100644 --- a/test/unlink.c +++ b/test/unlink.c @@ -2144,75 +2144,87 @@ main(void) hid_t fapl, fapl2, file; int nerrors = 0; char filename[1024]; + const char *envval = NULL; + + /* Don't run this test using the wrong file drivers */ + envval = HDgetenv("HDF5_DRIVER"); + if (envval == NULL) + envval = "nomatch"; + if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { + /* Metadata cache parameters */ + int mdc_nelmts; + size_t rdcc_nelmts; + size_t rdcc_nbytes; + double rdcc_w0; + + /* Set the random # seed */ + HDsrandom((unsigned long)HDtime(NULL)); + + /* Open */ + h5_reset(); + fapl = h5_fileaccess(); + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + + /* Make copy of regular fapl, to turn down the elements in the metadata cache */ + if((fapl2=H5Pcopy(fapl))<0) + goto error; - /* Metadata cache parameters */ - int mdc_nelmts; - size_t rdcc_nelmts; - size_t rdcc_nbytes; - double rdcc_w0; - - /* Set the random # seed */ - HDsrandom((unsigned long)HDtime(NULL)); - - /* Open */ - h5_reset(); - fapl = h5_fileaccess(); - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; - - /* Make copy of regular fapl, to turn down the elements in the metadata cache */ - if((fapl2=H5Pcopy(fapl))<0) - goto error; - - /* Get FAPL cache settings */ - if(H5Pget_cache(fapl2,&mdc_nelmts,&rdcc_nelmts,&rdcc_nbytes,&rdcc_w0)<0) - printf("H5Pget_cache failed\n"); - - /* Change FAPL cache settings */ - mdc_nelmts=1; - if(H5Pset_cache(fapl2,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)<0) - printf("H5Pset_cache failed\n"); - - /* Tests */ - nerrors += test_one(file); - nerrors += test_many(file); - nerrors += test_symlink(file); - nerrors += test_rename(file); - nerrors += test_new_move(); - nerrors += check_new_move(); - nerrors += test_filespace(); - - /* Test creating & unlinking lots of objects with default FAPL */ - nerrors += test_create_unlink("create and unlink large number of objects",fapl); - /* Test creating & unlinking lots of objects with a 1-element metadata cache FAPL */ - nerrors += test_create_unlink("create and unlink large number of objects with small cache",fapl2); - - nerrors += test_link_slashes(); - nerrors += test_unlink_slashes(); - - /* Test specific B-tree removal issues */ - nerrors += test_unlink_rightleaf(file); - nerrors += test_unlink_rightnode(file); - nerrors += test_unlink_middlenode(file); - - /* Test "resurrecting" objects */ - nerrors += test_resurrect_dataset(); - nerrors += test_resurrect_datatype(); - nerrors += test_resurrect_group(); - - /* Test unlinking chunked datasets */ - nerrors += test_unlink_chunked_dataset(); - - /* Close */ - if (H5Pclose(fapl2)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; - if (nerrors) { - printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S"); - exit(1); + /* Get FAPL cache settings */ + if(H5Pget_cache(fapl2,&mdc_nelmts,&rdcc_nelmts,&rdcc_nbytes,&rdcc_w0)<0) + printf("H5Pget_cache failed\n"); + + /* Change FAPL cache settings */ + mdc_nelmts=1; + if(H5Pset_cache(fapl2,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)<0) + printf("H5Pset_cache failed\n"); + + /* Tests */ + nerrors += test_one(file); + nerrors += test_many(file); + nerrors += test_symlink(file); + nerrors += test_rename(file); + nerrors += test_new_move(); + nerrors += check_new_move(); + nerrors += test_filespace(); + + /* Test creating & unlinking lots of objects with default FAPL */ + nerrors += test_create_unlink("create and unlink large number of objects",fapl); + /* Test creating & unlinking lots of objects with a 1-element metadata cache FAPL */ + nerrors += test_create_unlink("create and unlink large number of objects with small cache",fapl2); + + nerrors += test_link_slashes(); + nerrors += test_unlink_slashes(); + + /* Test specific B-tree removal issues */ + nerrors += test_unlink_rightleaf(file); + nerrors += test_unlink_rightnode(file); + nerrors += test_unlink_middlenode(file); + + /* Test "resurrecting" objects */ + nerrors += test_resurrect_dataset(); + nerrors += test_resurrect_datatype(); + nerrors += test_resurrect_group(); + + /* Test unlinking chunked datasets */ + nerrors += test_unlink_chunked_dataset(); + + /* Close */ + if (H5Pclose(fapl2)<0) TEST_ERROR; + if (H5Fclose(file)<0) TEST_ERROR; + if (nerrors) { + printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S"); + exit(1); + } + puts("All unlink tests passed."); + h5_cleanup(FILENAME, fapl); + } + else + { + puts("All unlink tests skipped - Incompatible with current Virtual File Driver"); } - puts("All unlink tests passed."); - h5_cleanup(FILENAME, fapl); return 0; - error: - return 1; + + error: + return 1; } |