diff options
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; } |