diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 2 | ||||
-rw-r--r-- | test/Makefile.in | 6 | ||||
-rw-r--r-- | test/be_extlink1.h5 | bin | 1120 -> 880 bytes | |||
-rw-r--r-- | test/be_extlink2.h5 | bin | 2840 -> 2744 bytes | |||
-rw-r--r-- | test/cache_common.c | 2 | ||||
-rw-r--r-- | test/gen_new_group.c | 25 | ||||
-rw-r--r-- | test/gen_udlinks.c | 3 | ||||
-rw-r--r-- | test/h5test.c | 13 | ||||
-rw-r--r-- | test/h5test.h | 3 | ||||
-rw-r--r-- | test/le_extlink1.h5 | bin | 1120 -> 880 bytes | |||
-rw-r--r-- | test/le_extlink2.h5 | bin | 2840 -> 2744 bytes | |||
-rw-r--r-- | test/links.c | 2231 | ||||
-rw-r--r-- | test/mount.c | 14 | ||||
-rwxr-xr-x | test/objcopy.c | 2138 | ||||
-rw-r--r-- | test/stab.c | 577 | ||||
-rw-r--r-- | test/tattr.c | 4 | ||||
-rw-r--r-- | test/tfile.c | 23 | ||||
-rw-r--r-- | test/titerate.c | 348 | ||||
-rw-r--r-- | test/tmisc.c | 10 | ||||
-rw-r--r-- | test/unlink.c | 1377 |
20 files changed, 3513 insertions, 3263 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index bf2297d..b41d999 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -98,7 +98,7 @@ flush2.chkexe_: flush1.chkexe_ # prefix or low-level driver with environment variables will influence # the temporary file name in ways that the makefile is not aware of. CHECK_CLEANFILES+=cmpd_dset.h5 compact_dataset.h5 dataset.h5 extend.h5 istore.h5\ - tfile[1-4].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 stab[1-2].h5 \ + tfile[1-4].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 stab.h5 \ extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2]\ links.h5 links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \ dtypes[1-8].h5 dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 \ diff --git a/test/Makefile.in b/test/Makefile.in index 1b4992d..40cb0c8 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -593,9 +593,9 @@ TRACE = perl $(top_srcdir)/bin/trace # the temporary file name in ways that the makefile is not aware of. CHECK_CLEANFILES = *.chkexe *.chklog *.clog cmpd_dset.h5 \ compact_dataset.h5 dataset.h5 extend.h5 istore.h5 \ - tfile[1-4].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 \ - stab[1-2].h5 extern_[1-3].h5 extern_[1-4][ab].raw \ - gheap[0-4].h5 dt_arith[1-2] links.h5 links[1-3].h5 big.data \ + tfile[1-4].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 stab.h5 \ + extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \ + dt_arith[1-2] links.h5 links[1-3].h5 big.data \ big[0-9][0-9][0-9][0-9][0-9].h5 dtypes[1-8].h5 \ dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 unlink.h5 \ unicode.h5 fillval_[0-9].h5 fillval.raw mount_[0-9].h5 \ diff --git a/test/be_extlink1.h5 b/test/be_extlink1.h5 Binary files differindex dedd0a5..0ef71fa 100644 --- a/test/be_extlink1.h5 +++ b/test/be_extlink1.h5 diff --git a/test/be_extlink2.h5 b/test/be_extlink2.h5 Binary files differindex d6f9921..296fef0 100644 --- a/test/be_extlink2.h5 +++ b/test/be_extlink2.h5 diff --git a/test/cache_common.c b/test/cache_common.c index e7bc87c..3e9b596 100644 --- a/test/cache_common.c +++ b/test/cache_common.c @@ -2196,7 +2196,7 @@ unprotect_entry(H5C_t * cache_ptr, result = H5C_unprotect(NULL, -1, -1, cache_ptr, &(types[type]), entry_ptr->addr, (void *)entry_ptr, - flags, 0); + flags, (size_t)0); if ( ( result < 0 ) || ( entry_ptr->header.is_protected ) || diff --git a/test/gen_new_group.c b/test/gen_new_group.c index bff23ed..7e54c90 100644 --- a/test/gen_new_group.c +++ b/test/gen_new_group.c @@ -32,8 +32,8 @@ int main(void) { -#ifdef H5_GROUP_REVISION hid_t fid = -1; /* File ID */ + hid_t fapl = -1; /* File access property list ID */ hid_t fcpl = -1; /* File creation property list ID */ hid_t gid = -1; /* Group creation property list ID */ hid_t sid = -1; /* Dataspace ID */ @@ -43,11 +43,20 @@ int main(void) if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; /* Adjust group creation parameters for root group */ - /* (So that it is created in symbol-table form) */ + /* (So that it is created in "dense storage" form) */ if(H5Pset_link_phase_change(fcpl, 0, 0) < 0) goto error; + /* Copy the file access property list */ + if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl, TRUE) < 0) TEST_ERROR + /* Create file for test groups */ - if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) <0) goto error; + if((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl, fapl)) <0) goto error; + + /* Close file access property list */ + if(H5Pclose(fapl) < 0) goto error; /* Close file creation property list */ if(H5Pclose(fcpl) < 0) goto error; @@ -78,20 +87,18 @@ int main(void) /* Close file */ if(H5Fclose(fid) < 0) goto error; -#endif /* H5_GROUP_REVISION */ return 0; -#ifdef H5_GROUP_REVISION error: H5E_BEGIN_TRY { - H5Pclose(did); + H5Dclose(did); H5Sclose(sid); - H5Dclose(gid); - H5Dclose(fcpl); + H5Gclose(gid); + H5Pclose(fcpl); + H5Pclose(fapl); H5Fclose(fid); } H5E_END_TRY; return 1; -#endif /* H5_GROUP_REVISION */ } diff --git a/test/gen_udlinks.c b/test/gen_udlinks.c index 1230ffe..d479797 100644 --- a/test/gen_udlinks.c +++ b/test/gen_udlinks.c @@ -69,6 +69,9 @@ main (void) /* Create an external link in the first file pointing to the group in the second file */ if(H5Lcreate_external(filename2, "group", fid1, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) goto error; + if((H5Fclose(fid1)) < 0) goto error; + if((H5Fclose(fid2)) < 0) goto error; + return 0; error: diff --git a/test/h5test.c b/test/h5test.c index be843f3..acc7630 100644 --- a/test/h5test.c +++ b/test/h5test.c @@ -224,7 +224,7 @@ h5_reset(void) H5E_BEGIN_TRY { hid_t file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - hid_t grp = H5Gcreate(file, "emit", 0); + hid_t grp = H5Gcreate(file, "emit", (size_t)0); H5Gclose(grp); H5Fclose(file); HDunlink(filename); @@ -466,10 +466,10 @@ h5_fixname(const char *base_name, hid_t fapl, char *fullname, size_t size) * *------------------------------------------------------------------------- */ -char * +const char * h5_rmprefix(const char *filename) { - char *ret_ptr; + const char *ret_ptr; if ((ret_ptr = HDstrstr(filename, ":")) == NULL) ret_ptr = filename; @@ -527,7 +527,7 @@ h5_fileaccess(void) if (H5Pset_fapl_stdio(fapl)<0) return -1; } else if (!HDstrcmp(name, "core")) { /* In-core temporary file with 1MB increment */ - if (H5Pset_fapl_core(fapl, 1024*1024, FALSE)<0) return -1; + if (H5Pset_fapl_core(fapl, (size_t)1024*1024, FALSE)<0) return -1; } else if (!HDstrcmp(name, "split")) { /* Split meta data and raw data each using default driver */ if (H5Pset_fapl_split(fapl, @@ -575,7 +575,7 @@ h5_fileaccess(void) if ((val = HDstrtok(NULL, " \t\n\r"))) log_flags = (unsigned)HDstrtol(val, NULL, 0); - if (H5Pset_fapl_log(fapl, NULL, log_flags, 0) < 0) + if (H5Pset_fapl_log(fapl, NULL, log_flags, (size_t)0) < 0) return -1; } else { /* Unknown driver */ @@ -675,9 +675,8 @@ h5_show_hostname(void) #endif #ifdef H5_HAVE_GETHOSTNAME - if (gethostname(hostname, 80) < 0){ + if (gethostname(hostname, (size_t)80) < 0) printf(" gethostname failed\n"); - } else printf(" hostname=%s\n", hostname); #else diff --git a/test/h5test.h b/test/h5test.h index d8af200..640a882 100644 --- a/test/h5test.h +++ b/test/h5test.h @@ -106,6 +106,7 @@ extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ #define STACK_ERROR {H5Eprint_stack(H5E_DEFAULT, stdout); goto error;} #define FAIL_STACK_ERROR {H5_FAILED(); AT(); \ H5Eprint_stack(H5E_DEFAULT, stdout); goto error;} +#define FAIL_PUTS_ERROR(s) {H5_FAILED(); AT(); puts(s); goto error;} /* * Alarm definitions to wait up (terminate) a test that runs too long. @@ -126,7 +127,7 @@ H5TEST_DLL char *h5_fixname(const char *base_name, hid_t fapl, char *fullname, size_t size); H5TEST_DLL hid_t h5_fileaccess(void); H5TEST_DLL void h5_no_hwconv(void); -H5TEST_DLL char *h5_rmprefix(const char *filename); +H5TEST_DLL const char *h5_rmprefix(const char *filename); H5TEST_DLL void h5_reset(void); H5TEST_DLL void h5_show_hostname(void); H5TEST_DLL h5_stat_size_t h5_get_file_size(const char *filename); diff --git a/test/le_extlink1.h5 b/test/le_extlink1.h5 Binary files differindex 877ba37..eea65d8 100644 --- a/test/le_extlink1.h5 +++ b/test/le_extlink1.h5 diff --git a/test/le_extlink2.h5 b/test/le_extlink2.h5 Binary files differindex d6f9921..296fef0 100644 --- a/test/le_extlink2.h5 +++ b/test/le_extlink2.h5 diff --git a/test/links.c b/test/links.c index 1825214..1d6b329 100644 --- a/test/links.c +++ b/test/links.c @@ -50,12 +50,12 @@ const char *FILENAME[] = { /* Link type IDs */ #define UD_HARD_TYPE 201 -#define UD_CB_TYPE H5L_LINK_MAX +#define UD_CB_TYPE H5L_TYPE_MAX #define UD_PLIST_TYPE 128 #define UD_CBFAIL_TYPE UD_PLIST_TYPE #define UD_ERROR_TYPE 189 #define UD_BAD_TYPE1 H5G_LINK_HARD -#define UD_BAD_TYPE2 (H5L_LINK_UD_MIN - 5) +#define UD_BAD_TYPE2 (H5L_TYPE_UD_MIN - 5) #define UD_BAD_VERS (H5L_LINK_CLASS_T_VERS + 1) #define DEST_PROP_NAME "destination_group" @@ -90,42 +90,45 @@ const char *FILENAME[] = { *------------------------------------------------------------------------- */ static int -mklinks(hid_t fapl) +mklinks(hid_t fapl, hbool_t new_format) { hid_t file, scalar, grp, d1; hsize_t size[1] = {1}; char filename[NAME_BUF_SIZE]; - TESTING("link creation"); + if(new_format) + TESTING("link creation (w/new group format)") + else + TESTING("link creation") /* Create a file */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; - if ((scalar=H5Screate_simple (1, size, size))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if ((scalar=H5Screate_simple (1, size, size)) < 0) TEST_ERROR /* Create a group */ - if ((grp=H5Gcreate (file, "grp1", (size_t)0))<0) TEST_ERROR; - if (H5Gclose (grp)<0) TEST_ERROR; + if ((grp=H5Gcreate (file, "grp1", (size_t)0)) < 0) TEST_ERROR + if (H5Gclose (grp) < 0) TEST_ERROR /* Create a dataset */ - if ((d1=H5Dcreate (file, "d1", H5T_NATIVE_INT, scalar, H5P_DEFAULT))<0) TEST_ERROR; - if (H5Dclose (d1)<0) TEST_ERROR; + if ((d1=H5Dcreate (file, "d1", H5T_NATIVE_INT, scalar, H5P_DEFAULT)) < 0) TEST_ERROR + if (H5Dclose (d1) < 0) TEST_ERROR /* Create a hard link */ - if (H5Lcreate_hard (file, "d1", H5L_SAME_LOC, "grp1/hard", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Lcreate_hard (file, "d1", H5L_SAME_LOC, "grp1/hard", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create a symbolic link */ - if (H5Lcreate_soft ("/d1", file, "grp1/soft", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Lcreate_soft ("/d1", file, "grp1/soft", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create a symbolic link to something that doesn't exist */ - if (H5Lcreate_soft ("foobar", file, "grp1/dangle", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Lcreate_soft ("foobar", file, "grp1/dangle", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create a recursive symbolic link */ - if (H5Lcreate_soft ("/grp1/recursive", file, "/grp1/recursive", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Lcreate_soft ("/grp1/recursive", file, "/grp1/recursive", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close */ - if (H5Sclose (scalar)<0) TEST_ERROR; - if (H5Fclose (file)<0) TEST_ERROR; + if (H5Sclose (scalar) < 0) TEST_ERROR + if (H5Fclose (file) < 0) TEST_ERROR PASSED(); return 0; @@ -152,7 +155,7 @@ mklinks(hid_t fapl) *------------------------------------------------------------------------- */ static int -new_links(hid_t fapl) +new_links(hid_t fapl, hbool_t new_format) { hid_t file_a, file_b=(-1); hid_t grp1_a=(-1), grp1_b=(-1), grp2_a=(-1), grp2_b=(-1); @@ -161,57 +164,60 @@ new_links(hid_t fapl) char filename[NAME_BUF_SIZE]; hsize_t size[1] = {1}; - TESTING("H5Lcreate functions"); + if(new_format) + TESTING("H5Lcreate functions (w/new group format)") + else + TESTING("H5Lcreate functions") /* Create two files */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR h5_fixname(FILENAME[2], fapl, filename, sizeof filename); - if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR - if ((scalar=H5Screate_simple (1, size, size))<0) TEST_ERROR; + if ((scalar=H5Screate_simple (1, size, size)) < 0) TEST_ERROR /* Create two groups in each file */ - if ((grp1_a=H5Gcreate (file_a, "grp1", (size_t)0))<0) TEST_ERROR; - if ((grp2_a=H5Gcreate (file_a, "grp2", (size_t)0))<0) TEST_ERROR; - if ((grp1_b=H5Gcreate (file_b, "grp1", (size_t)0))<0) TEST_ERROR; - if ((grp2_b=H5Gcreate (file_b, "grp2", (size_t)0))<0) TEST_ERROR; + if ((grp1_a=H5Gcreate (file_a, "grp1", (size_t)0)) < 0) TEST_ERROR + if ((grp2_a=H5Gcreate (file_a, "grp2", (size_t)0)) < 0) TEST_ERROR + if ((grp1_b=H5Gcreate (file_b, "grp1", (size_t)0)) < 0) TEST_ERROR + if ((grp2_b=H5Gcreate (file_b, "grp2", (size_t)0)) < 0) TEST_ERROR /* Create datasets */ - if((dset1=H5Dcreate(file_a, "dataset1", H5T_NATIVE_INT, scalar, H5P_DEFAULT))<0) TEST_ERROR; - if((dset2=H5Dcreate(grp1_a, "dataset2", H5T_NATIVE_INT, scalar, H5P_DEFAULT))<0) TEST_ERROR; + if((dset1=H5Dcreate(file_a, "dataset1", H5T_NATIVE_INT, scalar, H5P_DEFAULT)) < 0) TEST_ERROR + if((dset2=H5Dcreate(grp1_a, "dataset2", H5T_NATIVE_INT, scalar, H5P_DEFAULT)) < 0) TEST_ERROR /* Create links within a file. Both of source and destination use * H5L_SAME_LOC. Both hard and soft links should fail. */ H5E_BEGIN_TRY { - if(H5Lcreate_hard(H5L_SAME_LOC, "dataset1", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR; + if(H5Lcreate_hard(H5L_SAME_LOC, "dataset1", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR } H5E_END_TRY; H5E_BEGIN_TRY { - if(H5Lcreate_soft("dataset1", H5L_SAME_LOC, "soft", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR; + if(H5Lcreate_soft("dataset1", H5L_SAME_LOC, "soft", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR } H5E_END_TRY; /* Create links across files with hard link. Should fail. */ H5E_BEGIN_TRY { - if(H5Lcreate_hard(file_a, "dataset1", file_b, "hard", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR; + if(H5Lcreate_hard(file_a, "dataset1", file_b, "hard", H5P_DEFAULT, H5P_DEFAULT)!=FAIL) TEST_ERROR } H5E_END_TRY; /* Create hard link to test H5L_SAME_LOC */ - if(H5Lcreate_hard(grp1_a, "dataset2", H5L_SAME_LOC, "hard1", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if(H5Lcreate_hard(grp1_a, "dataset2", H5L_SAME_LOC, "hard1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create links to test hard links across different locations */ - if(H5Lcreate_hard(grp1_a, "dataset2", grp2_a, "hard2", H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if(H5Lcreate_hard(grp1_a, "dataset2", grp2_a, "hard2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close dataspace and files */ - if (H5Sclose (scalar)<0) TEST_ERROR; - if (H5Dclose(dset1)<0) TEST_ERROR; - if (H5Dclose(dset2)<0) TEST_ERROR; - if (H5Gclose (grp1_a)<0) TEST_ERROR; - if (H5Gclose (grp2_a)<0) TEST_ERROR; - if (H5Gclose (grp1_b)<0) TEST_ERROR; - if (H5Gclose (grp2_b)<0) TEST_ERROR; - if (H5Fclose (file_a)<0) TEST_ERROR; - if (H5Fclose (file_b)<0) TEST_ERROR; + if (H5Sclose (scalar) < 0) TEST_ERROR + if (H5Dclose(dset1) < 0) TEST_ERROR + if (H5Dclose(dset2) < 0) TEST_ERROR + if (H5Gclose (grp1_a) < 0) TEST_ERROR + if (H5Gclose (grp2_a) < 0) TEST_ERROR + if (H5Gclose (grp1_b) < 0) TEST_ERROR + if (H5Gclose (grp2_b) < 0) TEST_ERROR + if (H5Fclose (file_a) < 0) TEST_ERROR + if (H5Fclose (file_b) < 0) TEST_ERROR PASSED(); return 0; @@ -250,7 +256,7 @@ new_links(hid_t fapl) *------------------------------------------------------------------------- */ static int -cklinks(hid_t fapl) +cklinks(hid_t fapl, hbool_t new_format) { hid_t file; H5G_stat_t sb1, sb2; @@ -258,45 +264,48 @@ cklinks(hid_t fapl) char filename[NAME_BUF_SIZE]; herr_t status; - TESTING("link queries"); + if(new_format) + TESTING("link queries (w/new group format)") + else + TESTING("link queries") /* Open the file */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Hard link */ - if (H5Gget_objinfo(file, "d1", TRUE, &sb1)<0) TEST_ERROR; - if (H5Gget_objinfo(file, "grp1/hard", TRUE, &sb2)<0) TEST_ERROR; + if (H5Gget_objinfo(file, "d1", TRUE, &sb1) < 0) TEST_ERROR + if (H5Gget_objinfo(file, "grp1/hard", TRUE, &sb2) < 0) TEST_ERROR if (H5G_DATASET!=sb2.type) { H5_FAILED(); printf(" %d: Unexpected object type should have been a dataset\n", __LINE__); - TEST_ERROR; + TEST_ERROR } if (HDmemcmp(&sb1.objno, &sb2.objno, sizeof(sb1.objno))) { H5_FAILED(); puts(" Hard link test failed. Link seems not to point to the "); puts(" expected file location."); - TEST_ERROR; + TEST_ERROR } /* Symbolic link */ - if (H5Gget_objinfo(file, "grp1/soft", TRUE, &sb2)<0) TEST_ERROR; + if (H5Gget_objinfo(file, "grp1/soft", TRUE, &sb2) < 0) TEST_ERROR if (H5G_DATASET!=sb2.type) { H5_FAILED(); printf(" %d: Unexpected object type should have been a dataset\n", __LINE__); - TEST_ERROR; + TEST_ERROR } if (HDmemcmp(&sb1.objno, &sb2.objno, sizeof(sb1.objno))) { H5_FAILED(); puts(" Soft link test failed. Link seems not to point to the "); puts(" expected file location."); - TEST_ERROR; + TEST_ERROR } - if (H5Lget_linkval(file, "grp1/soft", sizeof linkval, linkval, H5P_DEFAULT)<0) TEST_ERROR; + if (H5Lget_linkval(file, "grp1/soft", sizeof linkval, linkval, H5P_DEFAULT) < 0) TEST_ERROR if (HDstrcmp(linkval, "/d1")) { H5_FAILED(); puts(" Soft link test failed. Wrong link value"); - TEST_ERROR; + TEST_ERROR } /* Dangling link */ @@ -306,23 +315,23 @@ cklinks(hid_t fapl) if (status>=0) { H5_FAILED(); puts(" H5Gget_objinfo() should have failed for a dangling link."); - TEST_ERROR; + TEST_ERROR } - if (H5Gget_objinfo(file, "grp1/dangle", FALSE, &sb2)<0) TEST_ERROR; + if (H5Gget_objinfo(file, "grp1/dangle", FALSE, &sb2) < 0) TEST_ERROR if (H5G_LINK!=sb2.type) { H5_FAILED(); printf(" %d: Unexpected object type should have been a symbolic link\n", __LINE__); - TEST_ERROR; + TEST_ERROR } - if (H5Gget_linkval(file, "grp1/dangle", sizeof linkval, linkval)<0) { + if (H5Gget_linkval(file, "grp1/dangle", sizeof linkval, linkval) < 0) { H5_FAILED(); printf(" %d: Can't retrieve link value\n", __LINE__); - TEST_ERROR; + TEST_ERROR } if (HDstrcmp(linkval, "foobar")) { H5_FAILED(); puts(" Dangling link test failed. Wrong link value"); - TEST_ERROR; + TEST_ERROR } /* Recursive link */ @@ -332,27 +341,27 @@ cklinks(hid_t fapl) if (status>=0) { H5_FAILED(); puts(" H5Gget_objinfo() should have failed for a recursive link."); - TEST_ERROR; + TEST_ERROR } - if (H5Gget_objinfo(file, "grp1/recursive", FALSE, &sb2)<0) TEST_ERROR; + if (H5Gget_objinfo(file, "grp1/recursive", FALSE, &sb2) < 0) TEST_ERROR if (H5G_LINK!=sb2.type) { H5_FAILED(); printf(" %d: Unexpected object type should have been a symbolic link\n", __LINE__); - TEST_ERROR; + TEST_ERROR } - if (H5Gget_linkval(file, "grp1/recursive", sizeof linkval, linkval)<0) { + if (H5Gget_linkval(file, "grp1/recursive", sizeof linkval, linkval) < 0) { H5_FAILED(); printf(" %d: Can't retrieve link value\n", __LINE__); - TEST_ERROR; + TEST_ERROR } if (HDstrcmp(linkval, "/grp1/recursive")) { H5_FAILED(); puts(" Recursive link test failed. Wrong link value"); - TEST_ERROR; + TEST_ERROR } /* Cleanup */ - if (H5Fclose(file)<0) TEST_ERROR; + if (H5Fclose(file) < 0) TEST_ERROR PASSED(); return 0; @@ -377,41 +386,44 @@ cklinks(hid_t fapl) *------------------------------------------------------------------------- */ static int -ck_new_links(hid_t fapl) +ck_new_links(hid_t fapl, hbool_t new_format) { hid_t file; H5G_stat_t sb_dset, sb_hard1, sb_hard2; char filename[NAME_BUF_SIZE]; - TESTING("new link queries"); + if(new_format) + TESTING("new link queries (w/new group format)") + else + TESTING("new link queries") /* Open the file */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Get hard link info */ - if(H5Gget_objinfo(file, "/grp1/dataset2", TRUE, &sb_dset)<0) - TEST_ERROR; - if(H5Gget_objinfo(file, "/grp1/hard1", TRUE, &sb_hard1)<0) - TEST_ERROR; - if(H5Gget_objinfo(file, "/grp2/hard2", TRUE, &sb_hard2)<0) - TEST_ERROR; + if(H5Gget_objinfo(file, "/grp1/dataset2", TRUE, &sb_dset) < 0) + TEST_ERROR + if(H5Gget_objinfo(file, "/grp1/hard1", TRUE, &sb_hard1) < 0) + TEST_ERROR + if(H5Gget_objinfo(file, "/grp2/hard2", TRUE, &sb_hard2) < 0) + TEST_ERROR /* Check hard links */ if(H5G_DATASET!=sb_hard1.type || H5G_DATASET!=sb_hard2.type) { H5_FAILED(); printf(" %d: Unexpected object type should have been a dataset\n", __LINE__); - TEST_ERROR; + TEST_ERROR } if(HDmemcmp(&sb_dset.objno, &sb_hard1.objno, sizeof(sb_dset.objno)) || HDmemcmp(&sb_dset.objno, &sb_hard2.objno, sizeof(sb_dset.objno))) { H5_FAILED(); puts(" Hard link test failed. Link seems not to point to the "); puts(" expected file location."); - TEST_ERROR; + TEST_ERROR } /* Cleanup */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR PASSED(); return 0; @@ -437,7 +449,7 @@ ck_new_links(hid_t fapl) *------------------------------------------------------------------------- */ static int -long_links(hid_t fapl) +long_links(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group ID */ @@ -446,35 +458,38 @@ long_links(hid_t fapl) size_t u; /* Local index variable */ char filename[NAME_BUF_SIZE]; - TESTING("long names for objects & links"); + if(new_format) + TESTING("long names for objects & links (w/new group format)") + else + TESTING("long names for objects & links") /* Create files */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group with short name in file (used as target for hard links) */ - if((gid=H5Gcreate (fid, "grp1", (size_t)0))<0) TEST_ERROR; + if((gid=H5Gcreate (fid, "grp1", (size_t)0)) < 0) TEST_ERROR /* Construct very long file name */ - if((objname = HDmalloc((size_t)(MAX_NAME_LEN + 1))) == NULL) TEST_ERROR; + if((objname = HDmalloc((size_t)(MAX_NAME_LEN + 1))) == NULL) TEST_ERROR for(u = 0; u < MAX_NAME_LEN; u++) objname[u] = 'a'; objname[MAX_NAME_LEN] = '\0'; /* Create hard link to existing object */ - if(H5Lcreate_hard(fid, "grp1", fid, objname, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_hard(fid, "grp1", fid, objname, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create soft link to existing object */ objname[0] = 'b'; - if(H5Lcreate_soft("grp1", fid, objname, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_soft("grp1", fid, objname, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create group with long name in existing group */ - if((gid2=H5Gcreate(gid, objname, (size_t)0))<0) TEST_ERROR; + if((gid2=H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Close objects */ - if(H5Gclose(gid2)<0) TEST_ERROR; - if(H5Gclose(gid)<0) TEST_ERROR; - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Release memory */ HDfree(objname); @@ -510,7 +525,7 @@ long_links(hid_t fapl) *------------------------------------------------------------------------- */ static int -toomany(hid_t fapl) +toomany(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -518,7 +533,10 @@ toomany(hid_t fapl) ssize_t name_len; /* Length of object name */ char filename[NAME_BUF_SIZE]; - TESTING("too many links"); + if(new_format) + TESTING("too many links (w/new group format)") + else + TESTING("too many links") /* Make certain test is valid */ /* XXX: should probably make a "generic" test that creates the proper @@ -528,62 +546,62 @@ toomany(hid_t fapl) /* Create file */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group with short name in file (used as target for hard links) */ - if((gid=H5Gcreate (fid, "final", (size_t)0))<0) TEST_ERROR; + if((gid=H5Gcreate (fid, "final", (size_t)0)) < 0) TEST_ERROR /* Create chain of hard links to existing object (no limit on #) */ - if(H5Lcreate_hard(fid, "final", fid, "hard1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard1", fid, "hard2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard2", fid, "hard3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard3", fid, "hard4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard4", fid, "hard5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard5", fid, "hard6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard6", fid, "hard7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard7", fid, "hard8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard8", fid, "hard9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard9", fid, "hard10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard10", fid, "hard11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard11", fid, "hard12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard12", fid, "hard13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard13", fid, "hard14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard14", fid, "hard15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard15", fid, "hard16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard16", fid, "hard17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard17", fid, "hard18", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard18", fid, "hard19", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard19", fid, "hard20", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_hard(fid, "hard20", fid, "hard21", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_hard(fid, "final", fid, "hard1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard1", fid, "hard2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard2", fid, "hard3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard3", fid, "hard4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard4", fid, "hard5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard5", fid, "hard6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard6", fid, "hard7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard7", fid, "hard8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard8", fid, "hard9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard9", fid, "hard10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard10", fid, "hard11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard11", fid, "hard12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard12", fid, "hard13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard13", fid, "hard14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard14", fid, "hard15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard15", fid, "hard16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard16", fid, "hard17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard17", fid, "hard18", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard18", fid, "hard19", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard19", fid, "hard20", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_hard(fid, "hard20", fid, "hard21", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create chain of soft links to existing object (limited) */ - if(H5Lcreate_soft("final", fid, "soft1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft1", fid, "soft2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft2", fid, "soft3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft3", fid, "soft4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft4", fid, "soft5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft5", fid, "soft6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft6", fid, "soft7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft7", fid, "soft8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft8", fid, "soft9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft9", fid, "soft10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft10", fid, "soft11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft11", fid, "soft12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft12", fid, "soft13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft13", fid, "soft14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft14", fid, "soft15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft15", fid, "soft16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_soft("soft16", fid, "soft17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_soft("final", fid, "soft1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft1", fid, "soft2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft2", fid, "soft3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft3", fid, "soft4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft4", fid, "soft5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft5", fid, "soft6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft6", fid, "soft7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft7", fid, "soft8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft8", fid, "soft9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft9", fid, "soft10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft10", fid, "soft11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft11", fid, "soft12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft12", fid, "soft13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft13", fid, "soft14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft14", fid, "soft15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft15", fid, "soft16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_soft("soft16", fid, "soft17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close objects */ - if(H5Gclose(gid)<0) TEST_ERROR; - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Open file */ - if((fid=H5Fopen(filename, H5F_ACC_RDWR, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Open object through last hard link */ - if((gid = H5Gopen(fid, "hard21")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "hard21")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -596,7 +614,7 @@ toomany(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close hard-linked object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Open object through too deep soft link */ H5E_BEGIN_TRY { @@ -605,11 +623,11 @@ toomany(hid_t fapl) if (gid >= 0) { H5_FAILED(); puts(" Should have failed for sequence of too many nested links."); - TEST_ERROR; + TEST_ERROR } /* Open object through lesser soft link */ - if((gid = H5Gopen(fid, "soft16")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "soft16")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -623,7 +641,7 @@ toomany(hid_t fapl) if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -638,7 +656,6 @@ toomany(hid_t fapl) } /* end toomany() */ -#ifdef H5_GROUP_REVISION /*------------------------------------------------------------------------- * Function: test_h5l_create * @@ -655,7 +672,7 @@ toomany(hid_t fapl) *------------------------------------------------------------------------- */ static int -test_h5l_create(hid_t fapl) +test_h5l_create(hid_t fapl, hbool_t new_format) { hid_t file_id=-1; hid_t group_id=-1; @@ -668,24 +685,28 @@ test_h5l_create(hid_t fapl) int i, n, j; int wdata[H5L_DIM1][H5L_DIM2]; int rdata[H5L_DIM1][H5L_DIM2]; - TESTING("H5Llink"); + + if(new_format) + TESTING("H5Llink (w/new group format)") + else + TESTING("H5Llink") /* Create file */ h5_fixname(FILENAME[3], fapl, filename, sizeof filename); - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create and commit a datatype with no name */ - if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR; - if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(! H5Tcommitted(type_id)) TEST_ERROR; + if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(! H5Tcommitted(type_id)) TEST_ERROR /* Create the dataspace */ dims[0] = H5L_DIM1; dims[1] = H5L_DIM2; - if((space_id=H5Screate_simple(2 ,dims, NULL))<0) TEST_ERROR; + if((space_id=H5Screate_simple(2 ,dims, NULL)) < 0) TEST_ERROR /* Create a dataset with no name using the committed datatype*/ - if ((dset_id = H5Dcreate_expand(file_id, type_id, space_id, H5P_DEFAULT, H5P_DEFAULT)) <0) TEST_ERROR; + if ((dset_id = H5Dcreate_expand(file_id, type_id, space_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR /* Verify that we can write to and read from the dataset */ /* Initialize the dataset */ @@ -694,74 +715,69 @@ test_h5l_create(hid_t fapl) wdata[i][j] = n++; /* Write the data to the dataset */ - if (H5Dwrite(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata)<0) TEST_ERROR; + if (H5Dwrite(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata) < 0) TEST_ERROR /* Read the data back */ - if (H5Dread(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata)<0) TEST_ERROR; + if (H5Dread(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata) < 0) TEST_ERROR /* Verify the data */ - for (i = 0; i < H5L_DIM1; i++) { - for (j = 0; j < H5L_DIM2; j++) { + for (i = 0; i < H5L_DIM1; i++) + for (j = 0; j < H5L_DIM2; j++) if (wdata[i][j] != rdata[i][j]) - { - TEST_ERROR; - } - }} + TEST_ERROR /* Create a group with no name*/ - if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR; + if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR /* Link nameless datatype into nameless group */ - if(H5Llink(group_id, "datatype", type_id, H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; + if(H5Llink(group_id, "datatype", type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create LCPL with intermediate group creation flag set */ - if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) <0) TEST_ERROR; - if(H5Pset_create_intermediate_group(lcpl_id, TRUE) <0) TEST_ERROR; + if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR + if(H5Pset_create_intermediate_group(lcpl_id, TRUE) < 0) TEST_ERROR /* Link nameless dataset into nameless group with intermediate group */ - if(H5Llink(group_id, "inter_group/dataset", dset_id, lcpl_id, H5P_DEFAULT)<0) TEST_ERROR; + if(H5Llink(group_id, "inter_group/dataset", dset_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR /* Close IDs for dataset and datatype */ - if(H5Dclose(dset_id)<0) TEST_ERROR; - if(H5Tclose(type_id)<0) TEST_ERROR; + if(H5Dclose(dset_id) < 0) TEST_ERROR + if(H5Tclose(type_id) < 0) TEST_ERROR /* Re-open datatype using new link */ - if((type_id = H5Topen(group_id, "datatype"))<0) TEST_ERROR; + if((type_id = H5Topen(group_id, "datatype")) < 0) TEST_ERROR /* Link nameless group to root group and close the group ID*/ - if(H5Llink(file_id, "/group", group_id, H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Gclose(group_id)<0) TEST_ERROR; + if(H5Llink(file_id, "/group", group_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(group_id) < 0) TEST_ERROR /* Open dataset through root group and verify its data */ - if((dset_id = H5Dopen(file_id, "/group/inter_group/dataset"))<0) TEST_ERROR; + if((dset_id = H5Dopen(file_id, "/group/inter_group/dataset")) < 0) TEST_ERROR /* Read data from dataset */ - if (H5Dread(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata)<0) TEST_ERROR; - for (i = 0; i < H5L_DIM1; i++) { - for (j = 0; j < H5L_DIM2; j++) { - if (wdata[i][j] != rdata[i][j]) - { - TEST_ERROR; - } - }} + if (H5Dread(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata) < 0) TEST_ERROR + for (i = 0; i < H5L_DIM1; i++) + for (j = 0; j < H5L_DIM2; j++) + if (wdata[i][j] != rdata[i][j]) + TEST_ERROR /* Close open IDs */ - if(H5Dclose(dset_id)<0) TEST_ERROR; - if(H5Tclose(type_id)<0) TEST_ERROR; - if(H5Pclose(lcpl_id)<0) TEST_ERROR; - if(H5Sclose(space_id)<0) TEST_ERROR; - if(H5Fclose(file_id)<0) TEST_ERROR; + if(H5Dclose(dset_id) < 0) TEST_ERROR + if(H5Tclose(type_id) < 0) TEST_ERROR + if(H5Pclose(lcpl_id) < 0) TEST_ERROR + if(H5Sclose(space_id) < 0) TEST_ERROR + if(H5Fclose(file_id) < 0) TEST_ERROR + PASSED(); return 0; error: H5E_BEGIN_TRY { - H5Gclose(group_id); - H5Dclose(dset_id); - H5Tclose(type_id); - H5Pclose(lcpl_id); - H5Sclose(space_id); - H5Fclose(file_id); + H5Gclose(group_id); + H5Dclose(dset_id); + H5Tclose(type_id); + H5Pclose(lcpl_id); + H5Sclose(space_id); + H5Fclose(file_id); } H5E_END_TRY; return 1; } /* end test_h5l_create() */ @@ -783,7 +799,7 @@ error: *------------------------------------------------------------------------- */ static int -test_lcpl(hid_t fapl) +test_lcpl(hid_t fapl, hbool_t new_format) { hid_t file_id=-1; hid_t group_id=-1; @@ -795,101 +811,99 @@ test_lcpl(hid_t fapl) char filename[1024]; hsize_t dims[2]; - TESTING("link creation property lists"); + if(new_format) + TESTING("link creation property lists (w/new group format)") + else + TESTING("link creation property lists") + /* Actually, intermediate group creation is tested elsewhere (tmisc). * Here we only need to test the character encoding property */ /* Create file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create and link a group with the default LCPL */ - if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Llink(file_id, "/group", group_id, H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Gclose(group_id)<0) TEST_ERROR; + if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "/group", group_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(group_id) < 0) TEST_ERROR /* Check that its character encoding is the default */ - if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR /* Create and commit a datatype with the default LCPL */ - if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR; - if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Llink(file_id, "/type", type_id, H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Tclose(type_id)<0) TEST_ERROR; + if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Llink(file_id, "/type", type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Tclose(type_id) < 0) TEST_ERROR; /* Check that its character encoding is the default */ - if(H5Lget_linkinfo(file_id, "type", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "type", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR /* Create a dataspace */ dims[0] = H5L_DIM1; dims[1] = H5L_DIM2; - if((space_id=H5Screate_simple(2 ,dims, NULL))<0) TEST_ERROR; + if((space_id=H5Screate_simple(2 ,dims, NULL)) < 0) TEST_ERROR /* Create a dataset using the default LCPL */ - if ((dset_id = H5Dcreate_expand(file_id, H5T_NATIVE_INT, space_id, H5P_DEFAULT, H5P_DEFAULT)) <0) TEST_ERROR; - if(H5Llink(file_id, "/dataset", dset_id, H5P_DEFAULT, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Dclose(dset_id)<0) TEST_ERROR; + if ((dset_id = H5Dcreate_expand(file_id, H5T_NATIVE_INT, space_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "/dataset", dset_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Dclose(dset_id) < 0) TEST_ERROR /* Check that its character encoding is the default */ - if(H5Lget_linkinfo(file_id, "dataset", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "dataset", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5F_CRT_DEFAULT_CSET) TEST_ERROR /* Create a link creation property list with the UTF-8 character encoding */ - if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) <0) TEST_ERROR; - if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR; + if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR + if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR /* Create and link a group with the new LCPL */ - if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Llink(file_id, "/group2", group_id, lcpl_id, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Gclose(group_id)<0) TEST_ERROR; + if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "/group2", group_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(group_id) < 0) TEST_ERROR /* Check that its character encoding is UTF-8 */ - if(H5Lget_linkinfo(file_id, "group2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "group2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Create and commit a datatype with the new LCPL */ - if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR; - if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Llink(file_id, "/type2", type_id, lcpl_id, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Tclose(type_id)<0) TEST_ERROR; + if((type_id =H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if(H5Tcommit_expand(file_id, type_id, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Llink(file_id, "/type2", type_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Tclose(type_id) < 0) TEST_ERROR; /* Check that its character encoding is UTF-8 */ - if(H5Lget_linkinfo(file_id, "type2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "type2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Create a dataset using the new LCPL */ - if ((dset_id = H5Dcreate_expand(file_id, H5T_NATIVE_INT, space_id, H5P_DEFAULT, H5P_DEFAULT)) <0) TEST_ERROR; - if(H5Llink(file_id, "/dataset2", dset_id, lcpl_id, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Dclose(dset_id)<0) TEST_ERROR; + if ((dset_id = H5Dcreate_expand(file_id, H5T_NATIVE_INT, space_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "/dataset2", dset_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Dclose(dset_id) < 0) TEST_ERROR /* Check that its character encoding is UTF-8 */ - if(H5Lget_linkinfo(file_id, "dataset2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "dataset2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Create a new link to the dataset with a different character encoding. */ - if(H5Pclose(lcpl_id)<0) TEST_ERROR; - if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) <0) TEST_ERROR; - if(H5Pset_char_encoding(lcpl_id, H5T_CSET_ASCII) < 0) TEST_ERROR; + if(H5Pclose(lcpl_id) < 0) TEST_ERROR + if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR + if(H5Pset_char_encoding(lcpl_id, H5T_CSET_ASCII) < 0) TEST_ERROR - if(H5Lcreate_hard(file_id, "/dataset2", file_id, "/dataset2_link", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_hard(file_id, "/dataset2", file_id, "/dataset2_link", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR /* Check that its character encoding is ASCII */ - if(H5Lget_linkinfo(file_id, "/dataset2_link", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "/dataset2_link", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR /* Check that the first link's encoding hasn't changed */ - if(H5Lget_linkinfo(file_id, "/dataset2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; - + if(H5Lget_linkinfo(file_id, "/dataset2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR -/* JAMES: these tests don't work because the character set encoding is - * not stored in the symbol table. - * Quincey says this will be fixed someday. - */ -#ifdef NOTYET /* Make sure that LCPLs work properly for other API calls: */ /* H5Lcreate_soft */ if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR @@ -900,25 +914,24 @@ test_lcpl(hid_t fapl) /* H5Lmove */ if(H5Pset_char_encoding(lcpl_id, H5T_CSET_ASCII) < 0) TEST_ERROR if(H5Lmove(file_id, "slink_to_dset2", file_id, "moved_slink", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Lget_linkinfo(file_id, "moved_slink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "moved_slink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR /* H5Lcopy */ - if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR; + if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR if(H5Lcopy(file_id, "moved_slink", file_id, "copied_slink", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Lget_linkinfo(file_id, "copied_slink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(H5Lget_linkinfo(file_id, "copied_slink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* H5Lcreate_external */ if(H5Lcreate_external("filename", "path", file_id, "extlink", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Lget_linkinfo(file_id, "extlink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; -#endif /* NOTYET */ + if(H5Lget_linkinfo(file_id, "extlink", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Close open IDs */ - if(H5Pclose(lcpl_id)<0) TEST_ERROR; - if(H5Sclose(space_id)<0) TEST_ERROR; - if(H5Fclose(file_id)<0) TEST_ERROR; + if(H5Pclose(lcpl_id) < 0) TEST_ERROR + if(H5Sclose(space_id) < 0) TEST_ERROR + if(H5Fclose(file_id) < 0) TEST_ERROR PASSED(); return 0; @@ -934,7 +947,6 @@ error: } H5E_END_TRY; return 1; } /* end test_lcpl() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -954,103 +966,106 @@ error: *------------------------------------------------------------------------- */ static int -test_move(hid_t fapl) +test_move(hid_t fapl, hbool_t new_format) { hid_t file_a, file_b=(-1); hid_t grp_1=(-1), grp_2=(-1), grp_move=(-1), moved_grp=(-1); char filename[1024]; - TESTING("H5Lmove"); + if(new_format) + TESTING("H5Lmove (w/new group format)") + else + TESTING("H5Lmove") /* Create two new files */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - TEST_ERROR; + if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + TEST_ERROR h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - TEST_ERROR; + if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + TEST_ERROR /* Create groups in first file */ - if((grp_1=H5Gcreate(file_a, "group1", 0))<0) TEST_ERROR; - if((grp_2=H5Gcreate(file_a, "group2", 0))<0) TEST_ERROR; - if((grp_move=H5Gcreate(grp_1, "group_move", 0))<0) TEST_ERROR; + if((grp_1=H5Gcreate(file_a, "group1", (size_t)0)) < 0) TEST_ERROR + if((grp_2=H5Gcreate(file_a, "group2", (size_t)0)) < 0) TEST_ERROR + if((grp_move=H5Gcreate(grp_1, "group_move", (size_t)0)) < 0) TEST_ERROR /* Create hard and soft links. */ - if(H5Lcreate_hard(grp_1, "group_move", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; - if(H5Lcreate_soft("/group1/group_move", grp_2, "soft", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcreate_hard(grp_1, "group_move", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR + if(H5Lcreate_soft("/group1/group_move", grp_2, "soft", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Move a group within the file. Both of source and destination use * H5L_SAME_LOC. Should fail. */ H5E_BEGIN_TRY { if(H5Lmove(H5L_SAME_LOC, "group_move", H5L_SAME_LOC, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) - !=FAIL) TEST_ERROR; + !=FAIL) TEST_ERROR } H5E_END_TRY; /* Move a group across files. Should fail. */ H5E_BEGIN_TRY { if(H5Lmove(grp_1, "group_move", file_b, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) - !=FAIL) TEST_ERROR; + !=FAIL) TEST_ERROR } H5E_END_TRY; /* Move a group across groups in the same file while renaming it. */ - if(H5Lmove(grp_1, "group_move", grp_2, "group_new_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lmove(grp_1, "group_move", grp_2, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group just moved to the new location. */ - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is no longer in the original location */ H5E_BEGIN_TRY { if((moved_grp = H5Gopen(grp_1, "group_move"))>=0) - TEST_ERROR; + TEST_ERROR } H5E_END_TRY; /* Use H5Lmove to rename a group without moving it. */ - if(H5Lmove(grp_2, "group_new_name", H5L_SAME_LOC, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lmove(grp_2, "group_new_name", H5L_SAME_LOC, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group. */ - if((moved_grp = H5Gopen(grp_2, "group_newer_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Use H5Lmove to move a group without renaming it. */ - if(H5Lmove(grp_2, "group_newer_name", grp_1, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lmove(grp_2, "group_newer_name", grp_1, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group . */ - if((moved_grp = H5Gopen(grp_1, "group_newer_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_1, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Move the group while giving long paths. */ - if(H5Lmove(file_a, "/group1/group_newer_name", grp_2, "/group2/group_newest_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lmove(file_a, "/group1/group_newer_name", grp_2, "/group2/group_newest_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group just moved to the new location. */ - if((moved_grp = H5Gopen(grp_2, "group_newest_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_newest_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is in no previous locations */ H5E_BEGIN_TRY { if((moved_grp = H5Gopen(grp_1, "group_newer_name"))>=0) - TEST_ERROR; + TEST_ERROR if((moved_grp = H5Gopen(grp_2, "group_newer_name"))>=0) - TEST_ERROR; + TEST_ERROR if((moved_grp = H5Gopen(grp_2, "group_new_name"))>=0) - TEST_ERROR; + TEST_ERROR if((moved_grp = H5Gopen(grp_1, "group_copy"))>=0) - TEST_ERROR; + TEST_ERROR } H5E_END_TRY; H5Gclose(grp_1); @@ -1093,119 +1108,122 @@ test_move(hid_t fapl) *------------------------------------------------------------------------- */ static int -test_copy(hid_t fapl) +test_copy(hid_t fapl, hbool_t new_format) { hid_t file_a, file_b=(-1); hid_t grp_1=(-1), grp_2=(-1), grp_move=(-1), moved_grp=(-1); char filename[1024]; - TESTING("H5Lcopy"); + if(new_format) + TESTING("H5Lcopy (w/new group format)") + else + TESTING("H5Lcopy") /* Create two new files */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - TEST_ERROR; + if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + TEST_ERROR h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - TEST_ERROR; + if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + TEST_ERROR /* Create groups in first file */ - if((grp_1=H5Gcreate(file_a, "group1", 0))<0) TEST_ERROR; - if((grp_2=H5Gcreate(file_a, "group2", 0))<0) TEST_ERROR; - if((grp_move=H5Gcreate(grp_1, "group_copy", 0))<0) TEST_ERROR; + if((grp_1=H5Gcreate(file_a, "group1", (size_t)0)) < 0) TEST_ERROR + if((grp_2=H5Gcreate(file_a, "group2", (size_t)0)) < 0) TEST_ERROR + if((grp_move=H5Gcreate(grp_1, "group_copy", (size_t)0)) < 0) TEST_ERROR /* Create hard and soft links. */ - if(H5Lcreate_hard(grp_1, "group_copy", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; - if(H5Lcreate_soft("/group1/group_copy", grp_2, "soft", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcreate_hard(grp_1, "group_copy", H5L_SAME_LOC, "hard", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR + if(H5Lcreate_soft("/group1/group_copy", grp_2, "soft", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Copy a group within the file. Both of source and destination use * H5L_SAME_LOC. Should fail. */ H5E_BEGIN_TRY { if(H5Lcopy(H5L_SAME_LOC, "group_copy", H5L_SAME_LOC, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) - !=FAIL) TEST_ERROR; + !=FAIL) TEST_ERROR } H5E_END_TRY; /* Copy a group across files. Should fail. */ H5E_BEGIN_TRY { if(H5Lcopy(grp_1, "group_copy", file_b, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) - !=FAIL) TEST_ERROR; + !=FAIL) TEST_ERROR } H5E_END_TRY; /* Move a group across groups in the same file while renaming it. */ - if(H5Lcopy(grp_1, "group_copy", grp_2, "group_new_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcopy(grp_1, "group_copy", grp_2, "group_new_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group just moved to the new location. */ - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is also in the original location */ - if((moved_grp = H5Gopen(grp_1, "group_copy"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_1, "group_copy")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Use H5Lcopy to create a group in the same location with a different name. */ - if(H5Lcopy(grp_2, "group_new_name", H5L_SAME_LOC, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcopy(grp_2, "group_new_name", H5L_SAME_LOC, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group. */ - if((moved_grp = H5Gopen(grp_2, "group_newer_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is also in the original location */ - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Use H5Lcopy to copy to a different location with the same name. */ - if(H5Lcopy(grp_2, "group_newer_name", grp_1, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcopy(grp_2, "group_newer_name", grp_1, "group_newer_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group . */ - if((moved_grp = H5Gopen(grp_1, "group_newer_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_1, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is still in the previous location */ - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Copy the group while giving long paths. */ - if(H5Lcopy(file_a, "/group1/group_newer_name", grp_2, "/group2/group_newest_name", H5P_DEFAULT, H5P_DEFAULT)<0) - TEST_ERROR; + if(H5Lcopy(file_a, "/group1/group_newer_name", grp_2, "/group2/group_newest_name", H5P_DEFAULT, H5P_DEFAULT) < 0) + TEST_ERROR /* Open the group just moved to the new location. */ - if((moved_grp = H5Gopen(grp_2, "group_newest_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_2, "group_newest_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR /* Verify that the group is still in all previous original locations */ - if((moved_grp = H5Gopen(grp_1, "group_newer_name"))<0) - TEST_ERROR; + if((moved_grp = H5Gopen(grp_1, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; - if((moved_grp = H5Gopen(grp_2, "group_newer_name"))<0) - TEST_ERROR; + TEST_ERROR + if((moved_grp = H5Gopen(grp_2, "group_newer_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - TEST_ERROR; + TEST_ERROR + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; - if((moved_grp = H5Gopen(grp_1, "group_copy"))<0) - TEST_ERROR; + TEST_ERROR + if((moved_grp = H5Gopen(grp_1, "group_copy")) < 0) + TEST_ERROR if( H5Gclose(moved_grp) < 0) - TEST_ERROR; + TEST_ERROR H5Gclose(grp_1); H5Gclose(grp_2); @@ -1228,8 +1246,8 @@ test_copy(hid_t fapl) } H5E_END_TRY; return 1; } + -#ifdef H5_GROUP_REVISION /*------------------------------------------------------------------------- * Function: test_move_preserves * @@ -1247,117 +1265,156 @@ test_copy(hid_t fapl) *------------------------------------------------------------------------- */ static int -test_move_preserves(hid_t fapl_id) +test_move_preserves(hid_t fapl_id, hbool_t new_format) { hid_t file_id=-1; hid_t group_id=-1; + hid_t fcpl_id=-1; /* Group creation property list ID */ hid_t lcpl_id=-1; hid_t lcpl2_id=-1; H5G_stat_t statbuf; H5L_linkinfo_t linfo; - time_t old_create_time; + H5T_cset_t old_cset; + int64_t old_corder; /* Creation order value of link */ time_t old_modification_time; time_t curr_time; + hbool_t track_corder; /* Status of creation order tracking for GCPL */ char filename[1024]; - TESTING("moving and copying links preserves their properties"); + if(new_format) + TESTING("moving and copying links preserves their properties (w/new group format)") + else + TESTING("moving and copying links preserves their properties") + + /* Create a file creation property list with creation order stored for links + * in the root group + */ + if((fcpl_id = H5Pcreate(H5P_FILE_CREATE)) < 0) TEST_ERROR + if(H5Pget_creation_order_tracking(fcpl_id, &track_corder) < 0) TEST_ERROR + if(track_corder != FALSE) TEST_ERROR + if(H5Pset_creation_order_tracking(fcpl_id, TRUE) < 0) TEST_ERROR + if(H5Pget_creation_order_tracking(fcpl_id, &track_corder) < 0) TEST_ERROR + if(track_corder != TRUE) TEST_ERROR /* Create file */ + /* (with creation order tracking for the root group) */ h5_fixname(FILENAME[0], fapl_id, filename, sizeof filename); - - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id))<0) TEST_ERROR; + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, fcpl_id, fapl_id)) < 0) TEST_ERROR /* Create a link creation property list with the UTF-8 character encoding */ - if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) <0) TEST_ERROR; - if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR; + if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR + if(H5Pset_char_encoding(lcpl_id, H5T_CSET_UTF8) < 0) TEST_ERROR + /* Create a group with that lcpl */ - if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) <0) TEST_ERROR; - if(H5Llink(file_id, "group", group_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Gclose(group_id) < 0) TEST_ERROR; - - /* Get the group's link's creation time */ - if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) <0) TEST_ERROR; - old_create_time = linfo.ctime; + if((group_id = H5Gcreate_expand(file_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "group", group_id, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(group_id) < 0) TEST_ERROR + + /* Get the group's link's information */ + if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) < 0) TEST_ERROR + old_cset = linfo.cset; + if(old_cset != H5T_CSET_UTF8) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + old_corder = linfo.corder; + if(old_corder != 0) TEST_ERROR old_modification_time = statbuf.mtime; - /* If this test happens too quickly, the creation times will all be the same. Make sure the time changes. */ - curr_time=time(NULL); - while(time(NULL) <= curr_time ); + /* If this test happens too quickly, the times will all be the same. Make sure the time changes. */ + curr_time = HDtime(NULL); + while(HDtime(NULL) <= curr_time) + ; /* Close the file and reopen it */ - if(H5Fclose(file_id)<0) TEST_ERROR; - if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) <0) TEST_ERROR; - - /* Get the group's link's creation time. The times should be unchanged */ - if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; - - /* Create a new link to the group. It should have a different creation time but the same modification time */ - if(H5Lcreate_hard(file_id, "group", file_id, "group2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group2", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group2", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time == linfo.ctime) TEST_ERROR; - - /* Copy the first link to a UTF-8 name. Its creation time and modification time should not change. */ - if(H5Lcopy(file_id, "group", file_id, "group_copied", lcpl_id, H5P_DEFAULT) <0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group_copied", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group_copied", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; + if(H5Fclose(file_id) < 0) TEST_ERROR + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR + + /* Get the link's character set & modification time . They should be unchanged */ + if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(old_cset != linfo.cset) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(old_corder != linfo.corder) TEST_ERROR + + /* Create a new link to the group. It should have a different creation order value but the same modification time */ + if(H5Lcreate_hard(file_id, "group", file_id, "group2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group2", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(old_corder == linfo.corder) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(linfo.corder != 1) TEST_ERROR + if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR + + /* Copy the first link to a UTF-8 name. + * Its creation order value should be different, but modification time + * should not change. + */ + if(H5Lcopy(file_id, "group", file_id, "group_copied", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group_copied", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group_copied", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(linfo.corder != 2) TEST_ERROR /* Check that its character encoding is UTF-8 */ - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Move the link with the default property list. */ - if(H5Lmove(file_id, "group_copied", file_id, "group_copied2", H5P_DEFAULT, H5P_DEFAULT) <0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group_copied2", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group_copied2", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; + if(H5Lmove(file_id, "group_copied", file_id, "group_copied2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group_copied2", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group_copied2", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(linfo.corder != 3) TEST_ERROR /* Check that its character encoding is not UTF-8 */ - if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR; + if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR /* Check that the original link is unchanged */ - if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; - - /* Move the first link to a UTF-8 name. Its creation time and modification time should not change. */ - if(H5Lmove(file_id, "group", file_id, "group_moved", lcpl_id, H5P_DEFAULT) <0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group_moved", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group_moved", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; + if(H5Gget_objinfo(file_id, "group", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(old_corder != linfo.corder) TEST_ERROR + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR + + /* Move the first link to a UTF-8 name. + * Its creation order value will change, but modification time should not + * change. */ + if(H5Lmove(file_id, "group", file_id, "group_moved", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group_moved", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group_moved", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(linfo.corder != 4) TEST_ERROR /* Check that its character encoding is UTF-8 */ - if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR; + if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR /* Move the link again using the default property list. */ - if(H5Lmove(file_id, "group_moved", file_id, "group_moved_again", H5P_DEFAULT, H5P_DEFAULT) <0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "group_moved_again", TRUE, &statbuf) <0) TEST_ERROR; - if(old_modification_time != statbuf.mtime) TEST_ERROR; - if(H5Lget_linkinfo(file_id, "group_moved_again", &linfo, H5P_DEFAULT) <0) TEST_ERROR; - if(old_create_time != linfo.ctime) TEST_ERROR; + if(H5Lmove(file_id, "group_moved", file_id, "group_moved_again", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "group_moved_again", TRUE, &statbuf) < 0) TEST_ERROR + if(old_modification_time != statbuf.mtime) TEST_ERROR + if(H5Lget_linkinfo(file_id, "group_moved_again", &linfo, H5P_DEFAULT) < 0) TEST_ERROR + if(linfo.corder_valid != TRUE) TEST_ERROR + if(linfo.corder != 5) TEST_ERROR /* Check that its character encoding is not UTF-8 */ - if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR; + if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR /* Close open IDs */ - if(H5Pclose(lcpl_id) < 0) TEST_ERROR; - if(H5Fclose(file_id)<0) TEST_ERROR; + if(H5Pclose(fcpl_id) < 0) TEST_ERROR + if(H5Pclose(lcpl_id) < 0) TEST_ERROR + if(H5Fclose(file_id) < 0) TEST_ERROR PASSED(); return 0; error: H5E_BEGIN_TRY { + H5Pclose(fcpl_id); H5Pclose(lcpl_id); H5Pclose(lcpl2_id); H5Gclose(group_id); @@ -1365,7 +1422,6 @@ error: } H5E_END_TRY; return 1; } /* end test_move_preserves() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -1384,7 +1440,7 @@ error: *------------------------------------------------------------------------- */ static int -test_compat(hid_t fapl) +test_compat(hid_t fapl, hbool_t new_format) { hid_t file_id=-1; hid_t group1_id=-1; @@ -1393,76 +1449,79 @@ test_compat(hid_t fapl) char filename[1024]; char linkval[1024]; - TESTING("backwards compatibility"); + if(new_format) + TESTING("backwards compatibility (w/new group format)") + else + TESTING("backwards compatibility") /* Create file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create two groups in the file */ - if((group1_id = H5Gcreate(file_id, "group1", 1)) < 0) TEST_ERROR; - if((group2_id = H5Gcreate(file_id, "group2", 1)) < 0) TEST_ERROR; + if((group1_id = H5Gcreate(file_id, "group1", (size_t)1)) < 0) TEST_ERROR + if((group2_id = H5Gcreate(file_id, "group2", (size_t)1)) < 0) TEST_ERROR /* Create links using H5Glink and H5Glink2 */ - if(H5Glink(file_id, H5G_LINK_HARD, "group2", "group1/link_to_group2") < 0) TEST_ERROR; - if(H5Glink2(file_id, "group1", H5G_LINK_HARD, group2_id, "link_to_group1") < 0) TEST_ERROR; - if(H5Glink2(file_id, "link_to_group1", H5G_LINK_SOFT, H5G_SAME_LOC, "group2/soft_link_to_group1") < 0) TEST_ERROR; + if(H5Glink(file_id, H5G_LINK_HARD, "group2", "group1/link_to_group2") < 0) TEST_ERROR + if(H5Glink2(file_id, "group1", H5G_LINK_HARD, group2_id, "link_to_group1") < 0) TEST_ERROR + if(H5Glink2(file_id, "link_to_group1", H5G_LINK_SOFT, H5G_SAME_LOC, "group2/soft_link_to_group1") < 0) TEST_ERROR /* Test that H5Glink created hard links properly */ - if(H5Gget_objinfo(file_id, "/group2", TRUE, &sb_hard1)<0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "/group1/link_to_group2", TRUE, &sb_hard2)<0) TEST_ERROR; + if(H5Gget_objinfo(file_id, "/group2", TRUE, &sb_hard1) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "/group1/link_to_group2", TRUE, &sb_hard2) < 0) TEST_ERROR if (HDmemcmp(&sb_hard1.objno, sb_hard2.objno, sizeof(sb_hard1.objno))) { H5_FAILED(); puts(" Hard link test failed. Link seems not to point to the "); puts(" expected file location."); - TEST_ERROR; + TEST_ERROR } /* Test for the other hard link created */ - if(H5Gget_objinfo(file_id, "/group1", TRUE, &sb_hard1)<0) TEST_ERROR; - if(H5Gget_objinfo(file_id, "/group2/link_to_group1", TRUE, &sb_hard2)<0) TEST_ERROR; + if(H5Gget_objinfo(file_id, "/group1", TRUE, &sb_hard1) < 0) TEST_ERROR + if(H5Gget_objinfo(file_id, "/group2/link_to_group1", TRUE, &sb_hard2) < 0) TEST_ERROR if (HDmemcmp(&sb_hard1.objno, sb_hard2.objno, sizeof(sb_hard1.objno))) { H5_FAILED(); puts(" Hard link test failed. Link seems not to point to the "); puts(" expected file location."); - TEST_ERROR; + TEST_ERROR } /* Test the soft link */ - if(H5Gget_objinfo(file_id, "/group2/soft_link_to_group1", FALSE, &sb_soft1)<0) TEST_ERROR; - if(sb_soft1.type != H5G_LINK) TEST_ERROR; - if(sb_soft1.linklen != HDstrlen("link_to_group1") + 1) TEST_ERROR; + if(H5Gget_objinfo(file_id, "/group2/soft_link_to_group1", FALSE, &sb_soft1) < 0) TEST_ERROR + if(sb_soft1.type != H5G_LINK) TEST_ERROR + if(sb_soft1.linklen != HDstrlen("link_to_group1") + 1) TEST_ERROR - if(H5Gget_linkval(group2_id, "soft_link_to_group1", sb_soft1.linklen, linkval) < 0) TEST_ERROR; - if(HDstrcmp("link_to_group1", linkval)) TEST_ERROR; + if(H5Gget_linkval(group2_id, "soft_link_to_group1", sb_soft1.linklen, linkval) < 0) TEST_ERROR + if(HDstrcmp("link_to_group1", linkval)) TEST_ERROR /* Test H5Gmove and H5Gmove2 */ - if(H5Gmove(file_id, "group1", "moved_group1") < 0) TEST_ERROR; - if(H5Gmove2(file_id, "group2", group1_id, "moved_group2") < 0) TEST_ERROR; + if(H5Gmove(file_id, "group1", "moved_group1") < 0) TEST_ERROR + if(H5Gmove2(file_id, "group2", group1_id, "moved_group2") < 0) TEST_ERROR /* Ensure that both groups can be opened */ - if(H5Gclose(group2_id)<0) TEST_ERROR; - if(H5Gclose(group1_id)<0) TEST_ERROR; + if(H5Gclose(group2_id) < 0) TEST_ERROR + if(H5Gclose(group1_id) < 0) TEST_ERROR - if((group1_id = H5Gopen(file_id, "moved_group1")) < 0) TEST_ERROR; - if((group2_id = H5Gopen(file_id, "moved_group1/moved_group2")) < 0) TEST_ERROR; + if((group1_id = H5Gopen(file_id, "moved_group1")) < 0) TEST_ERROR + if((group2_id = H5Gopen(file_id, "moved_group1/moved_group2")) < 0) TEST_ERROR /* Close open IDs */ - if(H5Gclose(group2_id)<0) TEST_ERROR; - if(H5Gclose(group1_id)<0) TEST_ERROR; + if(H5Gclose(group2_id) < 0) TEST_ERROR + if(H5Gclose(group1_id) < 0) TEST_ERROR /* Test H5Gunlink */ - if(H5Gunlink(file_id, "moved_group1/moved_group2") < 0) TEST_ERROR; + if(H5Gunlink(file_id, "moved_group1/moved_group2") < 0) TEST_ERROR H5E_BEGIN_TRY { - if(H5Gopen(file_id, "moved_group1/moved_group2") >=0) TEST_ERROR; + if(H5Gopen(file_id, "moved_group1/moved_group2") >=0) TEST_ERROR } H5E_END_TRY; - if(H5Fclose(file_id)<0) TEST_ERROR; + if(H5Fclose(file_id) < 0) TEST_ERROR PASSED(); return 0; @@ -1494,7 +1553,7 @@ error: *------------------------------------------------------------------------- */ static int -external_link_root(hid_t fapl) +external_link_root(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -1506,29 +1565,32 @@ external_link_root(hid_t fapl) char *file; /* File from external link */ char *path; /* Path from external link */ - TESTING("external link to root"); + if(new_format) + TESTING("external link to root (w/new group format)") + else + TESTING("external link to root") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create file to point to */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Check that external links are registered with the library */ - if(H5Lis_registered(H5L_LINK_EXTERNAL) != TRUE) TEST_ERROR + if(H5Lis_registered(H5L_TYPE_EXTERNAL) != TRUE) TEST_ERROR /* Create file with link to first file */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link to object in first file */ - if(H5Lcreate_external(filename1, "/", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Check information for external link */ - if (H5Gget_objinfo(fid, "ext_link", FALSE, &sb)<0) goto error; + if (H5Gget_objinfo(fid, "ext_link", FALSE, &sb) < 0) goto error; if (H5G_UDLINK!=sb.type) { H5_FAILED(); puts(" Unexpected object type - should have been an external link"); @@ -1550,12 +1612,12 @@ external_link_root(hid_t fapl) } /* Close and re-open file to ensure that data is written to disk */ - if(H5Fclose(fid) < 0) TEST_ERROR; - if((fid = H5Fopen(filename2, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR + if((fid = H5Fopen(filename2, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) TEST_ERROR /* Open object through external link */ - if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1568,7 +1630,7 @@ external_link_root(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close external object (lets first file close) */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Create a new object using H5Gcreate through the external link * directly @@ -1576,15 +1638,15 @@ external_link_root(hid_t fapl) if((gid = H5Gcreate(fid, "ext_link/newer_group", (size_t)0)) < 0) TEST_ERROR /* Close file and group */ - if(H5Gclose(gid) < 0) TEST_ERROR; - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file again with read-only access and check on objects created */ if((fid = H5Fopen(filename1, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR /* Open objects created through external link */ - if((gid = H5Gopen(fid, "new_group")) < 0) TEST_ERROR; - if((gid2 = H5Gopen(fid, "newer_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "new_group")) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid, "newer_group")) < 0) TEST_ERROR /* Check names */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1597,7 +1659,7 @@ external_link_root(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Verify that new objects can't be created through a read-only external * link. @@ -1610,7 +1672,7 @@ external_link_root(hid_t fapl) if(gid >= 0) TEST_ERROR /* Close second file again */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -1643,7 +1705,7 @@ external_link_root(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_path(hid_t fapl) +external_link_path(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -1652,14 +1714,17 @@ external_link_path(hid_t fapl) char filename1[NAME_BUF_SIZE]; char filename2[NAME_BUF_SIZE]; - TESTING("external link to object on path"); + if(new_format) + TESTING("external link to object on path (w/new group format)") + else + TESTING("external link to object on path") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create file to point to */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create object down a path */ if((gid = H5Gcreate(fid, "A", (size_t)0)) < 0) TEST_ERROR @@ -1672,17 +1737,17 @@ external_link_path(hid_t fapl) if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create file with link to first file */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link to object in first file */ - if(H5Lcreate_external(filename1, "/A/B/C", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/A/B/C", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Open object through external link */ - if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1695,27 +1760,27 @@ external_link_path(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close external object (lets first file close) */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close second file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file again and check on object created */ if((fid = H5Fopen(filename1, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR /* Open object created through external link */ - if((gid = H5Gopen(fid, "/A/B/C/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "/A/B/C/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR if(HDstrcmp(objname, "/A/B/C/new_group")) TEST_ERROR /* Close opened object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -1749,7 +1814,7 @@ external_link_path(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_mult(hid_t fapl) +external_link_mult(hid_t fapl, hbool_t new_format) { hid_t fid = (-1), fid2 = (-1); /* File IDs */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -1760,7 +1825,10 @@ external_link_mult(hid_t fapl) filename3[NAME_BUF_SIZE], filename4[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("external links across multiple files"); + if(new_format) + TESTING("external links across multiple files (w/new group format)") + else + TESTING("external links across multiple files") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); @@ -1769,7 +1837,7 @@ external_link_mult(hid_t fapl) h5_fixname(FILENAME[6], fapl, filename4, sizeof filename4); /* Create first file to point to */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create object down a path */ if((gid = H5Gcreate(fid, "A", (size_t)0)) < 0) TEST_ERROR @@ -1782,10 +1850,10 @@ external_link_mult(hid_t fapl) if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create second file to point to */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link down a path */ if((gid = H5Gcreate(fid, "D", (size_t)0)) < 0) TEST_ERROR @@ -1794,15 +1862,15 @@ external_link_mult(hid_t fapl) if((gid = H5Gcreate(fid, "D/E", (size_t)0)) < 0) TEST_ERROR /* Create external link to object in first file */ - if(H5Lcreate_external(filename1, "/A/B/C", gid, "F", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/A/B/C", gid, "F", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create third file to point to */ - if((fid=H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link down a path */ if((gid = H5Gcreate(fid, "G", (size_t)0)) < 0) TEST_ERROR @@ -1811,22 +1879,22 @@ external_link_mult(hid_t fapl) if((gid = H5Gcreate(fid, "G/H", (size_t)0)) < 0) TEST_ERROR /* Create external link to object in second file */ - if(H5Lcreate_external(filename2, "/D/E/F", gid, "I", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename2, "/D/E/F", gid, "I", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create file with link to third file */ - if((fid=H5Fcreate(filename4, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename4, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link to object in first file */ - if(H5Lcreate_external(filename3, "/G/H/I", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename3, "/G/H/I", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Open object through external link */ - if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1839,17 +1907,17 @@ external_link_mult(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close external object (lets first file close) */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close second file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file again and check on object created */ if((fid = H5Fopen(filename1, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR /* Open object created through external link */ - if((gid = H5Gopen(fid, "/A/B/C/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "/A/B/C/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1859,26 +1927,26 @@ external_link_mult(hid_t fapl) if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Open an object through external links */ - if((fid = H5Fopen(filename4, H5F_ACC_RDONLY, H5P_DEFAULT)) <0) TEST_ERROR + if((fid = H5Fopen(filename4, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR if((gid = H5Gopen(fid, "ext_link")) < 0) TEST_ERROR /* The intermediate files should not stay open. Replace one of them with a new file. */ - if((fid2=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; - if(H5Fclose(fid2)<0) TEST_ERROR + if((fid2=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if(H5Fclose(fid2) < 0) TEST_ERROR /* Open the other with write access and delete the external link in it */ - if((fid2=H5Fopen(filename3, H5F_ACC_RDWR, fapl))<0) TEST_ERROR + if((fid2=H5Fopen(filename3, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR if(H5Lunlink(fid2, "G/H/I", H5P_DEFAULT) < 0) TEST_ERROR - if(H5Fclose(fid2)<0) TEST_ERROR + if(H5Fclose(fid2) < 0) TEST_ERROR /* Cleanup */ if(H5Gclose(gid) < 0) TEST_ERROR - if(H5Fclose(fid)<0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -1909,9 +1977,8 @@ external_link_mult(hid_t fapl) * *------------------------------------------------------------------------- */ -#ifdef H5_GROUP_REVISION static int -external_link_self(hid_t fapl) +external_link_self(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -1922,7 +1989,10 @@ external_link_self(hid_t fapl) char filename2[NAME_BUF_SIZE]; char filename3[NAME_BUF_SIZE]; - TESTING("external link to self"); + if(new_format) + TESTING("external link to self (w/new group format)") + else + TESTING("external link to self") /* Set up filename */ h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1); @@ -1930,10 +2000,10 @@ external_link_self(hid_t fapl) h5_fixname(FILENAME[3], fapl, filename3, sizeof filename1); /* Create file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an lcpl with intermediate group creation set */ - if((lcpl_id=H5Pcreate(H5P_LINK_CREATE))<0) TEST_ERROR + if((lcpl_id=H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR if(H5Pset_create_intermediate_group(lcpl_id, TRUE) < 0) TEST_ERROR /* Create a series of groups within the file: /A/B and /X/Y/Z */ @@ -1944,13 +2014,13 @@ external_link_self(hid_t fapl) if(H5Llink(fid, "X/Y", gid, lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR - if(H5Pclose (lcpl_id) <0) TEST_ERROR + if(H5Pclose (lcpl_id) < 0) TEST_ERROR /* Create external link to own root group*/ - if(H5Lcreate_external(filename1, "/X", fid, "A/B/C", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/X", fid, "A/B/C", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Open object through external link */ - if((gid = H5Gopen(fid, "A/B/C/")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "A/B/C/")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -1963,20 +2033,20 @@ external_link_self(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close object opened through external link */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Check on object created */ - if((gid = H5Gopen(fid, "X/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "X/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR if(HDstrcmp(objname, "/X/new_group")) TEST_ERROR /* Close opened object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Complicate things. Use this file as an intermediate file in a chain @@ -1984,7 +2054,7 @@ external_link_self(hid_t fapl) */ /* Create file2 with an external link to file1 */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR if(H5Lcreate_external(filename1, "/A", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR @@ -1992,8 +2062,8 @@ external_link_self(hid_t fapl) if(H5Fclose(fid) < 0) TEST_ERROR /* Create file3 as a target */ - if((fid=H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR - if((gid=H5Gcreate(fid, "end", 0)) < 0) TEST_ERROR + if((fid=H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((gid=H5Gcreate(fid, "end", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR if(H5Fclose(fid) < 0) TEST_ERROR @@ -2012,7 +2082,7 @@ external_link_self(hid_t fapl) if((gid=H5Gopen(fid, "ext_link/B/C/Y/Z/end")) < 0) TEST_ERROR /* Create object through external link */ - if((gid2 = H5Gcreate(gid, "newer_group", 0)) < 0) TEST_ERROR + if((gid2 = H5Gcreate(gid, "newer_group", (size_t)0)) < 0) TEST_ERROR /* Cleanup */ if(H5Gclose(gid2) < 0) TEST_ERROR @@ -2040,7 +2110,6 @@ external_link_self(hid_t fapl) } H5E_END_TRY; return -1; } /* end external_link_self() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -2068,7 +2137,7 @@ external_link_self(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_pingpong(hid_t fapl) +external_link_pingpong(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -2077,44 +2146,47 @@ external_link_pingpong(hid_t fapl) char filename1[NAME_BUF_SIZE], filename2[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("external links back and forth"); + if(new_format) + TESTING("external links back and forth (w/new group format)") + else + TESTING("external links back and forth") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create first file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external links for chain */ - if(H5Lcreate_external(filename2, "/link2", fid, "link1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link4", fid, "link3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link6", fid, "link5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename2, "/link2", fid, "link1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link4", fid, "link3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link6", fid, "link5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create final object */ if((gid = H5Gcreate(fid, "final", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create second file */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external links for chain */ - if(H5Lcreate_external(filename1, "/link3", fid, "link2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link5", fid, "link4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/final", fid, "link6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/link3", fid, "link2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link5", fid, "link4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/final", fid, "link6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file */ - if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Open object through external link */ - if((gid = H5Gopen(fid, "link1")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "link1")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -2127,27 +2199,27 @@ external_link_pingpong(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close external object (lets first file close) */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file again and check on object created */ if((fid = H5Fopen(filename1, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR /* Open object created through external link */ - if((gid = H5Gopen(fid, "/final/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "/final/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR if(HDstrcmp(objname, "/final/new_group")) TEST_ERROR /* Close opened object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -2167,7 +2239,7 @@ external_link_pingpong(hid_t fapl) * Function: external_link_toomany * * Purpose: Build a file with too many external links to objects (i.e. - * more than H5G_NLINKS. Use a "back & forth" style of + * more than H5L_NLINKS_DEF. Use a "back & forth" style of * linking (like the "ping pong" test above) to minimize the * number of files involved: * @@ -2201,7 +2273,7 @@ external_link_pingpong(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_toomany(hid_t fapl) +external_link_toomany(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -2210,7 +2282,10 @@ external_link_toomany(hid_t fapl) char filename1[NAME_BUF_SIZE], filename2[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("too many external links"); + if(new_format) + TESTING("too many external links (w/new group format)") + else + TESTING("too many external links") /* Make certain test is valid */ /* XXX: should probably make a "generic" test that creates the proper @@ -2223,45 +2298,45 @@ external_link_toomany(hid_t fapl) h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create first file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external links for chain */ - if(H5Lcreate_external(filename2, "/link2", fid, "link1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link4", fid, "link3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link6", fid, "link5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link8", fid, "link7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link10", fid, "link9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link12", fid, "link11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link14", fid, "link13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/link16", fid, "link15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/final", fid, "link17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename2, "/link2", fid, "link1", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link4", fid, "link3", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link6", fid, "link5", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link8", fid, "link7", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link10", fid, "link9", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link12", fid, "link11", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link14", fid, "link13", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/link16", fid, "link15", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/final", fid, "link17", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create second file */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external links for chain */ - if(H5Lcreate_external(filename1, "/link3", fid, "link2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link5", fid, "link4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link7", fid, "link6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link9", fid, "link8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link11", fid, "link10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link13", fid, "link12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link15", fid, "link14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename1, "/link17", fid, "link16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/link3", fid, "link2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link5", fid, "link4", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link7", fid, "link6", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link9", fid, "link8", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link11", fid, "link10", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link13", fid, "link12", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link15", fid, "link14", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename1, "/link17", fid, "link16", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create final object */ if((gid = H5Gcreate(fid, "final", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file */ - if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Open object through external link */ H5E_BEGIN_TRY { @@ -2274,7 +2349,7 @@ external_link_toomany(hid_t fapl) } /* Open object through external link */ - if((gid = H5Gopen(fid, "link3")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "link3")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -2287,10 +2362,10 @@ external_link_toomany(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Close external object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -2324,38 +2399,41 @@ external_link_toomany(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_dangling(hid_t fapl) +external_link_dangling(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group IDs */ char filename1[NAME_BUF_SIZE], filename2[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("dangling external links"); + if(new_format) + TESTING("dangling external links (w/new group format)") + else + TESTING("dangling external links") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create first file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create dangling external links */ - if(H5Lcreate_external("missing", "/missing", fid, "no_file", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external(filename2, "/missing", fid, "no_object", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external("missing", "/missing", fid, "no_file", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(filename2, "/missing", fid, "no_object", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create second file (for dangling object test) */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file */ - if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename1, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Open object through dangling file external link */ H5E_BEGIN_TRY { @@ -2378,7 +2456,7 @@ external_link_dangling(hid_t fapl) } /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -2409,29 +2487,32 @@ external_link_dangling(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_recursive(hid_t fapl) +external_link_recursive(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group IDs */ char filename1[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("recursive external links"); + if(new_format) + TESTING("recursive external links (w/new group format)") + else + TESTING("recursive external links") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); /* Create first file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create recursive external links */ - if(H5Lcreate_external(filename1, "/recursive", fid, "recursive", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_external(filename1, "/recursive", fid, "recursive", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Open file */ - if((fid=H5Fopen(filename1, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename1, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Open object through dangling file external link */ H5E_BEGIN_TRY { @@ -2444,7 +2525,7 @@ external_link_recursive(hid_t fapl) } /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -2476,7 +2557,7 @@ external_link_recursive(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_query(hid_t fapl) +external_link_query(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group IDs */ @@ -2488,15 +2569,17 @@ external_link_query(hid_t fapl) filename2[NAME_BUF_SIZE], /* Names of files to externally link across */ query_buf[NAME_BUF_SIZE]; /* Buffer to hold query result */ - - TESTING("query aspects of external link"); + if(new_format) + TESTING("query aspects of external link (w/new group format)") + else + TESTING("query aspects of external link") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); h5_fixname(FILENAME[4], fapl, filename2, sizeof filename2); /* Create first file, with external link to object in second file */ - if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR + if((fid=H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create external link */ if(H5Lcreate_external(filename2, "/dst", fid, "src", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR @@ -2504,50 +2587,50 @@ external_link_query(hid_t fapl) /* Get size of buffer for external link */ if(H5Lget_linkinfo(fid, "src", &li, H5P_DEFAULT) < 0) TEST_ERROR if(li.u.link_size != (HDstrlen(filename2) + HDstrlen("/dst") + 2)) TEST_ERROR - if (H5L_LINK_EXTERNAL != li.linkclass) { + if (H5L_TYPE_EXTERNAL != li.type) { H5_FAILED(); puts(" Unexpected link class - should have been an external link"); goto error; } /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Create second file to point to */ - if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR + if((fid=H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create object to link to */ if((gid = H5Gcreate(fid, "dst", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Open first file */ - if((fid=H5Fopen(filename1, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR + if((fid=H5Fopen(filename1, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Get size of buffer for external link */ if(H5Lget_linkinfo(fid, "src", &li, H5P_DEFAULT) < 0) TEST_ERROR if(li.u.link_size != (HDstrlen(filename2) + HDstrlen("/dst") + 2)) TEST_ERROR - if (H5L_LINK_EXTERNAL != li.linkclass) { + if (H5L_TYPE_EXTERNAL != li.type) { H5_FAILED(); puts(" Unexpected link class - should have been an external link"); goto error; } /* Get information for external link. It should be two strings right after each other */ - if(H5Lget_linkval(fid, "src", NAME_BUF_SIZE, query_buf, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lget_linkval(fid, "src", (size_t)NAME_BUF_SIZE, query_buf, H5P_DEFAULT) < 0) TEST_ERROR /* Extract the file and object names from the buffer */ if(H5Lunpack_elink_val(query_buf, &file_name, &object_name) < 0) TEST_ERROR /* Compare the file and object names */ - if(strcmp(file_name, filename2)) TEST_ERROR; + if(strcmp(file_name, filename2)) TEST_ERROR if(strcmp(object_name, "/dst")) TEST_ERROR /* Query information about object that external link points to */ - if (H5Gget_objinfo(fid, "src", TRUE, &sb)<0) goto error; + if (H5Gget_objinfo(fid, "src", TRUE, &sb) < 0) goto error; if (H5G_GROUP != sb.type) { H5_FAILED(); puts(" Unexpected object type - should have been a group"); @@ -2555,7 +2638,7 @@ external_link_query(hid_t fapl) } /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Make sure that passing in NULLs to H5Lunpack_elink_val works */ if(H5Lunpack_elink_val(query_buf, NULL, NULL) < 0) TEST_ERROR @@ -2591,14 +2674,17 @@ external_link_query(hid_t fapl) *------------------------------------------------------------------------- */ static int -external_link_unlink_compact(hid_t fapl) +external_link_unlink_compact(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ char filename1[NAME_BUF_SIZE], filename2[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("unlinking external link in compact group"); + if(new_format) + TESTING("unlinking external link in compact group (w/new group format)") + else + TESTING("unlinking external link in compact group") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); @@ -2673,9 +2759,8 @@ error: * *------------------------------------------------------------------------- */ -#ifdef H5_GROUP_REVISION static int -external_link_unlink_dense(hid_t fapl) +external_link_unlink_dense(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gcpl = (-1); /* Group creation property list ID */ @@ -2688,7 +2773,10 @@ external_link_unlink_dense(hid_t fapl) unsigned min_dense; /* Minimum # of links to store in group "densely" */ unsigned u; /* Local index variable */ - TESTING("unlinking external link in dense group"); + if(new_format) + TESTING("unlinking external link in dense group (w/new group format)") + else + TESTING("unlinking external link in dense group") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); @@ -2712,10 +2800,10 @@ external_link_unlink_dense(hid_t fapl) if(H5Lcreate_external(filename2, "/dst", gid, "src", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != 1) TEST_ERROR; - if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != 1) TEST_ERROR + if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR /* Create enough objects in the root group to change it into a "dense" group */ for(u = 0; u < max_compact; u++) { @@ -2725,9 +2813,9 @@ external_link_unlink_dense(hid_t fapl) } /* end for */ /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Close group creation property list */ if(H5Pclose(gcpl) < 0) TEST_ERROR @@ -2767,10 +2855,11 @@ external_link_unlink_dense(hid_t fapl) } /* end for */ /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != (min_dense - 1)) TEST_ERROR; - if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != (min_dense - 1)) TEST_ERROR + if(H5G_is_new_dense_test(gid) == TRUE) TEST_ERROR + if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR /* Close root group */ if(H5Gclose(gid) < 0) TEST_ERROR @@ -2801,7 +2890,6 @@ error: } H5E_END_TRY; return -1; } /* end external_link_unlink_dense() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -2818,7 +2906,7 @@ error: *------------------------------------------------------------------------- */ static int -external_link_move(hid_t fapl) +external_link_move(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -2827,7 +2915,10 @@ external_link_move(hid_t fapl) char filename1[NAME_BUF_SIZE], filename2[NAME_BUF_SIZE]; /* Names of files to externally link across */ - TESTING("move external link"); + if(new_format) + TESTING("move external link (w/new group format)") + else + TESTING("move external link") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); @@ -2993,7 +3084,6 @@ error: } /* end external_link_move() */ -#ifdef H5_GROUP_REVISION /*------------------------------------------------------------------------- * Function: external_link_ride * @@ -3009,7 +3099,7 @@ error: *------------------------------------------------------------------------- */ static int -external_link_ride(hid_t fapl) +external_link_ride(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gcpl = (-1); /* Group creation property list ID */ @@ -3023,7 +3113,10 @@ external_link_ride(hid_t fapl) unsigned min_dense; /* Minimum # of links to store in group "densely" */ unsigned u; /* Local index variable */ - TESTING("external link along for the ride"); + if(new_format) + TESTING("external link along for the ride (w/new group format)") + else + TESTING("external link along for the ride") /* Set up filenames */ h5_fixname(FILENAME[3], fapl, filename1, sizeof filename1); @@ -3050,18 +3143,23 @@ external_link_ride(hid_t fapl) } /* end for */ /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(new_format) { + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR + } /* end if */ + else { + if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR + } /* end else */ /* Create external link */ /* (This also covers the case of adding an external link to a dense group) */ if(H5Lcreate_external(filename2, "/dst", gid, "src", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Close group creation property list */ if(H5Pclose(gcpl) < 0) TEST_ERROR @@ -3113,10 +3211,11 @@ external_link_ride(hid_t fapl) } /* end for */ /* Check on root group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != (min_dense - 1)) TEST_ERROR; - if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != (min_dense - 1)) TEST_ERROR + if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) == TRUE) TEST_ERROR /* Close root group */ if(H5Gclose(gid) < 0) TEST_ERROR @@ -3170,7 +3269,6 @@ error: } H5E_END_TRY; return -1; } /* end external_link_ride() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -3188,7 +3286,7 @@ error: *------------------------------------------------------------------------- */ static int -external_link_closing(hid_t fapl) +external_link_closing(hid_t fapl, hbool_t new_format) { hid_t fid1 = (-1), fid2 = (-1), fid3 = (-1), fid4=(-1); hid_t gid=(-1), tid=(-1), tid2=(-1), sid=(-1), did=(-1); @@ -3203,7 +3301,10 @@ external_link_closing(hid_t fapl) H5G_stat_t sb; hobj_ref_t obj_ref; - TESTING("that external files are closed during traversal"); + if(new_format) + TESTING("that external files are closed during traversal (w/new group format)") + else + TESTING("that external files are closed during traversal") /* In this test, external links will go from file1 to file2 and from * file2 to file3. @@ -3243,7 +3344,7 @@ external_link_closing(hid_t fapl) if(H5Fclose(fid2) < 0) TEST_ERROR /* Test creating each kind of object */ - if((gid = H5Gcreate(fid1, "elink/elink/elink/group1", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/elink/elink/group1", (size_t)0)) < 0) TEST_ERROR if(H5Tcommit(fid1, "elink/elink/elink/type1", tid) < 0) TEST_ERROR if((did = H5Dcreate(fid1, "elink/elink/elink/dataset1", tid2, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* Close objects */ @@ -3303,7 +3404,7 @@ external_link_closing(hid_t fapl) if(H5Dclose(did) < 0) TEST_ERROR /* Test H5Fmount */ - if((gid = H5Gcreate(fid1, "elink/elink/elink/mnt", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/elink/elink/mnt", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR H5E_BEGIN_TRY { if(H5Fmount(fid1, "elink/elink/elink/mnt", fid1, H5P_DEFAULT) >= 0) TEST_ERROR @@ -3330,19 +3431,18 @@ external_link_closing(hid_t fapl) if(H5Fclose(fid2) < 0) TEST_ERROR /* Do an external link traversal that recursively calls another external link. */ - if((gid = H5Gcreate(fid1, "elink/elink2/group2", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/elink2/group2", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Create two more groups so that the last three elements in the path are * all within the same external file */ - if((gid = H5Gcreate(fid1, "elink/elink2/group2/group3", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/elink2/group2/group3", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR - if((gid = H5Gcreate(fid1, "elink/elink2/group2/group3/group4", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/elink2/group2/group3/group4", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR if(H5Gget_objinfo(fid1, "elink/elink2/group2/group3/group4", TRUE, &sb) < 0) TEST_ERROR -#ifdef H5_GROUP_REVISION /* Add a few regular groups and a soft link in file2 using intermediate group creation */ if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR if(H5Pset_create_intermediate_group(lcpl_id, TRUE) < 0) TEST_ERROR @@ -3353,17 +3453,16 @@ external_link_closing(hid_t fapl) * slink points to (file2)/elink2, which points to (file3)/elink, which * points to file 4. */ - if((gid = H5Gcreate(fid1, "elink/file2group1/file2group2/slink/group3", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/file2group1/file2group2/slink/group3", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR if(H5Lget_linkinfo(fid1, "elink/file2group1/file2group2/slink/group3", &li, H5P_DEFAULT) < 0) TEST_ERROR /* Some simpler tests */ - if((gid = H5Gcreate(fid1, "elink/file2group3", 0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid1, "elink/file2group3", (size_t)0)) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR if(H5Lget_linkinfo(fid1, "elink/file2group3", &li, H5P_DEFAULT) < 0) TEST_ERROR if(H5Lget_linkinfo(fid1, "elink/elink", &li, H5P_DEFAULT) < 0) TEST_ERROR -#endif /* H5_GROUP_REVISION */ /* Close file1, the only file that should still be open */ if(H5Fclose(fid1) < 0) TEST_ERROR @@ -3417,7 +3516,7 @@ error: *------------------------------------------------------------------------- */ static int -external_link_endian(hid_t fapl) +external_link_endian(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -3426,7 +3525,10 @@ external_link_endian(hid_t fapl) char pathbuf[NAME_BUF_SIZE]; /* Path to the files */ char namebuf[NAME_BUF_SIZE]; - TESTING("endianness of external links"); + if(new_format) + TESTING("endianness of external links (w/new group format)") + else + TESTING("endianness of external links") /* * Create the name of the file to open (in case we are using the --srcdir @@ -3441,40 +3543,40 @@ external_link_endian(hid_t fapl) HDstrcpy(pathbuf, ""); /* Create a link access property list with the path to the srcdir */ - if((lapl_id = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR; - if(H5Pset_elink_prefix(lapl_id, pathbuf) < 0) TEST_ERROR; + if((lapl_id = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR + if(H5Pset_elink_prefix(lapl_id, pathbuf) < 0) TEST_ERROR - if(HDstrlen(pathbuf) + HDstrlen(LE_FILENAME) >= sizeof(namebuf)) TEST_ERROR; + if(HDstrlen(pathbuf) + HDstrlen(LE_FILENAME) >= sizeof(namebuf)) TEST_ERROR HDstrcpy(namebuf, pathbuf); HDstrcat(namebuf, LE_FILENAME); /* Test LE file; try to open a group through the external link */ - if((fid = H5Fopen(namebuf, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR; - if((gid = H5Oopen(fid, "ext_link", lapl_id)) < 0) TEST_ERROR; + if((fid = H5Fopen(namebuf, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((gid = H5Oopen(fid, "ext_link", lapl_id)) < 0) TEST_ERROR /* Open a group in the external file using that group ID */ - if((gid2 = H5Gopen(gid, "subgroup")) < 0) TEST_ERROR; + if((gid2 = H5Gopen(gid, "subgroup")) < 0) TEST_ERROR /* Close the IDs */ - if(H5Gclose(gid2) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR - if(HDstrlen(pathbuf) + HDstrlen(BE_FILENAME) >= sizeof(namebuf)) TEST_ERROR; + if(HDstrlen(pathbuf) + HDstrlen(BE_FILENAME) >= sizeof(namebuf)) TEST_ERROR HDstrcpy(namebuf, pathbuf); HDstrcat(namebuf, BE_FILENAME); /* Test BE file; try to open a group through the external link */ - if((fid = H5Fopen(namebuf, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR; - if((gid = H5Oopen(fid, "ext_link", lapl_id)) < 0) TEST_ERROR; + if((fid = H5Fopen(namebuf, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((gid = H5Oopen(fid, "ext_link", lapl_id)) < 0) TEST_ERROR /* Open a group in the external file using that group ID */ - if((gid2 = H5Gopen(gid, "subgroup")) < 0) TEST_ERROR; + if((gid2 = H5Gopen(gid, "subgroup")) < 0) TEST_ERROR /* Close the IDs */ - if(H5Gclose(gid2) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -3504,7 +3606,8 @@ error: */ /* Callback functions for UD hard links. */ /* UD_hard_create increments the object's reference count */ -static herr_t UD_hard_create(const char UNUSED * link_name, hid_t loc_group, void * udata, size_t udata_size, hid_t UNUSED lcpl_id) +static herr_t +UD_hard_create(const char UNUSED * link_name, hid_t loc_group, void * udata, size_t udata_size, hid_t UNUSED lcpl_id) { haddr_t addr; hid_t target_obj = -1; @@ -3540,15 +3643,15 @@ done: switch(H5Iget_type(target_obj)) { case H5I_GROUP: - if(H5Gclose(target_obj) <0) + if(H5Gclose(target_obj) < 0) ret_value = -1; break; case H5I_DATASET: - if(H5Dclose(target_obj) <0) + if(H5Dclose(target_obj) < 0) ret_value = -1; break; case H5I_DATATYPE: - if(H5Tclose(target_obj) <0) + if(H5Tclose(target_obj) < 0) ret_value = -1; break; default: @@ -3560,7 +3663,8 @@ done: } /* UD_hard_delete decrements the object's reference count */ -static herr_t UD_hard_delete(const char UNUSED * link_name, hid_t loc_group, void * udata, size_t udata_size) +static herr_t +UD_hard_delete(const char UNUSED * link_name, hid_t loc_group, void * udata, size_t udata_size) { haddr_t addr; hid_t target_obj = -1; @@ -3596,15 +3700,15 @@ done: switch(H5Iget_type(target_obj)) { case H5I_GROUP: - if(H5Gclose(target_obj) <0) + if(H5Gclose(target_obj) < 0) ret_value = -1; break; case H5I_DATASET: - if(H5Dclose(target_obj) <0) + if(H5Dclose(target_obj) < 0) ret_value = -1; break; case H5I_DATATYPE: - if(H5Tclose(target_obj) <0) + if(H5Tclose(target_obj) < 0) ret_value = -1; break; default: @@ -3615,7 +3719,8 @@ done: return ret_value; } -static hid_t UD_hard_traverse(const char UNUSED *link_name, hid_t cur_group, void * udata, size_t udata_size, hid_t UNUSED lapl_id) +static hid_t +UD_hard_traverse(const char UNUSED *link_name, hid_t cur_group, void * udata, size_t udata_size, hid_t UNUSED lapl_id) { haddr_t addr; hid_t ret_value = -1; @@ -3630,8 +3735,8 @@ static hid_t UD_hard_traverse(const char UNUSED *link_name, hid_t cur_group, voi return ret_value; } -const H5L_link_class_t UD_hard_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_hard_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_HARD_TYPE, /* Link type id number */ "UD_hard_link", /* Link class name for debugging */ UD_hard_create, /* Creation callback */ @@ -3653,49 +3758,49 @@ ud_hard_links(hid_t fapl) h5_stat_size_t empty_size; /* Size of an empty file */ char filename[NAME_BUF_SIZE]; - TESTING("user-defined hard link"); + TESTING("user-defined hard link (w/new group format)") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Get the size of the empty file for reference */ - if(H5Fclose(fid) < 0) TEST_ERROR; - if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR + if((empty_size = h5_get_file_size(filename))==0) TEST_ERROR - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Check that external links are registered and UD hard links are not */ - if(H5Lis_registered(H5L_LINK_EXTERNAL) != TRUE) TEST_ERROR - if(H5Lis_registered(UD_HARD_TYPE) != 0) TEST_ERROR + if(H5Lis_registered(H5L_TYPE_EXTERNAL) != TRUE) TEST_ERROR + if(H5Lis_registered(UD_HARD_TYPE) != FALSE) TEST_ERROR /* Register "user-defined hard links" with the library */ - if(H5Lregister(UD_hard_class) < 0) TEST_ERROR; + if(H5Lregister(UD_hard_class) < 0) TEST_ERROR /* Check that UD hard links are now registered */ - if(H5Lis_registered(H5L_LINK_EXTERNAL) != TRUE) TEST_ERROR + if(H5Lis_registered(H5L_TYPE_EXTERNAL) != TRUE) TEST_ERROR if(H5Lis_registered(UD_HARD_TYPE) != TRUE) TEST_ERROR /* Create a group for the UD hard link to point to */ - if((gid = H5Gcreate(fid, "group", 0)) <0) TEST_ERROR; + if((gid = H5Gcreate(fid, "group", (size_t)0)) < 0) TEST_ERROR /* Get address for the group to give to the hard link */ - if (H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT)<0) TEST_ERROR; + if(H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Create a user-defined "hard link" to the group using the address we got * from H5Lget_linkinfo */ - if(H5Lcreate_ud(fid, "ud_link", UD_HARD_TYPE, &(li.u.address), sizeof(haddr_t), H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_ud(fid, "ud_link", UD_HARD_TYPE, &(li.u.address), sizeof(haddr_t), H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close and re-open file to ensure that data is written to disk */ - if(H5Fclose(fid) < 0) TEST_ERROR; - if((fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR + if((fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) TEST_ERROR /* Open group through UD link */ - if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -3706,23 +3811,23 @@ ud_hard_links(hid_t fapl) /* Close groups*/ if(H5Gclose(gid2) < 0) TEST_ERROR - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Re-open group without using ud link to check that it was created properly */ - if((gid = H5Gopen(fid, "group/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "group/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR if(HDstrcmp(objname, "/group/new_group")) TEST_ERROR /* Close opened object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR - /* Check that H5Gget_objinfo works on the hard link */ + /* Check that H5Lget_objinfo works on the hard link */ if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) < 0) TEST_ERROR /* UD hard links have no query function, thus return a "link length" of 0 */ if(li.u.link_size != 0) TEST_ERROR - if (UD_HARD_TYPE != li.linkclass) { + if(UD_HARD_TYPE != li.type) { H5_FAILED(); puts(" Unexpected link class - should have been a UD hard link"); goto error; @@ -3730,24 +3835,24 @@ ud_hard_links(hid_t fapl) /* Unlink the group pointed to by the UD link. It shouldn't be * deleted because of the UD link. */ - if(H5Gunlink(fid, "/group") < 0) TEST_ERROR; + if(H5Gunlink(fid, "/group") < 0) TEST_ERROR /* Ensure we can open the group through the UD link */ - if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR /* Unlink the group contained within it. */ - if(H5Gunlink(gid, "new_group") < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gunlink(gid, "new_group") < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Now delete the UD link. This should cause the group to be * deleted, too. */ - if(H5Gunlink(fid, "ud_link")<0) TEST_ERROR; + if(H5Gunlink(fid, "ud_link") < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* The file should be empty again. */ - if(empty_size!=h5_get_file_size(filename)) TEST_ERROR; + if(empty_size != h5_get_file_size(filename)) TEST_ERROR if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR @@ -3756,16 +3861,16 @@ ud_hard_links(hid_t fapl) error: H5E_BEGIN_TRY { - H5Gclose (gid2); - H5Gclose (gid); - H5Fclose (fid); + H5Gclose(gid2); + H5Gclose(gid); + H5Fclose(fid); } H5E_END_TRY; return -1; } /* end ud_hard_links() */ /*------------------------------------------------------------------------- - * Function: ext_link_endian + * Function: UD_rereg_traverse * * Purpose: Check that user defined link types can be unregistered and * reregistered properly. @@ -3781,11 +3886,12 @@ ud_hard_links(hid_t fapl) /* A traversal function that ignores any udata and simply opens an object * in the current group named REREG_TARGET_NAME */ -static hid_t UD_rereg_traverse(const char UNUSED * link_name, hid_t cur_group, void UNUSED * udata, size_t UNUSED udata_size, hid_t lapl_id) +static hid_t +UD_rereg_traverse(const char UNUSED * link_name, hid_t cur_group, void UNUSED * udata, size_t UNUSED udata_size, hid_t lapl_id) { hid_t ret_value; - if((ret_value = H5Oopen(cur_group, REREG_TARGET_NAME, lapl_id)) < 0) TEST_ERROR; + if((ret_value = H5Oopen(cur_group, REREG_TARGET_NAME, lapl_id)) < 0) TEST_ERROR return ret_value; @@ -3795,8 +3901,8 @@ error: /* This link class has the same ID number as the UD hard links but * has a very different traversal function */ -const H5L_link_class_t UD_rereg_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_rereg_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_HARD_TYPE, /* Link type id number */ "UD_reregistered_type", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -3818,61 +3924,61 @@ ud_link_reregister(hid_t fapl) char filename[NAME_BUF_SIZE]; h5_stat_size_t empty_size; /* Size of an empty file */ - TESTING("registering a new class for existing UD links"); + TESTING("registering a new class for existing UD links (w/new group format)") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Get the size of the empty file for reference */ - if(H5Fclose(fid) < 0) TEST_ERROR; - if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR + if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Check that UD hard links are not registered */ - if(H5Lis_registered(UD_HARD_TYPE) != 0) TEST_ERROR + if(H5Lis_registered(UD_HARD_TYPE) != FALSE) TEST_ERROR /* Register "user-defined hard links" with the library */ - if(H5Lregister(UD_hard_class) < 0) TEST_ERROR; + if(H5Lregister(UD_hard_class) < 0) TEST_ERROR /* Check that UD hard links are registered */ if(H5Lis_registered(UD_HARD_TYPE) != TRUE) TEST_ERROR /* Point a UD defined hard link to a group in the same way as the previous test */ - if((gid = H5Gcreate(fid, "group", 0)) <0) TEST_ERROR; - if (H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT)<0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gcreate(fid, "group", (size_t)0)) < 0) TEST_ERROR + if (H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR if(H5Lcreate_ud(fid, "ud_link", UD_HARD_TYPE, &(li.u.address), sizeof(li.u.address), H5P_DEFAULT, H5P_DEFAULT) < 0) - TEST_ERROR; + TEST_ERROR /* Create a group named REREG_TARGET_NAME in the same group as the ud link */ - if((gid = H5Gcreate(fid, REREG_TARGET_NAME, 0)) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gcreate(fid, REREG_TARGET_NAME, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Now unregister UD hard links */ - if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR; + if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR /* Check that UD hard links are no longer registered */ - if(H5Lis_registered(UD_HARD_TYPE) != 0) TEST_ERROR + if(H5Lis_registered(UD_HARD_TYPE) != FALSE) TEST_ERROR /* Verify that we can't traverse the ud link anymore */ H5E_BEGIN_TRY { - if((gid = H5Gopen(fid, "ud_link")) >= 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) >= 0) TEST_ERROR } H5E_END_TRY /* Verify that we can't create any new links of this type */ H5E_BEGIN_TRY { if(H5Lcreate_ud(fid, "ud_link2", UD_HARD_TYPE, &(li.u.address), sizeof(li.u.address), H5P_DEFAULT, H5P_DEFAULT) >= 0) - TEST_ERROR; + TEST_ERROR } H5E_END_TRY /* Register a new kind of link with the same ID number */ - if(H5Lregister(UD_rereg_class) < 0) TEST_ERROR; + if(H5Lregister(UD_rereg_class) < 0) TEST_ERROR /* Check that UD hard links are registered again */ if(H5Lis_registered(UD_HARD_TYPE) != TRUE) TEST_ERROR @@ -3880,7 +3986,7 @@ ud_link_reregister(hid_t fapl) /* Open a group through the ud link (now a different class of link). * It should be a different group * than the UD hard link pointed to */ - if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -3891,58 +3997,58 @@ ud_link_reregister(hid_t fapl) /* Close groups*/ if(H5Gclose(gid2) < 0) TEST_ERROR - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Re-open group without using ud link to check that it was created properly */ - if((gid = H5Gopen(fid, "rereg_target/new_group")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "rereg_target/new_group")) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR if(HDstrcmp(objname, "/rereg_target/new_group")) TEST_ERROR /* Close opened object */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Unlink the group pointed to by the UD hard link. It shouldn't be * deleted because the UD link incremented its reference count. */ - if(H5Gunlink(fid, "/group") < 0) TEST_ERROR; + if(H5Gunlink(fid, "/group") < 0) TEST_ERROR /* What a mess! Re-register user-defined links to clean up the * reference counts. We shouldn't actually need to unregister the * other link type */ - if(H5Lregister(UD_hard_class) < 0) TEST_ERROR; + if(H5Lregister(UD_hard_class) < 0) TEST_ERROR if(H5Lis_registered(UD_HARD_TYPE) != TRUE) TEST_ERROR /* Ensure we can open the group through the UD link (now that UD hard * links have been registered) */ - if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Delete the UD hard link. This should cause the group to be * deleted, too. */ - if(H5Gunlink(fid, "ud_link")<0) TEST_ERROR; + if(H5Gunlink(fid, "ud_link") < 0) TEST_ERROR /* Unlink the other two groups so that we can make sure the file is empty */ - if(H5Gunlink(fid, "/rereg_target/new_group")<0) TEST_ERROR; - if(H5Gunlink(fid, REREG_TARGET_NAME)<0) TEST_ERROR; + if(H5Gunlink(fid, "/rereg_target/new_group") < 0) TEST_ERROR + if(H5Gunlink(fid, REREG_TARGET_NAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* The file should be empty again. */ - if(empty_size!=h5_get_file_size(filename)) TEST_ERROR; + if(empty_size!=h5_get_file_size(filename)) TEST_ERROR if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR - if(H5Lis_registered(UD_HARD_TYPE) != 0) TEST_ERROR + if(H5Lis_registered(UD_HARD_TYPE) != FALSE) TEST_ERROR PASSED(); return 0; error: H5E_BEGIN_TRY { - H5Gclose (gid2); - H5Gclose (gid); - H5Fclose (fid); + H5Gclose(gid2); + H5Gclose(gid); + H5Fclose(fid); } H5E_END_TRY; return -1; } /* end ud_link_reregister() */ @@ -3967,14 +4073,14 @@ ud_link_reregister(hid_t fapl) static herr_t UD_cb_create(const char * link_name, hid_t loc_group, void * udata, size_t udata_size, hid_t lcpl_id) { - if(!link_name) TEST_ERROR; - if(loc_group < 0) TEST_ERROR; - if(udata_size > 0 && !udata) TEST_ERROR; - if(lcpl_id < 0) TEST_ERROR; + if(!link_name) TEST_ERROR + if(loc_group < 0) TEST_ERROR + if(udata_size > 0 && !udata) TEST_ERROR + if(lcpl_id < 0) TEST_ERROR - if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR; - if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR; - if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR; + if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR + if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR + if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR return 0; @@ -3988,16 +4094,16 @@ UD_cb_traverse(const char * link_name, hid_t cur_group, void * udata, size_t uda const char *target = (char *) udata; hid_t ret_value; - if(!link_name) TEST_ERROR; - if(cur_group < 0) TEST_ERROR; - if(udata_size > 0 && !udata) TEST_ERROR; + if(!link_name) TEST_ERROR + if(cur_group < 0) TEST_ERROR + if(udata_size > 0 && !udata) TEST_ERROR - if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR; - if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR; - if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR; + if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR + if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR + if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR if((ret_value = H5Oopen(cur_group, target, lapl_id)) < 0) - TEST_ERROR; + TEST_ERROR return ret_value; @@ -4009,13 +4115,13 @@ error: static herr_t UD_cb_move(const char * new_name, hid_t new_loc, void * udata, size_t udata_size) { - if(!new_name) TEST_ERROR; - if(new_loc < 0) TEST_ERROR; - if(udata_size > 0 && !udata) TEST_ERROR; + if(!new_name) TEST_ERROR + if(new_loc < 0) TEST_ERROR + if(udata_size > 0 && !udata) TEST_ERROR - if(strcmp(new_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR; - if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR; - if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR; + if(strcmp(new_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR + if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR + if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR return 0; @@ -4027,33 +4133,34 @@ error: static herr_t UD_cb_delete(const char * link_name, hid_t loc_group, void * udata, size_t udata_size) { - if(!link_name) TEST_ERROR; - if(loc_group < 0) TEST_ERROR; - if(udata_size > 0 && !udata) TEST_ERROR; + if(!link_name) TEST_ERROR + if(loc_group < 0) TEST_ERROR + if(udata_size > 0 && !udata) TEST_ERROR - if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR; - if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR; - if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR; + if(strcmp(link_name, UD_CB_LINK_NAME) && strcmp(link_name, NEW_UD_CB_LINK_NAME)) TEST_ERROR + if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR + if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR return 0; error: return -1; } + /* Callback for when the link is queried */ static ssize_t UD_cb_query(const char * link_name, void * udata, size_t udata_size, void* buf, size_t buf_size) { - if(!link_name) TEST_ERROR; - if(udata_size > 0 && !udata) TEST_ERROR; + if(!link_name) TEST_ERROR + if(udata_size > 0 && !udata) TEST_ERROR - if(strcmp(link_name, UD_CB_LINK_NAME)) TEST_ERROR; - if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR; - if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR; + if(strcmp(link_name, UD_CB_LINK_NAME)) TEST_ERROR + if(strcmp(udata, UD_CB_TARGET)) TEST_ERROR + if(udata_size != UD_CB_TARGET_LEN) TEST_ERROR if(buf) { - if(buf_size < 16) TEST_ERROR; + if(buf_size < 16) TEST_ERROR strcpy(buf, "query succeeded"); } @@ -4064,8 +4171,8 @@ error: return -1; } -const H5L_link_class_t UD_cb_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_cb_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_CB_TYPE, /* Link type id number */ NULL, /* NULL name (to make sure this doesn't break anything */ UD_cb_create, /* Creation callback */ @@ -4077,7 +4184,7 @@ const H5L_link_class_t UD_cb_class[1] = {{ }}; static int -ud_callbacks(hid_t fapl) +ud_callbacks(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group ID */ @@ -4088,65 +4195,68 @@ ud_callbacks(hid_t fapl) char filename[NAME_BUF_SIZE]; char query_buf[NAME_BUF_SIZE]; - TESTING("user-defined link callbacks"); + if(new_format) + TESTING("user-defined link callbacks (w/new group format)") + else + TESTING("user-defined link callbacks") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Check that registered link classes are, and unregistered ones aren't */ - if(H5Lis_registered(H5L_LINK_EXTERNAL) != TRUE) TEST_ERROR - if(H5Lis_registered(UD_HARD_TYPE) != 0) TEST_ERROR - if(H5Lis_registered(UD_CB_TYPE) != 0) TEST_ERROR + if(H5Lis_registered(H5L_TYPE_EXTERNAL) != TRUE) TEST_ERROR + if(H5Lis_registered(UD_HARD_TYPE) != FALSE) TEST_ERROR + if(H5Lis_registered(UD_CB_TYPE) != FALSE) TEST_ERROR /* Hit two birds with one stone: register UD hard links from previous * test to check that having two UD links registered at once presents * no problems. */ - if(H5Lregister(UD_hard_class) < 0) TEST_ERROR; + if(H5Lregister(UD_hard_class) < 0) TEST_ERROR /* Register user-defined link class. This is the one we'll actually * be using. */ - if(H5Lregister(UD_cb_class) < 0) TEST_ERROR; + if(H5Lregister(UD_cb_class) < 0) TEST_ERROR /* Check that registered link classes are, and unregistered ones aren't */ - if(H5Lis_registered(H5L_LINK_EXTERNAL) != TRUE) TEST_ERROR + if(H5Lis_registered(H5L_TYPE_EXTERNAL) != TRUE) TEST_ERROR if(H5Lis_registered(UD_HARD_TYPE) != TRUE) TEST_ERROR if(H5Lis_registered(UD_CB_TYPE) != TRUE) TEST_ERROR /* Create a group for the UD link to point to */ - if((gid = H5Gcreate(fid, UD_CB_TARGET, 0)) <0) TEST_ERROR; + if((gid = H5Gcreate(fid, UD_CB_TARGET, (size_t)0)) < 0) TEST_ERROR /* Create a user-defined link to the group. These UD links behave like soft links. */ - if(H5Lcreate_ud(fid, UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, UD_CB_TARGET_LEN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Lcreate_ud(fid, UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, (size_t)UD_CB_TARGET_LEN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Try opening group through UD link */ - if((gid = H5Gopen(fid, UD_CB_LINK_NAME)) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, UD_CB_LINK_NAME)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Query the link to test its query callback */ - if (H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT)<0) TEST_ERROR; - if(li.u.link_size != 16) TEST_ERROR; - if (UD_CB_TYPE != li.linkclass) { + if (H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.u.link_size != 16) TEST_ERROR + if (UD_CB_TYPE != li.type) { H5_FAILED(); puts(" Unexpected link class - should have been a UD hard link"); goto error; } /* Fill the query buffer */ - if(H5Gget_linkval(fid, UD_CB_LINK_NAME, NAME_BUF_SIZE, query_buf) < 0) TEST_ERROR; - if(strcmp(query_buf, "query succeeded") != 0) TEST_ERROR; + if(H5Gget_linkval(fid, UD_CB_LINK_NAME, (size_t)NAME_BUF_SIZE, query_buf) < 0) TEST_ERROR + if(HDstrcmp(query_buf, "query succeeded") != 0) TEST_ERROR /* Move the link */ - if(H5Gmove(fid, UD_CB_LINK_NAME, NEW_UD_CB_LINK_NAME) < 0) TEST_ERROR; + if(H5Gmove(fid, UD_CB_LINK_NAME, NEW_UD_CB_LINK_NAME) < 0) TEST_ERROR /* Re-open group to ensure that move worked */ - if((gid = H5Gopen(fid, NEW_UD_CB_LINK_NAME)) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, NEW_UD_CB_LINK_NAME)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Remove UD link */ - if(H5Gunlink(fid, NEW_UD_CB_LINK_NAME) < 0) TEST_ERROR; + if(H5Gunlink(fid, NEW_UD_CB_LINK_NAME) < 0) TEST_ERROR /* Test that the callbacks don't work if the link class is not registered */ @@ -4154,39 +4264,38 @@ ud_callbacks(hid_t fapl) /* Create a new link. Just for fun, give it a non-default character * encoding (to test that LAPLs work) */ if((lcpl = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR -#ifdef H5_GROUP_REVISION if(H5Pset_char_encoding(lcpl, H5T_CSET_UTF8) < 0) TEST_ERROR -#endif /* H5_GROUP_REVISION */ - if(H5Lcreate_ud(fid, UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, UD_CB_TARGET_LEN, lcpl, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Pclose(lcpl)<0) TEST_ERROR + if(H5Lcreate_ud(fid, UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, (size_t)UD_CB_TARGET_LEN, lcpl, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Pclose(lcpl) < 0) TEST_ERROR /* Check its character encoding */ -#ifdef H5_GROUP_REVISION - if(H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.cset != H5T_CSET_UTF8) TEST_ERROR; -#endif /* H5_GROUP_REVISION */ + if(H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.cset != H5T_CSET_UTF8) TEST_ERROR /* Unregister the link class so the library forgets what its callbacks do */ - if(H5Lunregister(UD_CB_TYPE) < 0) TEST_ERROR; + if(H5Lunregister(UD_CB_TYPE) < 0) TEST_ERROR /* Now test that each of the callbacks fails */ H5E_BEGIN_TRY { - if(H5Lcreate_ud(fid, NEW_UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, UD_CB_TARGET_LEN, H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR; - if(H5Gmove(fid, UD_CB_LINK_NAME, NEW_UD_CB_LINK_NAME) >= 0) TEST_ERROR; - if(H5Gunlink(fid, UD_CB_LINK_NAME) >= 0) TEST_ERROR; - if((gid = H5Gopen(gid, UD_CB_LINK_NAME)) >= 0) TEST_ERROR; - if(H5Gunlink(fid, UD_CB_LINK_NAME) >= 0) TEST_ERROR; + if(H5Lcreate_ud(fid, NEW_UD_CB_LINK_NAME, UD_CB_TYPE, ud_target_name, (size_t)UD_CB_TARGET_LEN, H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR + if(H5Gmove(fid, UD_CB_LINK_NAME, NEW_UD_CB_LINK_NAME) >= 0) TEST_ERROR + if(H5Gunlink(fid, UD_CB_LINK_NAME) >= 0) TEST_ERROR + if((gid = H5Gopen(gid, UD_CB_LINK_NAME)) >= 0) TEST_ERROR + if(H5Gunlink(fid, UD_CB_LINK_NAME) >= 0) TEST_ERROR } H5E_END_TRY /* The query callback should NOT fail, but should be unable to give a linklen */ - if(H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT) <0) TEST_ERROR; - if(li.u.link_size != 0) TEST_ERROR; - if(li.linkclass != UD_CB_TYPE) TEST_ERROR; - if(H5Gget_objinfo(fid, UD_CB_LINK_NAME, FALSE, &sb) <0) TEST_ERROR; - if(sb.type != H5G_UDLINK) TEST_ERROR; + if(H5Lget_linkinfo(fid, UD_CB_LINK_NAME, &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.u.link_size != 0) TEST_ERROR + if(li.type != UD_CB_TYPE) TEST_ERROR + if(H5Gget_objinfo(fid, UD_CB_LINK_NAME, FALSE, &sb) < 0) TEST_ERROR + if(sb.type != H5G_UDLINK) TEST_ERROR + + /* Unregister the UD hard links */ + if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -4221,21 +4330,21 @@ UD_plist_traverse(const char UNUSED * link_name, hid_t cur_group, void UNUSED * char target[NAME_BUF_SIZE]; hid_t ret_value; - if(udata_size != 0) TEST_ERROR; + if(udata_size != 0) TEST_ERROR /* Get the name of the target from the property list. */ - if(H5Pget(lapl_id, DEST_PROP_NAME, target) < 0) TEST_ERROR; + if(H5Pget(lapl_id, DEST_PROP_NAME, target) < 0) TEST_ERROR if((ret_value = H5Oopen(cur_group, target, lapl_id)) < 0) - TEST_ERROR; + TEST_ERROR return ret_value; error: return -1; } -const H5L_link_class_t UD_plist_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_plist_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_PLIST_TYPE, /* Link type id number */ "UD_plist_link", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -4247,7 +4356,7 @@ const H5L_link_class_t UD_plist_class[1] = {{ }}; static int -lapl_udata(hid_t fapl) +lapl_udata(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -4256,70 +4365,77 @@ lapl_udata(hid_t fapl) char group_b_name[NAME_BUF_SIZE]; char filename[NAME_BUF_SIZE]; - TESTING("user data passed through lapl"); + if(new_format) + TESTING("user data passed through lapl (w/new group format)") + else + TESTING("user data passed through lapl") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Register UD link types from previous tests to check that having * multiple types registered at once presents no problems. */ - if(H5Lregister(UD_cb_class) < 0) TEST_ERROR; + if(H5Lregister(UD_cb_class) < 0) TEST_ERROR /* Register the link class. We'll actually be using for this test. */ - if(H5Lregister(UD_plist_class) < 0) TEST_ERROR; + if(H5Lregister(UD_plist_class) < 0) TEST_ERROR /* Another link class from a previous test */ - if(H5Lregister(UD_hard_class) < 0) TEST_ERROR; + if(H5Lregister(UD_hard_class) < 0) TEST_ERROR /* Unregister the first link type registered to make sure this doesn't * break anything. */ - if(H5Lunregister(UD_CB_TYPE) < 0) TEST_ERROR; + if(H5Lunregister(UD_CB_TYPE) < 0) TEST_ERROR /* Create two groups for the UD link to point to */ - if((gid = H5Gcreate(fid, "group_a", 0)) <0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; - if((gid = H5Gcreate(fid, "group_b", 0)) <0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gcreate(fid, "group_a", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if((gid = H5Gcreate(fid, "group_b", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Create a user-defined link to the group. These UD links have no udata. */ - if(H5Lcreate_ud(fid, "ud_link", UD_PLIST_TYPE, NULL, 0, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_ud(fid, "ud_link", UD_PLIST_TYPE, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create a non-default lapl with a new property pointing to group a*/ - if((plist_id = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR; - strcpy(group_a_name, "group_a"); - if(H5Pinsert(plist_id, DEST_PROP_NAME, NAME_BUF_SIZE, group_a_name, NULL, NULL, NULL, NULL, NULL, NULL) < 0) TEST_ERROR; + if((plist_id = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR + HDstrcpy(group_a_name, "group_a"); +#ifdef H5_WANT_H5_V1_6_COMPAT + if(H5Pinsert(plist_id, DEST_PROP_NAME, (size_t)NAME_BUF_SIZE, group_a_name, NULL, NULL, NULL, NULL, NULL) < 0) TEST_ERROR +#else /* H5_WANT_H5_V1_6_COMPAT */ + if(H5Pinsert(plist_id, DEST_PROP_NAME, (size_t)NAME_BUF_SIZE, group_a_name, NULL, NULL, NULL, NULL, NULL, NULL) < 0) TEST_ERROR +#endif /* H5_WANT_H5_V1_6_COMPAT */ /* Try opening group through UD link */ - if((gid = H5Oopen(fid, "ud_link", plist_id)) < 0) TEST_ERROR; - if((gid2 = H5Gcreate(gid, "subgroup_a", 0)) < 0) TEST_ERROR; - if(H5Gclose(gid2) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Oopen(fid, "ud_link", plist_id)) < 0) TEST_ERROR + if((gid2 = H5Gcreate(gid, "subgroup_a", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Verify that we can open the new group without using the ud link */ - if((gid2 = H5Gopen(fid, "/group_a/subgroup_a")) < 0) TEST_ERROR; - if(H5Gclose(gid2) < 0) TEST_ERROR; + if((gid2 = H5Gopen(fid, "/group_a/subgroup_a")) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* Now use the same ud link to access group_b */ strcpy(group_b_name, "group_b"); - if(H5Pset(plist_id, DEST_PROP_NAME, group_b_name)<0) TEST_ERROR; + if(H5Pset(plist_id, DEST_PROP_NAME, group_b_name) < 0) TEST_ERROR /* Create a subgroup */ - if((gid = H5Oopen(fid, "ud_link", plist_id)) < 0) TEST_ERROR; - if((gid2 = H5Gcreate(gid, "subgroup_b", 0)) < 0) TEST_ERROR; - if(H5Gclose(gid2) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Oopen(fid, "ud_link", plist_id)) < 0) TEST_ERROR + if((gid2 = H5Gcreate(gid, "subgroup_b", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Verify that we can open the new group without using the ud link */ - if((gid2 = H5Gopen(fid, "/group_b/subgroup_b")) < 0) TEST_ERROR; - if(H5Gclose(gid2) < 0) TEST_ERROR; + if((gid2 = H5Gopen(fid, "/group_b/subgroup_b")) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* Close property list */ - if(H5Pclose(plist_id) < 0) TEST_ERROR; + if(H5Pclose(plist_id) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -4455,8 +4571,8 @@ UD_cbsucc_query(const char UNUSED * link_name, void UNUSED * udata, size_t UNUSE } /* This class is full of failing callbacks */ -const H5L_link_class_t UD_cbfail_class1[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_cbfail_class1[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_CBFAIL_TYPE, /* Link type id number */ "UD_cbfail_link1", /* Link class name for debugging */ UD_cbsucc_create, /* Creation callback */ @@ -4468,8 +4584,8 @@ const H5L_link_class_t UD_cbfail_class1[1] = {{ }}; /* This class is has two failing callbacks, move and query */ -const H5L_link_class_t UD_cbfail_class2[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_cbfail_class2[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_CBFAIL_TYPE, /* Link type id number */ "UD_cbfail_link2", /* Link class name for debugging */ UD_cbsucc_create, /* Creation callback */ @@ -4481,8 +4597,8 @@ const H5L_link_class_t UD_cbfail_class2[1] = {{ }}; /* All of these callbacks will succeed */ -const H5L_link_class_t UD_cbfail_class3[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_cbfail_class3[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_CBFAIL_TYPE, /* Link type id number */ "UD_cbfail_link3", /* Link class name for debugging */ UD_cbsucc_create, /* Creation callback */ @@ -4494,8 +4610,8 @@ const H5L_link_class_t UD_cbfail_class3[1] = {{ }}; /* Link classes that are invalid for various reasons */ -const H5L_link_class_t UD_error1_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_error1_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_ERROR_TYPE, /* Link type id number */ "UD_error_link", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -4505,8 +4621,8 @@ const H5L_link_class_t UD_error1_class[1] = {{ NULL, /* Deletion callback */ NULL /* Query callback */ }}; -const H5L_link_class_t UD_error2_class[1] = {{ - UD_BAD_VERS, /* Invalid H5L_link_class_t version */ +const H5L_class_t UD_error2_class[1] = {{ + UD_BAD_VERS, /* Invalid H5L_class_t version */ UD_ERROR_TYPE, /* Link type id number */ "UD_error_link", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -4516,8 +4632,8 @@ const H5L_link_class_t UD_error2_class[1] = {{ NULL, /* Deletion callback */ NULL /* Query callback */ }}; -const H5L_link_class_t UD_error3_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_error3_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_BAD_TYPE1, /* Invalid Link type id number */ "UD_error_link", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -4527,8 +4643,8 @@ const H5L_link_class_t UD_error3_class[1] = {{ NULL, /* Deletion callback */ NULL /* Query callback */ }}; -const H5L_link_class_t UD_error4_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_link_class_t version */ +const H5L_class_t UD_error4_class[1] = {{ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ UD_BAD_TYPE2, /* Invalid Link type id number */ "UD_error_link", /* Link class name for debugging */ NULL, /* Creation callback */ @@ -4540,7 +4656,7 @@ const H5L_link_class_t UD_error4_class[1] = {{ }}; static int -ud_link_errors(hid_t fapl) +ud_link_errors(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group IDs */ @@ -4549,56 +4665,59 @@ ud_link_errors(hid_t fapl) char query_buf[NAME_BUF_SIZE]; H5L_linkinfo_t li; /* Link information */ - TESTING("user-defined link error conditions"); + if(new_format) + TESTING("user-defined link error conditions (w/new group format)") + else + TESTING("user-defined link error conditions") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Try to register some invalid link classes */ H5E_BEGIN_TRY { - if(H5Lregister(UD_error1_class) >= 0) TEST_ERROR; - if(H5Lregister(UD_error2_class) >= 0) TEST_ERROR; - if(H5Lregister(UD_error3_class) >= 0) TEST_ERROR; - if(H5Lregister(UD_error4_class) >= 0) TEST_ERROR; + if(H5Lregister(UD_error1_class) >= 0) TEST_ERROR + if(H5Lregister(UD_error2_class) >= 0) TEST_ERROR + if(H5Lregister(UD_error3_class) >= 0) TEST_ERROR + if(H5Lregister(UD_error4_class) >= 0) TEST_ERROR } H5E_END_TRY /* Register the UD plist class. */ - if(H5Lregister(UD_plist_class) < 0) TEST_ERROR; + if(H5Lregister(UD_plist_class) < 0) TEST_ERROR /* Now register the first class we'll be using. * It has the same ID as the plist class, and should replace it. */ - if(H5Lregister(UD_cbfail_class1) < 0) TEST_ERROR; + if(H5Lregister(UD_cbfail_class1) < 0) TEST_ERROR /* Create a group for the UD link to point to */ - if((gid = H5Gcreate(fid, "group", 0)) <0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gcreate(fid, "group", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Create a user-defined link to the group. */ strcpy(group_name, "/group"); - if(H5Lcreate_ud(fid, "/ud_link", UD_CBFAIL_TYPE, &group_name, strlen(group_name) + 1, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_ud(fid, "/ud_link", UD_CBFAIL_TYPE, &group_name, HDstrlen(group_name) + 1, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Open the group through the ud link */ - if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "ud_link")) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* Now test that each of the callbacks will cause a failure if it returns -1 */ H5E_BEGIN_TRY { /* The create callback will fail if we pass in no udata */ - if(H5Lcreate_ud(fid, "fail", UD_CBFAIL_TYPE, NULL, 0, H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR; + if(H5Lcreate_ud(fid, "fail", UD_CBFAIL_TYPE, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR /* The move and copy callbacks will fail */ - if(H5Gmove(fid, "ud_link", "move_fail") >= 0) TEST_ERROR; - if(H5Lcopy(fid, "ud_link", fid, "copy_fail", H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR; + if(H5Gmove(fid, "ud_link", "move_fail") >= 0) TEST_ERROR + if(H5Lcopy(fid, "ud_link", fid, "copy_fail", H5P_DEFAULT, H5P_DEFAULT) >= 0) TEST_ERROR /* The traversal callback will fail if we remove its target */ - if(H5Gunlink(fid, "group") < 0) TEST_ERROR; - if((gid = H5Gopen(gid, "ud_link")) >= 0) TEST_ERROR; + if(H5Gunlink(fid, "group") < 0) TEST_ERROR + if((gid = H5Gopen(gid, "ud_link")) >= 0) TEST_ERROR /* The deletion callback will always fail */ - if(H5Gunlink(fid, "ud_link") >= 0) TEST_ERROR; + if(H5Gunlink(fid, "ud_link") >= 0) TEST_ERROR /* The query callback will fail */ - if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) >=0) TEST_ERROR; + if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) >=0) TEST_ERROR } H5E_END_TRY /* Now use a class with different callback functions */ - if(H5Lregister(UD_cbfail_class2) < 0) TEST_ERROR; + if(H5Lregister(UD_cbfail_class2) < 0) TEST_ERROR /* Moving should still fail, but copying will succeed */ H5E_BEGIN_TRY { @@ -4607,31 +4726,31 @@ ud_link_errors(hid_t fapl) if(H5Lcopy(fid, "ud_link", fid, "copy_succ", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* The query callback will succeed when we only want to get the size of the buffer... */ - if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) <0) TEST_ERROR; - if(li.u.link_size != 0) TEST_ERROR; + if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.u.link_size != 0) TEST_ERROR /* ...but fail when we try to write data to the buffer itself*/ H5E_BEGIN_TRY { - if(H5Lget_linkval(fid, "ud_link", NAME_BUF_SIZE, query_buf, H5P_DEFAULT) >=0) TEST_ERROR; + if(H5Lget_linkval(fid, "ud_link", (size_t)NAME_BUF_SIZE, query_buf, H5P_DEFAULT) >=0) TEST_ERROR } H5E_END_TRY /* Register a new class */ - if(H5Lregister(UD_cbfail_class3) < 0) TEST_ERROR; + if(H5Lregister(UD_cbfail_class3) < 0) TEST_ERROR /* Now querying should succeed */ - if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) <0) TEST_ERROR; - if(li.u.link_size != 8) TEST_ERROR; - if(H5Lget_linkval(fid, "ud_link", NAME_BUF_SIZE, query_buf, H5P_DEFAULT) <0) TEST_ERROR; - if(HDstrcmp(query_buf, "succeed") != 0) TEST_ERROR; + if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.u.link_size != 8) TEST_ERROR + if(H5Lget_linkval(fid, "ud_link", (size_t)NAME_BUF_SIZE, query_buf, H5P_DEFAULT) < 0) TEST_ERROR + if(HDstrcmp(query_buf, "succeed") != 0) TEST_ERROR /* Moving and copying should both succeed */ if(H5Gmove(fid, "copy_succ", "move_succ") < 0) TEST_ERROR if(H5Lcopy(fid, "ud_link", fid, "copy_succ2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Delete link (this callback should work now) */ - if(H5Gunlink(fid, "ud_link") <0) TEST_ERROR; + if(H5Gunlink(fid, "ud_link") < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -4645,7 +4764,6 @@ ud_link_errors(hid_t fapl) } - /*------------------------------------------------------------------------- * Function: lapl_nlinks * @@ -4664,7 +4782,7 @@ ud_link_errors(hid_t fapl) *------------------------------------------------------------------------- */ static int -lapl_nlinks(hid_t fapl) +lapl_nlinks(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1), gid2 = (-1); /* Group IDs */ @@ -4677,61 +4795,64 @@ lapl_nlinks(hid_t fapl) size_t nlinks; /* nlinks for H5Pset_nlinks */ hsize_t dims[2]; - TESTING("adjusting nlinks with LAPL"); + if(new_format) + TESTING("adjusting nlinks with LAPL (w/new group format)") + else + TESTING("adjusting nlinks with LAPL") /* Make certain test is valid */ /* XXX: should probably make a "generic" test that creates the proper * # of links based on this value - QAK */ - HDassert(H5G_NLINKS == 16); + HDassert(H5L_NLINKS_DEF == 16); /* Create file */ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group with short name in file (used as target for links) */ - if((gid=H5Gcreate (fid, "final", (size_t)0))<0) TEST_ERROR; + if((gid=H5Gcreate (fid, "final", (size_t)0)) < 0) TEST_ERROR /* Create chain of soft links to existing object (limited) */ - if(H5Glink2(fid, "final", H5G_LINK_SOFT, fid, "soft1") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft1", H5G_LINK_SOFT, fid, "soft2") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft2", H5G_LINK_SOFT, fid, "soft3") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft3", H5G_LINK_SOFT, fid, "soft4") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft4", H5G_LINK_SOFT, fid, "soft5") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft5", H5G_LINK_SOFT, fid, "soft6") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft6", H5G_LINK_SOFT, fid, "soft7") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft7", H5G_LINK_SOFT, fid, "soft8") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft8", H5G_LINK_SOFT, fid, "soft9") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft9", H5G_LINK_SOFT, fid, "soft10") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft10", H5G_LINK_SOFT, fid, "soft11") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft11", H5G_LINK_SOFT, fid, "soft12") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft12", H5G_LINK_SOFT, fid, "soft13") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft13", H5G_LINK_SOFT, fid, "soft14") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft14", H5G_LINK_SOFT, fid, "soft15") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft15", H5G_LINK_SOFT, fid, "soft16") < 0) TEST_ERROR; - if(H5Glink2(fid, "soft16", H5G_LINK_SOFT, fid, "soft17") < 0) TEST_ERROR; + if(H5Glink2(fid, "final", H5G_LINK_SOFT, fid, "soft1") < 0) TEST_ERROR + if(H5Glink2(fid, "soft1", H5G_LINK_SOFT, fid, "soft2") < 0) TEST_ERROR + if(H5Glink2(fid, "soft2", H5G_LINK_SOFT, fid, "soft3") < 0) TEST_ERROR + if(H5Glink2(fid, "soft3", H5G_LINK_SOFT, fid, "soft4") < 0) TEST_ERROR + if(H5Glink2(fid, "soft4", H5G_LINK_SOFT, fid, "soft5") < 0) TEST_ERROR + if(H5Glink2(fid, "soft5", H5G_LINK_SOFT, fid, "soft6") < 0) TEST_ERROR + if(H5Glink2(fid, "soft6", H5G_LINK_SOFT, fid, "soft7") < 0) TEST_ERROR + if(H5Glink2(fid, "soft7", H5G_LINK_SOFT, fid, "soft8") < 0) TEST_ERROR + if(H5Glink2(fid, "soft8", H5G_LINK_SOFT, fid, "soft9") < 0) TEST_ERROR + if(H5Glink2(fid, "soft9", H5G_LINK_SOFT, fid, "soft10") < 0) TEST_ERROR + if(H5Glink2(fid, "soft10", H5G_LINK_SOFT, fid, "soft11") < 0) TEST_ERROR + if(H5Glink2(fid, "soft11", H5G_LINK_SOFT, fid, "soft12") < 0) TEST_ERROR + if(H5Glink2(fid, "soft12", H5G_LINK_SOFT, fid, "soft13") < 0) TEST_ERROR + if(H5Glink2(fid, "soft13", H5G_LINK_SOFT, fid, "soft14") < 0) TEST_ERROR + if(H5Glink2(fid, "soft14", H5G_LINK_SOFT, fid, "soft15") < 0) TEST_ERROR + if(H5Glink2(fid, "soft15", H5G_LINK_SOFT, fid, "soft16") < 0) TEST_ERROR + if(H5Glink2(fid, "soft16", H5G_LINK_SOFT, fid, "soft17") < 0) TEST_ERROR /* Close objects */ - if(H5Gclose(gid)<0) TEST_ERROR; - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR /* Open file */ - if((fid=H5Fopen(filename, H5F_ACC_RDWR, fapl))<0) TEST_ERROR; + if((fid=H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Create LAPL with higher-than-usual nlinks value */ /* Create a non-default lapl with udata set to point to the first group */ - if((plist = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR; + if((plist = H5Pcreate(H5P_LINK_ACCESS)) < 0) TEST_ERROR nlinks = 20; - if(H5Pset_nlinks(plist, nlinks)<0) TEST_ERROR; + if(H5Pset_nlinks(plist, nlinks) < 0) TEST_ERROR /* Ensure that nlinks was set successfully */ nlinks = 0; - if(H5Pget_nlinks(plist, &nlinks)<0) TEST_ERROR + if(H5Pget_nlinks(plist, &nlinks) < 0) TEST_ERROR if(nlinks != 20) TEST_ERROR /* Open object through what is normally too many soft links using * new property list */ - if((gid = H5Oopen(fid, "soft17", plist)) < 0) TEST_ERROR; + if((gid = H5Oopen(fid, "soft17", plist)) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -4742,16 +4863,16 @@ lapl_nlinks(hid_t fapl) /* Close groups */ if(H5Gclose(gid2) < 0) TEST_ERROR - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Set nlinks to a smaller number */ nlinks = 4; - if(H5Pset_nlinks(plist, nlinks)<0) TEST_ERROR; + if(H5Pset_nlinks(plist, nlinks) < 0) TEST_ERROR /* Ensure that nlinks was set successfully */ nlinks = 0; - if(H5Pget_nlinks(plist, &nlinks)<0) TEST_ERROR; - if(nlinks != 4) TEST_ERROR; + if(H5Pget_nlinks(plist, &nlinks) < 0) TEST_ERROR + if(nlinks != 4) TEST_ERROR /* Try opening through what is now too many soft links */ H5E_BEGIN_TRY { @@ -4764,7 +4885,7 @@ lapl_nlinks(hid_t fapl) } /* Open object through lesser soft link */ - if((gid = H5Oopen(fid, "soft4", plist)) < 0) TEST_ERROR; + if((gid = H5Oopen(fid, "soft4", plist)) < 0) TEST_ERROR /* Check name */ if((name_len = H5Iget_name( gid, objname, (size_t)NAME_BUF_SIZE )) < 0) TEST_ERROR @@ -4773,9 +4894,9 @@ lapl_nlinks(hid_t fapl) /* Test other functions that should use a LAPL */ nlinks = 20; - if(H5Pset_nlinks(plist, nlinks)<0) TEST_ERROR; + if(H5Pset_nlinks(plist, nlinks) < 0) TEST_ERROR - /* Try copying and moving when both src and dst cotain many soft links + /* Try copying and moving when both src and dst contain many soft links * using a non-default LAPL */ if(H5Lcopy(fid, "soft17", fid, "soft17/newer_soft", H5P_DEFAULT, plist) < 0) TEST_ERROR @@ -4792,16 +4913,16 @@ lapl_nlinks(hid_t fapl) if(H5Lunlink(fid, "soft17/soft_link", plist) < 0) TEST_ERROR /* H5Lget_linkval and H5Lget_linkinfo */ - if(H5Lget_linkval(fid, "soft17", 0, NULL, plist) < 0) TEST_ERROR + if(H5Lget_linkval(fid, "soft17", (size_t)0, NULL, plist) < 0) TEST_ERROR if(H5Lget_linkinfo(fid, "soft17", NULL, plist) < 0) TEST_ERROR /* H5Lcreate_external and H5Lcreate_ud */ - if(H5Lcreate_external("filename", "path", fid, "soft17/extlink", H5P_DEFAULT, plist) <0) TEST_ERROR + if(H5Lcreate_external("filename", "path", fid, "soft17/extlink", H5P_DEFAULT, plist) < 0) TEST_ERROR if(H5Lregister(UD_rereg_class) < 0) TEST_ERROR - if(H5Lcreate_ud(fid, "soft17/udlink", UD_HARD_TYPE, NULL, 0, H5P_DEFAULT, plist) < 0) TEST_ERROR + if(H5Lcreate_ud(fid, "soft17/udlink", UD_HARD_TYPE, NULL, (size_t)0, H5P_DEFAULT, plist) < 0) TEST_ERROR /* Close plist */ - if(H5Pclose(plist) < 0) TEST_ERROR; + if(H5Pclose(plist) < 0) TEST_ERROR /* Create a datatype and dataset as targets inside the group */ @@ -4813,27 +4934,27 @@ lapl_nlinks(hid_t fapl) dims[1] = 2; if((sid = H5Screate_simple(2, dims, NULL)) < 0) TEST_ERROR if((did = H5Dcreate(gid, "dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR - if(H5Dclose(did) < 0) TEST_ERROR; + if(H5Dclose(did) < 0) TEST_ERROR /* Close group */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Try to open the objects using too many symlinks with default *APLs */ H5E_BEGIN_TRY { if((gid = H5Gopen_expand(fid, "soft17", H5P_DEFAULT)) >=0) { H5_FAILED(); puts(" Should have failed for too many nested links."); - TEST_ERROR; + TEST_ERROR } if((tid = H5Topen_expand(fid, "soft17/datatype", H5P_DEFAULT)) >=0) { H5_FAILED(); puts(" Should have failed for too many nested links."); - TEST_ERROR; + TEST_ERROR } if((did = H5Dopen_expand(fid, "soft17/dataset", H5P_DEFAULT)) >=0) { H5_FAILED(); puts(" Should have failed for too many nested links."); - TEST_ERROR; + TEST_ERROR } } H5E_END_TRY @@ -4850,9 +4971,9 @@ lapl_nlinks(hid_t fapl) /* We should now be able to use these property lists to open each kind * of object. */ - if((gid = H5Gopen_expand(fid, "soft17", gapl)) <0) TEST_ERROR - if((tid = H5Topen_expand(fid, "soft17/datatype", tapl)) <0) TEST_ERROR - if((did = H5Dopen_expand(fid, "soft17/dataset", dapl)) <0) TEST_ERROR + if((gid = H5Gopen_expand(fid, "soft17", gapl)) < 0) TEST_ERROR + if((tid = H5Topen_expand(fid, "soft17/datatype", tapl)) < 0) TEST_ERROR + if((did = H5Dopen_expand(fid, "soft17/dataset", dapl)) < 0) TEST_ERROR /* Close objects */ if(H5Gclose(gid) < 0) TEST_ERROR @@ -4860,12 +4981,15 @@ lapl_nlinks(hid_t fapl) if(H5Dclose(did) < 0) TEST_ERROR /* Close plists */ - if(H5Pclose(gapl) < 0) TEST_ERROR; - if(H5Pclose(tapl) < 0) TEST_ERROR; - if(H5Pclose(dapl) < 0) TEST_ERROR; + if(H5Pclose(gapl) < 0) TEST_ERROR + if(H5Pclose(tapl) < 0) TEST_ERROR + if(H5Pclose(dapl) < 0) TEST_ERROR + + /* Unregister UD hard link class */ + if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -4885,9 +5009,10 @@ lapl_nlinks(hid_t fapl) } H5E_END_TRY; return -1; } /* end lapl_nlinks() */ + /*------------------------------------------------------------------------- - * Function: objinfo_linkclass + * Function: linkinfo * * Purpose: Check that the link class is returned correctly when queried. * @@ -4900,7 +5025,7 @@ lapl_nlinks(hid_t fapl) *------------------------------------------------------------------------- */ static int -linkinfo(hid_t fapl) +linkinfo(hid_t fapl, hbool_t new_format) { hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group ID */ @@ -4909,52 +5034,55 @@ linkinfo(hid_t fapl) H5L_linkinfo_t li; /* Link information */ char filename[NAME_BUF_SIZE]; - TESTING("linkclass field in H5Gget_objinfo"); + if(new_format) + TESTING("link type field in H5Gget_objinfo (w/new group format)") + else + TESTING("link type field in H5Gget_objinfo") /* Set up filename and create file*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Register a couple of user-defined link classes with the library */ - if(H5Lregister(UD_plist_class) < 0) TEST_ERROR; + if(H5Lregister(UD_plist_class) < 0) TEST_ERROR /* Create an object of each type */ - if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR; - if(H5Tcommit(fid, "datatype", tid) < 0) TEST_ERROR; - if((gid = H5Gcreate(fid, "group", 0)) < 0) TEST_ERROR; - if(H5Glink(fid, H5G_LINK_SOFT, "group", "softlink") < 0) TEST_ERROR; + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if(H5Tcommit(fid, "datatype", tid) < 0) TEST_ERROR + if((gid = H5Gcreate(fid, "group", (size_t)0)) < 0) TEST_ERROR + if(H5Glink(fid, H5G_LINK_SOFT, "group", "softlink") < 0) TEST_ERROR - if((sid = H5Screate(H5S_SCALAR)) < 0) TEST_ERROR; - if((did = H5Dcreate(fid, "dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR; + if((sid = H5Screate(H5S_SCALAR)) < 0) TEST_ERROR + if((did = H5Dcreate(fid, "dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR - if(H5Lcreate_ud(fid, "ud_link", UD_PLIST_TYPE, NULL, 0, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; - if(H5Lcreate_external("file_name", "obj_path", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lcreate_ud(fid, "ud_link", UD_PLIST_TYPE, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external("file_name", "obj_path", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Close all objects */ - if(H5Tclose(tid) < 0) TEST_ERROR; - if(H5Gclose(gid) < 0) TEST_ERROR; - if(H5Dclose(did) < 0) TEST_ERROR; - - /* Make sure that linkclass is correct when objects are queried */ - if(H5Lget_linkinfo(fid, "datatype", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != H5L_LINK_HARD) TEST_ERROR; - if(H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != H5L_LINK_HARD) TEST_ERROR; - if(H5Lget_linkinfo(fid, "dataset", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != H5L_LINK_HARD) TEST_ERROR; - - if(H5Lget_linkinfo(fid, "ext_link", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != H5L_LINK_EXTERNAL) TEST_ERROR; - if(H5Lget_linkinfo(fid, "softlink", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != H5G_LINK_SOFT) TEST_ERROR; - if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) < 0) TEST_ERROR; - if(li.linkclass != UD_PLIST_TYPE) TEST_ERROR; + if(H5Tclose(tid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR + + /* Make sure that link type is correct when objects are queried */ + if(H5Lget_linkinfo(fid, "datatype", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != H5L_TYPE_HARD) TEST_ERROR + if(H5Lget_linkinfo(fid, "group", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != H5L_TYPE_HARD) TEST_ERROR + if(H5Lget_linkinfo(fid, "dataset", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != H5L_TYPE_HARD) TEST_ERROR + + if(H5Lget_linkinfo(fid, "ext_link", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != H5L_TYPE_EXTERNAL) TEST_ERROR + if(H5Lget_linkinfo(fid, "softlink", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != H5G_LINK_SOFT) TEST_ERROR + if(H5Lget_linkinfo(fid, "ud_link", &li, H5P_DEFAULT) < 0) TEST_ERROR + if(li.type != UD_PLIST_TYPE) TEST_ERROR /* Ensure that passing a NULL pointer doesn't cause an error */ - if(H5Lget_linkinfo(fid, "group", NULL, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Lget_linkinfo(fid, "group", NULL, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -4989,13 +5117,16 @@ linkinfo(hid_t fapl) *------------------------------------------------------------------------- */ static int -check_all_closed(hid_t fapl) +check_all_closed(hid_t fapl, hbool_t new_format) { hid_t fid=-1; char filename[NAME_BUF_SIZE]; int x; - TESTING("that all files were closed correctly") + if(new_format) + TESTING("that all files were closed correctly (w/new group format)") + else + TESTING("that all files were closed correctly") /* Some of the external or UD link tests may have failed to close * an external file properly. @@ -5034,86 +5165,91 @@ check_all_closed(hid_t fapl) * Programmer: Robb Matzke * Friday, August 14, 1998 * - * Modifications: - * *------------------------------------------------------------------------- */ int main(void) { - int nerrors = 0; - hid_t fapl; const char *envval = NULL; envval = HDgetenv("HDF5_DRIVER"); - if (envval == NULL) + if(envval == NULL) envval = "nomatch"; - if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family") && HDstrcmp(envval, "stdio")) { + if(HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family") && HDstrcmp(envval, "stdio")) { + hid_t fapl, fapl2; /* File access property lists */ + int nerrors = 0; + hbool_t new_format; /* Whether to use the new format or not */ + 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); -#endif - nerrors += test_move(fapl); - nerrors += test_copy(fapl); -#ifdef H5_GROUP_REVISION - nerrors += test_move_preserves(fapl); -#endif - nerrors += test_compat(fapl); + + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + + /* Loop over using new group format */ + for(new_format = FALSE; new_format <= TRUE; new_format++) { + /* General tests... (on both old & new format groups */ + nerrors += mklinks((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += cklinks((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += new_links((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += ck_new_links((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += long_links((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += toomany((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + + /* Test new H5L link creation routine */ + nerrors += test_h5l_create((new_format ? fapl2 : fapl), new_format); + nerrors += test_lcpl((new_format ? fapl2 : fapl), new_format); + nerrors += test_move((new_format ? fapl2 : fapl), new_format); + nerrors += test_copy((new_format ? fapl2 : fapl), new_format); + nerrors += test_move_preserves((new_format ? fapl2 : fapl), new_format); + nerrors += test_compat((new_format ? fapl2 : fapl), new_format); #ifndef H5_CANNOT_OPEN_TWICE - nerrors += external_link_root(fapl) < 0 ? 1 : 0; + nerrors += external_link_root((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; #endif /* H5_CANNOT_OPEN_TWICE */ - nerrors += external_link_path(fapl) < 0 ? 1 : 0; - nerrors += external_link_mult(fapl) < 0 ? 1 : 0; -#ifdef H5_GROUP_REVISION - nerrors += external_link_self(fapl) < 0 ? 1 : 0; -#endif + nerrors += external_link_path((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_mult((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_self((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; #ifndef H5_CANNOT_OPEN_TWICE - nerrors += external_link_pingpong(fapl) < 0 ? 1 : 0; - nerrors += external_link_toomany(fapl) < 0 ? 1 : 0; + nerrors += external_link_pingpong((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_toomany((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; #endif /* H5_CANNOT_OPEN_TWICE */ - nerrors += external_link_dangling(fapl) < 0 ? 1 : 0; - nerrors += external_link_recursive(fapl) < 0 ? 1 : 0; - nerrors += external_link_query(fapl) < 0 ? 1 : 0; - nerrors += external_link_unlink_compact(fapl) < 0 ? 1 : 0; -#ifdef H5_GROUP_REVISION - nerrors += external_link_unlink_dense(fapl) < 0 ? 1 : 0; -#endif /* H5_GROUP_REVISION */ - nerrors += external_link_move(fapl) < 0 ? 1 : 0; -#ifdef H5_GROUP_REVISION - nerrors += external_link_ride(fapl) < 0 ? 1 : 0; -#endif /* H5_GROUP_REVISION */ + nerrors += external_link_dangling((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_recursive((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_query((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_unlink_compact((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_unlink_dense((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_move((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += external_link_ride((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; #ifndef H5_CANNOT_OPEN_TWICE - nerrors += external_link_closing(fapl) < 0 ? 1 : 0; + nerrors += external_link_closing((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; #endif /* H5_CANNOT_OPEN_TWICE */ - nerrors += external_link_endian(fapl) < 0 ? 1 : 0; - - /* These tests assume that external links are a form of UD links, - * so assume that everything that passed for external links - * above has already been tested for UD links. - */ - nerrors += ud_hard_links(fapl) < 0 ? 1 : 0; - nerrors += ud_link_reregister(fapl) < 0 ? 1 : 0; - nerrors += ud_callbacks(fapl) < 0 ? 1 : 0; - nerrors += ud_link_errors(fapl) < 0 ? 1 : 0; - nerrors += lapl_udata(fapl) < 0 ? 1 : 0; - nerrors += lapl_nlinks(fapl) < 0 ? 1 : 0; - nerrors += linkinfo(fapl) < 0 ? 1 : 0; - - nerrors += check_all_closed(fapl) < 0 ? 1 : 0; + nerrors += external_link_endian((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + + /* These tests assume that external links are a form of UD links, + * so assume that everything that passed for external links + * above has already been tested for UD links. + */ + if(new_format == TRUE) { + nerrors += ud_hard_links(fapl2) < 0 ? 1 : 0; /* requires new format groups */ + nerrors += ud_link_reregister(fapl2) < 0 ? 1 : 0; /* requires new format groups */ + } /* end if */ + nerrors += ud_callbacks((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += ud_link_errors((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += lapl_udata((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += lapl_nlinks((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + nerrors += linkinfo((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + + nerrors += check_all_closed((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0; + } /* end for */ + + /* Close 2nd FAPL */ + H5Pclose(fapl2); /* Results */ - if (nerrors) { + if(nerrors) { printf("***** %d LINK TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); exit(1); @@ -5122,11 +5258,12 @@ main(void) h5_cleanup(FILENAME, fapl); } else - { puts("All link tests skipped - Incompatible with current Virtual File Driver"); - } return 0; +error: + puts("*** TESTS FAILED ***"); + return 1; } diff --git a/test/mount.c b/test/mount.c index cfd99dc..af59240 100644 --- a/test/mount.c +++ b/test/mount.c @@ -71,8 +71,8 @@ setup(hid_t fapl) if (H5Gclose(H5Gcreate(file, "/mnt1/file1", (size_t)0))<0) goto error; if (H5Gclose(H5Gcreate(file, "/mnt_unlink", (size_t)0))<0) goto error; if (H5Gclose(H5Gcreate(file, "/mnt_move_a", (size_t)0))<0) goto error; - if (H5Glink(file, H5L_LINK_HARD, "/mnt1/file1", "/file1")<0) goto error; - if (H5Glink(file, H5L_LINK_HARD, "/mnt1", "/mnt1_link")<0) goto error; + if (H5Glink(file, H5L_TYPE_HARD, "/mnt1/file1", "/file1")<0) goto error; + if (H5Glink(file, H5L_TYPE_HARD, "/mnt1", "/mnt1_link")<0) goto error; if (H5Fclose(file)<0) goto error; /* file 2 */ @@ -854,7 +854,7 @@ test_interlink(hid_t fapl) /* Try an interfile hard link directly */ H5E_BEGIN_TRY { - status = H5Glink(file1, H5L_LINK_HARD, "/mnt1/file2", "/file2"); + status = H5Glink(file1, H5L_TYPE_HARD, "/mnt1/file2", "/file2"); } H5E_END_TRY; if (status>=0) { H5_FAILED(); @@ -1108,9 +1108,9 @@ test_mount_after_close(hid_t fapl) TEST_ERROR if((gidABM = H5Gcreate(gidAB , "M", (size_t)0)) < 0) /* Mount point */ TEST_ERROR - if(H5Glink(gidAB, H5L_LINK_SOFT, "./M/X/Y", "C") < 0) /* Soft link */ + if(H5Glink(gidAB, H5L_TYPE_SOFT, "./M/X/Y", "C") < 0) /* Soft link */ TEST_ERROR - if(H5Glink(gidAB, H5L_LINK_SOFT, "/A", "T") < 0) /* Soft link */ + if(H5Glink(gidAB, H5L_TYPE_SOFT, "/A", "T") < 0) /* Soft link */ TEST_ERROR /* Close groups and file */ @@ -1144,7 +1144,7 @@ test_mount_after_close(hid_t fapl) TEST_ERROR if((did = H5Dcreate(gidXY, "D", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR - if(H5Glink(gidX, H5L_LINK_SOFT, "./Y", "T") < 0) /* Soft link */ + if(H5Glink(gidX, H5L_TYPE_SOFT, "./Y", "T") < 0) /* Soft link */ TEST_ERROR /* Write data to the dataset. */ @@ -3686,7 +3686,7 @@ test_symlink(hid_t fapl) TEST_ERROR /* Create soft link to mounted object */ - if(H5Glink(fid1, H5L_LINK_SOFT, "./A/D/H", "L") < 0) /* Soft link */ + if(H5Glink(fid1, H5L_TYPE_SOFT, "./A/D/H", "L") < 0) /* Soft link */ TEST_ERROR if(H5Fclose(fid1) < 0) diff --git a/test/objcopy.c b/test/objcopy.c index be6a80f..6745c91 100755 --- a/test/objcopy.c +++ b/test/objcopy.c @@ -137,7 +137,11 @@ addr_insert(H5G_stat_t *sb) /* Insert the entry */ n = idtab_g.nobjs++; +#if H5_SIZEOF_UINT64_T > H5_SIZEOF_LONG idtab_g.obj[n] = (haddr_t)sb->objno[0] | ((haddr_t)sb->objno[1] << (8 * sizeof(long))); +#else + idtab_g.obj[n] = (haddr_t)sb->objno[0]; +#endif } /* end addr_insert() */ @@ -161,9 +165,13 @@ addr_lookup(H5G_stat_t *sb) haddr_t obj_addr; /* Object's address in the file */ size_t n; - if (sb->nlink<2) return FALSE; /*only one link possible*/ + if(sb->nlink<2) return FALSE; /*only one link possible*/ +#if H5_SIZEOF_UINT64_T > H5_SIZEOF_LONG obj_addr = (haddr_t)sb->objno[0] | ((haddr_t)sb->objno[1] << (8 * sizeof(long))); +#else + obj_addr = (haddr_t)sb->objno[0]; +#endif for(n = 0; n < idtab_g.nobjs; n++) if(idtab_g.obj[n] == obj_addr) return TRUE; @@ -371,10 +379,10 @@ test_copy_attach_attribute_vl(hid_t loc_id) unsigned int i, j; int ret_value = -1; - if ( (sid = H5Screate_simple(1, &dim1, NULL)) < 0 ) + if((sid = H5Screate_simple(1, &dim1, NULL)) < 0 ) goto done; - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) goto done; for(i = 0; i < 4; i++) { @@ -384,22 +392,22 @@ test_copy_attach_attribute_vl(hid_t loc_id) ((int *)buf[i].p)[j] = j+1; } /* end for */ - if ( (aid = H5Acreate(loc_id, "vlen attribute", tid, sid, H5P_DEFAULT)) < 0) + if((aid = H5Acreate(loc_id, "vlen attribute", tid, sid, H5P_DEFAULT)) < 0) goto done; - if ( H5Awrite(aid, tid, buf) < 0) + if(H5Awrite(aid, tid, buf) < 0) goto done; ret_value = 0; done: - if (tid >0 && sid > 0) + if(tid >0 && sid > 0) H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf); - if (sid > 0) + if(sid > 0) H5Sclose(sid); - if (tid > 0) + if(tid > 0) H5Tclose(tid); - if (aid > 0) + if(aid > 0) H5Aclose(aid); return ret_value; } /* end of attach_attribute_vl */ @@ -438,13 +446,13 @@ test_copy_attach_attributes(hid_t loc_id, hid_t type_id) attr_data[0] = 100 * i; attr_data[1] = 200 * i; - if ( (aid = H5Acreate(loc_id, attr_name, type_id, sid, H5P_DEFAULT)) < 0) + if((aid = H5Acreate(loc_id, attr_name, type_id, sid, H5P_DEFAULT)) < 0) goto done; - if ( H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) + if(H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) goto done; - if (aid > 0) + if(aid > 0) H5Aclose(aid); aid = -1; @@ -453,9 +461,9 @@ test_copy_attach_attributes(hid_t loc_id, hid_t type_id) ret_value = 0; done: - if (sid > 0) + if(sid > 0) H5Sclose(sid); - if (aid > 0) + if(aid > 0) H5Aclose(aid); return ret_value; @@ -482,7 +490,7 @@ test_copy_attach_paired_attributes(hid_t loc_id, hid_t loc_id2, hid_t type_id) int attr_data[2], i; hsize_t dim1 = 2; - if ( (sid = H5Screate_simple(1, &dim1, NULL)) < 0 ) goto done; + if((sid = H5Screate_simple(1, &dim1, NULL)) < 0 ) goto done; for (i=0; i<NUM_ATTRIBUTES; i++) { sprintf(attr_name, "%d attr", i); @@ -492,24 +500,24 @@ test_copy_attach_paired_attributes(hid_t loc_id, hid_t loc_id2, hid_t type_id) attr_data[1] = 200 * i; /* Add attribute to first object */ - if ( (aid = H5Acreate(loc_id, attr_name, type_id, sid, H5P_DEFAULT)) < 0) goto done; - if ( H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) goto done; - if ( H5Aclose(aid) < 0) goto done; + if((aid = H5Acreate(loc_id, attr_name, type_id, sid, H5P_DEFAULT)) < 0) goto done; + if(H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) goto done; + if(H5Aclose(aid) < 0) goto done; /* Add attribute to second object */ - if ( (aid = H5Acreate(loc_id2, attr_name, type_id, sid, H5P_DEFAULT)) < 0) goto done; - if ( H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) goto done; - if ( H5Aclose(aid) < 0) goto done; + if((aid = H5Acreate(loc_id2, attr_name, type_id, sid, H5P_DEFAULT)) < 0) goto done; + if(H5Awrite(aid, H5T_NATIVE_INT, attr_data) < 0) goto done; + if(H5Aclose(aid) < 0) goto done; } - if ( H5Sclose(sid) < 0) goto done; + if(H5Sclose(sid) < 0) goto done; return 0; done: - if (sid > 0) + if(sid > 0) H5Sclose(sid); - if (aid > 0) + if(aid > 0) H5Aclose(aid); return -1; @@ -543,41 +551,41 @@ compare_attribute(hid_t aid, hid_t aid2, hid_t pid, const void *wbuf) /* Check the datatypes are equal */ /* Open the datatype for the source attribute */ - if ( (tid = H5Aget_type(aid)) < 0) TEST_ERROR + if((tid = H5Aget_type(aid)) < 0) TEST_ERROR /* Open the datatype for the destination attribute */ - if ( (tid2 = H5Aget_type(aid2)) < 0) TEST_ERROR + if((tid2 = H5Aget_type(aid2)) < 0) TEST_ERROR /* Check that both datatypes are committed/not committed */ - if ( (is_committed = H5Tcommitted(tid)) < 0) TEST_ERROR - if ( (is_committed2 = H5Tcommitted(tid2)) < 0) TEST_ERROR - if ( is_committed != is_committed2) TEST_ERROR + if((is_committed = H5Tcommitted(tid)) < 0) TEST_ERROR + if((is_committed2 = H5Tcommitted(tid2)) < 0) TEST_ERROR + if(is_committed != is_committed2) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* Determine the size of datatype (for later) */ - if ( (elmt_size = H5Tget_size(tid)) == 0) TEST_ERROR + if((elmt_size = H5Tget_size(tid)) == 0) TEST_ERROR /* Check the dataspaces are equal */ /* Open the dataspace for the source attribute */ - if ( (sid = H5Aget_space(aid)) < 0) TEST_ERROR + if((sid = H5Aget_space(aid)) < 0) TEST_ERROR /* Open the dataspace for the destination attribute */ - if ( (sid2 = H5Aget_space(aid2)) < 0) TEST_ERROR + if((sid2 = H5Aget_space(aid2)) < 0) TEST_ERROR /* Compare the dataspaces */ - if ( H5Sextent_equal(sid, sid2) != TRUE) TEST_ERROR + if(H5Sextent_equal(sid, sid2) != TRUE) TEST_ERROR /* Determine the number of elements in dataspace (for later) */ - if ( (nelmts = H5Sget_simple_extent_npoints(sid2)) < 0) TEST_ERROR + if((nelmts = H5Sget_simple_extent_npoints(sid2)) < 0) TEST_ERROR /* Check the raw data is equal */ /* Allocate & initialize space for the raw data buffers */ - if ( (rbuf = HDcalloc( elmt_size, (size_t)nelmts)) == NULL) TEST_ERROR - if ( (rbuf2 = HDcalloc( elmt_size, (size_t)nelmts)) == NULL) TEST_ERROR + if((rbuf = HDcalloc( elmt_size, (size_t)nelmts)) == NULL) TEST_ERROR + if((rbuf2 = HDcalloc( elmt_size, (size_t)nelmts)) == NULL) TEST_ERROR /* Read data from the source attribute */ if(H5Aread(aid, tid, rbuf) < 0) TEST_ERROR @@ -605,16 +613,16 @@ compare_attribute(hid_t aid, hid_t aid2, hid_t pid, const void *wbuf) HDfree(rbuf2); /* close the source dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the destination dataspace */ - if ( H5Sclose(sid2) < 0) TEST_ERROR + if(H5Sclose(sid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR return TRUE; @@ -908,57 +916,57 @@ compare_datasets(hid_t did, hid_t did2, hid_t pid, const void *wbuf) /* Check the datatypes are equal */ /* Open the datatype for the source dataset */ - if ( (tid = H5Dget_type(did)) < 0) TEST_ERROR + if((tid = H5Dget_type(did)) < 0) TEST_ERROR /* Open the datatype for the destination dataset */ - if ( (tid2 = H5Dget_type(did2)) < 0) TEST_ERROR + if((tid2 = H5Dget_type(did2)) < 0) TEST_ERROR /* Check that both datatypes are committed/not committed */ - if ( (is_committed = H5Tcommitted(tid)) < 0) TEST_ERROR - if ( (is_committed2 = H5Tcommitted(tid2)) < 0) TEST_ERROR - if ( is_committed != is_committed2) TEST_ERROR + if((is_committed = H5Tcommitted(tid)) < 0) TEST_ERROR + if((is_committed2 = H5Tcommitted(tid2)) < 0) TEST_ERROR + if(is_committed != is_committed2) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* Determine the size of datatype (for later) */ - if ( (elmt_size = H5Tget_size(tid)) == 0) TEST_ERROR + if((elmt_size = H5Tget_size(tid)) == 0) TEST_ERROR /* Check the dataspaces are equal */ /* Open the dataspace for the source dataset */ - if ( (sid = H5Dget_space(did)) < 0) TEST_ERROR + if((sid = H5Dget_space(did)) < 0) TEST_ERROR /* Open the dataspace for the destination dataset */ - if ( (sid2 = H5Dget_space(did2)) < 0) TEST_ERROR + if((sid2 = H5Dget_space(did2)) < 0) TEST_ERROR /* Compare the dataspaces */ - if ( H5Sextent_equal(sid, sid2) != TRUE) TEST_ERROR + if(H5Sextent_equal(sid, sid2) != TRUE) TEST_ERROR /* Determine the number of elements in dataspace (for later) */ - if ( (nelmts = H5Sget_simple_extent_npoints(sid)) < 0) TEST_ERROR + if((nelmts = H5Sget_simple_extent_npoints(sid)) < 0) TEST_ERROR /* Check the dataset creation property lists are equal */ /* Open the dataset creation property list for the source dataset */ - if ( (dcpl = H5Dget_create_plist(did)) < 0) TEST_ERROR + if((dcpl = H5Dget_create_plist(did)) < 0) TEST_ERROR /* Open the dataset creation property list for the destination dataset */ - if ( (dcpl2 = H5Dget_create_plist(did2)) < 0) TEST_ERROR + if((dcpl2 = H5Dget_create_plist(did2)) < 0) TEST_ERROR /* Compare the dataset creation property lists */ - if ( H5Pequal(dcpl, dcpl2) != TRUE) TEST_ERROR + if(H5Pequal(dcpl, dcpl2) != TRUE) TEST_ERROR /* Get the number of filters on dataset */ - if ( (nfilters = H5Pget_nfilters(dcpl)) < 0) TEST_ERROR + if((nfilters = H5Pget_nfilters(dcpl)) < 0) TEST_ERROR /* close the source dataset creation property list */ - if ( H5Pclose(dcpl) < 0) TEST_ERROR + if(H5Pclose(dcpl) < 0) TEST_ERROR /* close the destination dataset creation property list */ - if ( H5Pclose(dcpl2) < 0) TEST_ERROR + if(H5Pclose(dcpl2) < 0) TEST_ERROR /* Check the allocated storage is the same */ @@ -974,7 +982,7 @@ compare_datasets(hid_t did, hid_t did2, hid_t pid, const void *wbuf) * data in each dataset will (probably) be different and the storage * size will thus vary) */ - if (!(nfilters > 0 && H5Tdetect_class(tid, H5T_VLEN))) { + if(!(nfilters > 0 && H5Tdetect_class(tid, H5T_VLEN))) { hsize_t storage_size = H5Dget_storage_size(did); /* Dataset's raw data storage size */ hsize_t storage_size2 = H5Dget_storage_size(did2); /* 2nd Dataset's raw data storage size */ @@ -1011,20 +1019,20 @@ compare_datasets(hid_t did, hid_t did2, hid_t pid, const void *wbuf) HDfree(rbuf2); /* close the source dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the destination dataspace */ - if ( H5Sclose(sid2) < 0) TEST_ERROR + if(H5Sclose(sid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* Check if the attributes are equal */ - if ( compare_std_attributes(did, did2, pid) != TRUE) TEST_ERROR + if(compare_std_attributes(did, did2, pid) != TRUE) TEST_ERROR /* Datasets should be the same. :-) */ @@ -1099,8 +1107,8 @@ compare_groups(hid_t gid, hid_t gid2, hid_t pid, int depth) /* Loop over contents of groups */ for(idx = 0; idx < num_objs; idx++) { /* Check name of objects */ - if(H5Gget_objname_by_idx(gid, idx, objname, NAME_BUF_SIZE) < 0) TEST_ERROR - if(H5Gget_objname_by_idx(gid2, idx, objname2, NAME_BUF_SIZE) < 0) TEST_ERROR + if(H5Gget_objname_by_idx(gid, idx, objname, (size_t)NAME_BUF_SIZE) < 0) TEST_ERROR + if(H5Gget_objname_by_idx(gid2, idx, objname2, (size_t)NAME_BUF_SIZE) < 0) TEST_ERROR if(HDstrcmp(objname, objname2)) TEST_ERROR /* Check type of objects */ @@ -1136,8 +1144,8 @@ compare_groups(hid_t gid, hid_t gid2, hid_t pid, int depth) char linkname2[NAME_BUF_SIZE]; /* Link value */ /* Check link values */ - if(H5Lget_linkval(gid, objname, NAME_BUF_SIZE, linkname, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Lget_linkval(gid2, objname2, NAME_BUF_SIZE, linkname2, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lget_linkval(gid, objname, (size_t)NAME_BUF_SIZE, linkname, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lget_linkval(gid2, objname2, (size_t)NAME_BUF_SIZE, linkname2, H5P_DEFAULT) < 0) TEST_ERROR if(HDstrcmp(linkname, linkname2)) TEST_ERROR } break; @@ -1187,12 +1195,12 @@ compare_groups(hid_t gid, hid_t gid2, hid_t pid, int depth) char linkval2[NAME_BUF_SIZE]; /* Link value */ /* Check that both links are the same type and the same size */ - if(linfo.linkclass != linfo2.linkclass) TEST_ERROR + if(linfo.type != linfo2.type) TEST_ERROR if(linfo.u.link_size != linfo2.u.link_size) TEST_ERROR /* Get link udata */ - if(H5Lget_linkval(gid, objname, NAME_BUF_SIZE, linkval, H5P_DEFAULT) < 0) TEST_ERROR - if(H5Lget_linkval(gid2, objname2, NAME_BUF_SIZE, linkval2, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lget_linkval(gid, objname, (size_t)NAME_BUF_SIZE, linkval, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lget_linkval(gid2, objname2, (size_t)NAME_BUF_SIZE, linkval2, H5P_DEFAULT) < 0) TEST_ERROR /* Compare link udata */ if(HDmemcmp(linkval, linkval2, objstat.linklen)) TEST_ERROR @@ -1254,53 +1262,53 @@ test_copy_named_datatype(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create named datatype */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the datatype from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATATYPE_SIMPLE, fid_dst, NAME_DATATYPE_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATATYPE_SIMPLE, fid_dst, NAME_DATATYPE_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the datatype for copy */ - if ( (tid = H5Topen(fid_src, NAME_DATATYPE_SIMPLE)) < 0) TEST_ERROR + if((tid = H5Topen(fid_src, NAME_DATATYPE_SIMPLE)) < 0) TEST_ERROR /* open the copied datatype */ - if ( (tid2 = H5Topen(fid_dst, NAME_DATATYPE_SIMPLE)) < 0) TEST_ERROR + if((tid2 = H5Topen(fid_dst, NAME_DATATYPE_SIMPLE)) < 0) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1347,53 +1355,53 @@ test_copy_named_datatype_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create named datatype */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the datatype from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATATYPE_VL, fid_dst, NAME_DATATYPE_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATATYPE_VL, fid_dst, NAME_DATATYPE_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the datatype for copy */ - if ( (tid = H5Topen(fid_src, NAME_DATATYPE_VL)) < 0) TEST_ERROR + if((tid = H5Topen(fid_src, NAME_DATATYPE_VL)) < 0) TEST_ERROR /* open the copied datatype */ - if ( (tid2 = H5Topen(fid_dst, NAME_DATATYPE_VL)) < 0) TEST_ERROR + if((tid2 = H5Topen(fid_dst, NAME_DATATYPE_VL)) < 0) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1440,59 +1448,59 @@ test_copy_named_datatype_vl_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create first vlen datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create second (nested) vlen datatype */ - if ( (tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR + if((tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR /* create named datatype */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL_VL, tid2)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL_VL, tid2)) < 0) TEST_ERROR /* close the first datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the second datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the datatype from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATATYPE_VL_VL, fid_dst, NAME_DATATYPE_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATATYPE_VL_VL, fid_dst, NAME_DATATYPE_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the datatype for copy */ - if ( (tid = H5Topen(fid_src, NAME_DATATYPE_VL_VL)) < 0) TEST_ERROR + if((tid = H5Topen(fid_src, NAME_DATATYPE_VL_VL)) < 0) TEST_ERROR /* open the copied datatype */ - if ( (tid2 = H5Topen(fid_dst, NAME_DATATYPE_VL_VL)) < 0) TEST_ERROR + if((tid2 = H5Topen(fid_dst, NAME_DATATYPE_VL_VL)) < 0) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1550,66 +1558,66 @@ test_copy_dataset_simple(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0] = DIM_SIZE_1; dim2d[1] = DIM_SIZE_2; /* create 2D dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create 2D int dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1660,63 +1668,63 @@ test_copy_dataset_simple_empty(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0] = DIM_SIZE_1; dim2d[1] = DIM_SIZE_2; /* create 2D dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create 2D int dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1780,73 +1788,73 @@ test_copy_dataset_compound(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0] = DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tcreate (H5T_COMPOUND, sizeof(comp_t))) < 0) TEST_ERROR - if (H5Tinsert(tid, "int_name", HOFFSET(comp_t, a), H5T_NATIVE_INT) < 0) TEST_ERROR - if (H5Tinsert(tid, "double_name", HOFFSET(comp_t, d), H5T_NATIVE_DOUBLE) < 0) TEST_ERROR + if((tid = H5Tcreate (H5T_COMPOUND, sizeof(comp_t))) < 0) TEST_ERROR + if(H5Tinsert(tid, "int_name", HOFFSET(comp_t, a), H5T_NATIVE_INT) < 0) TEST_ERROR + if(H5Tinsert(tid, "double_name", HOFFSET(comp_t, d), H5T_NATIVE_DOUBLE) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_COMPOUND, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_COMPOUND, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_COMPOUND, fid_dst, NAME_DATASET_COMPOUND, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_COMPOUND, fid_dst, NAME_DATASET_COMPOUND, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_COMPOUND)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_COMPOUND)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_COMPOUND)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_COMPOUND)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -1908,73 +1916,73 @@ test_copy_dataset_chunked(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2028,70 +2036,70 @@ test_copy_dataset_chunked_empty(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2154,7 +2162,7 @@ test_copy_dataset_chunked_sparse(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; @@ -2163,73 +2171,73 @@ test_copy_dataset_chunked_sparse(hid_t fapl) max_dim2d[1]=H5S_UNLIMITED; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, max_dim2d)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, max_dim2d)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* Set extended dataset dimensions */ new_dim2d[0] = DIM_SIZE_1 * 2; new_dim2d[1] = DIM_SIZE_2 * 2; /* Extend dataset's dimensions */ - if ( H5Dextend(did, new_dim2d) < 0) TEST_ERROR + if(H5Dextend(did, new_dim2d) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2295,74 +2303,74 @@ test_copy_dataset_compressed(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create and set comp & chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR - if ( H5Pset_deflate(pid, 9) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR + if(H5Pset_deflate(pid, 9) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); #endif /* H5_HAVE_FILTER_DEFLATE */ @@ -2424,73 +2432,73 @@ test_copy_dataset_compact(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create and set compact plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_COMPACT, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_COMPACT, H5T_NATIVE_FLOAT, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_COMPACT, fid_dst, NAME_DATASET_COMPACT, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_COMPACT, fid_dst, NAME_DATASET_COMPACT, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_COMPACT)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_COMPACT)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_COMPACT)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_COMPACT)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2554,43 +2562,43 @@ test_copy_dataset_external(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* set dataset creation plist */ size = DIM_SIZE_1 * sizeof (int); - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_external(pid, FILE_EXT, (off_t)0, size) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_external(pid, FILE_EXT, (off_t)0, size) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_EXTERNAL, H5T_NATIVE_INT, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_EXTERNAL, H5T_NATIVE_INT, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close external plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Don't change the address in the destination file for this test, it causes the * external file list's heap to be at a different location and generates a false @@ -2599,32 +2607,32 @@ test_copy_dataset_external(hid_t fapl) */ #if 0 /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR #endif /* 0 */ /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_EXTERNAL, fid_dst, NAME_DATASET_EXTERNAL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_EXTERNAL, fid_dst, NAME_DATASET_EXTERNAL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_EXTERNAL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_EXTERNAL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_EXTERNAL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_EXTERNAL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2683,69 +2691,69 @@ test_copy_dataset_named_dtype(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create named datatype */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR - if ( (H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_NAMED_DTYPE, fid_dst, NAME_DATASET_NAMED_DTYPE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_NAMED_DTYPE, fid_dst, NAME_DATASET_NAMED_DTYPE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_NAMED_DTYPE)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_NAMED_DTYPE)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_NAMED_DTYPE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_NAMED_DTYPE)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2805,84 +2813,84 @@ test_copy_dataset_named_dtype_hier(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to place all objects in */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create named datatype _inside_ hierarchy to copy */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR - if ( (H5Tcommit(gid, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((H5Tcommit(gid, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* create first dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* create second dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -2944,84 +2952,84 @@ test_copy_dataset_named_dtype_hier_outside(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to place all objects in */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create named datatype _outside_ hierarchy to copy */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR - if ( (H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* create first dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* create second dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_NAMED_DTYPE2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -3082,80 +3090,80 @@ test_copy_dataset_multi_ohdr_chunks(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to place all objects in */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create first dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* create second dataset at SRC file */ - if ( (did2 = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR2, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did2 = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR2, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* Add attributes to datasets in a way that creates lots of chunks */ - if ( test_copy_attach_paired_attributes(did, did2, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_paired_attributes(did, did2, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the first dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the second dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -3216,87 +3224,87 @@ test_copy_dataset_attr_named_dtype(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to place all objects in */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create named datatype _outside_ hierarchy to copy */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR - if ( (H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* create first dataset at SRC file */ - if ( (did = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* create second dataset at SRC file */ - if ( (did2 = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did2 = H5Dcreate(gid, NAME_DATASET_MULTI_OHDR2, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* Add attributes to datasets in a way that creates lots of chunks */ - if ( test_copy_attach_paired_attributes(did, did2, tid) < 0) TEST_ERROR + if(test_copy_attach_paired_attributes(did, did2, tid) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the first dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the second dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -3361,72 +3369,72 @@ test_copy_dataset_contig_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -3492,79 +3500,79 @@ test_copy_dataset_chunked_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -3629,79 +3637,79 @@ test_copy_dataset_compact_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create and set compact plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -3755,68 +3763,68 @@ test_copy_attribute_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0] = DIM_SIZE_1; dim2d[1] = DIM_SIZE_2; /* create 2D dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create 2D int dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach VL attribute to the dataset */ - if ( test_copy_attach_attribute_vl(did) < 0) TEST_ERROR + if(test_copy_attach_attribute_vl(did) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* Check if the attributes are equal */ - if ( (aid = H5Aopen_idx(did, 0)) < 0) TEST_ERROR - if ( (aid2 = H5Aopen_idx(did2, 0)) < 0) TEST_ERROR - if ( compare_attribute(aid, aid2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR - if ( H5Aclose(aid) < 0) TEST_ERROR - if ( H5Aclose(aid2) < 0) TEST_ERROR + if((aid = H5Aopen_idx(did, 0)) < 0) TEST_ERROR + if((aid2 = H5Aopen_idx(did2, 0)) < 0) TEST_ERROR + if(compare_attribute(aid, aid2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(H5Aclose(aid) < 0) TEST_ERROR + if(H5Aclose(aid2) < 0) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -3890,80 +3898,80 @@ test_copy_dataset_compressed_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create and set comp & chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR - if ( H5Pset_deflate(pid, 9) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 2, chunk_dim2d) < 0) TEST_ERROR + if(H5Pset_deflate(pid, 9) < 0) TEST_ERROR /* create dataset */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_CHUNKED, tid, sid, pid)) < 0) TEST_ERROR /* close chunk plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_CHUNKED, fid_dst, NAME_DATASET_CHUNKED, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_CHUNKED)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, NULL) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); #endif /* H5_HAVE_FILTER_DEFLATE */ @@ -4019,53 +4027,53 @@ test_copy_group_empty(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_EMPTY, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_EMPTY, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_EMPTY, fid_dst, NAME_GROUP_EMPTY, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_EMPTY, fid_dst, NAME_GROUP_EMPTY, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_EMPTY)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_EMPTY)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_EMPTY)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_EMPTY)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4125,78 +4133,78 @@ test_copy_group(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* add a dataset to the group */ - if ( (did = H5Dcreate(fid_src, NAME_GROUP_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_GROUP_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* create a sub-group */ - if ( (gid_sub = H5Gcreate(fid_src, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR + if((gid_sub = H5Gcreate(fid_src, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR if( H5Gclose(gid_sub) < 0) TEST_ERROR /* create another sub-group */ - if ( (gid_sub = H5Gcreate(fid_src, NAME_GROUP_SUB_2, (size_t)0)) < 0) TEST_ERROR + if((gid_sub = H5Gcreate(fid_src, NAME_GROUP_SUB_2, (size_t)0)) < 0) TEST_ERROR if( H5Gclose(gid_sub) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4391,87 +4399,87 @@ test_copy_group_deep(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create nested sub-groups & datasets */ for(i = 0; i < NUM_SUB_GROUPS; i++) { sprintf(objname, "Group #%d", i); - if ( (gid_sub = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR + if((gid_sub = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR for(j = 0; j < NUM_SUB_GROUPS; j++) { sprintf(objname, "Group #%d", j); - if ( (gid_sub2 = H5Gcreate(gid_sub, objname, (size_t)0)) < 0) TEST_ERROR + if((gid_sub2 = H5Gcreate(gid_sub, objname, (size_t)0)) < 0) TEST_ERROR for(k = 0; k < NUM_DATASETS; k++) { sprintf(objname, "Dataset #%d", k); /* add a dataset to the group */ - if ( (did = H5Dcreate(gid_sub2, objname, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR - if ( H5Dclose(did) < 0) TEST_ERROR + if((did = H5Dcreate(gid_sub2, objname, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR } /* end for */ - if( H5Gclose(gid_sub2) < 0) TEST_ERROR + if(H5Gclose(gid_sub2) < 0) TEST_ERROR } /* end for */ - if( H5Gclose(gid_sub) < 0) TEST_ERROR + if(H5Gclose(gid_sub) < 0) TEST_ERROR } /* end for */ /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4522,21 +4530,21 @@ test_copy_group_loop(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* create sub-groups */ - if ( (gid_sub = H5Gcreate(gid, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR + if((gid_sub = H5Gcreate(gid, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR - if ( (gid_sub2 = H5Gcreate(gid, NAME_GROUP_SUB_SUB, (size_t)0)) < 0) TEST_ERROR + if((gid_sub2 = H5Gcreate(gid, NAME_GROUP_SUB_SUB, (size_t)0)) < 0) TEST_ERROR /* Create link to top group */ - if ( H5Glink2(gid, ".", H5L_LINK_HARD, gid_sub2, NAME_GROUP_LOOP) < 0) TEST_ERROR + if(H5Glink2(gid, ".", H5L_TYPE_HARD, gid_sub2, NAME_GROUP_LOOP) < 0) TEST_ERROR /* close sub sub group */ if( H5Gclose(gid_sub2) < 0) TEST_ERROR @@ -4545,44 +4553,44 @@ test_copy_group_loop(hid_t fapl) if( H5Gclose(gid_sub) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4639,31 +4647,31 @@ test_copy_group_wide_loop(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* create wide sub-group hierarchy, with multiple links to higher groups */ for(u = 0; u < NUM_WIDE_LOOP_GROUPS; u++) { sprintf(objname, "%s-%u", NAME_GROUP_SUB, u); - if ( (gid_sub = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR + if((gid_sub = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR for(v = 0; v < NUM_WIDE_LOOP_GROUPS; v++) { sprintf(objname, "%s-%u", NAME_GROUP_SUB_SUB2, v); - if ( (gid_sub2 = H5Gcreate(gid_sub, objname, (size_t)0)) < 0) TEST_ERROR + if((gid_sub2 = H5Gcreate(gid_sub, objname, (size_t)0)) < 0) TEST_ERROR /* Create link to top group */ - if ( H5Glink2(gid, ".", H5L_LINK_HARD, gid_sub2, NAME_GROUP_LOOP) < 0) TEST_ERROR + if(H5Glink2(gid, ".", H5L_TYPE_HARD, gid_sub2, NAME_GROUP_LOOP) < 0) TEST_ERROR /* Create link to sub-group */ - if ( H5Glink2(gid_sub, ".", H5L_LINK_HARD, gid_sub2, NAME_GROUP_LOOP2) < 0) TEST_ERROR + if(H5Glink2(gid_sub, ".", H5L_TYPE_HARD, gid_sub2, NAME_GROUP_LOOP2) < 0) TEST_ERROR /* Create link to self :-) */ - if ( H5Glink2(gid_sub2, ".", H5L_LINK_HARD, gid_sub2, NAME_GROUP_LOOP3) < 0) TEST_ERROR + if(H5Glink2(gid_sub2, ".", H5L_TYPE_HARD, gid_sub2, NAME_GROUP_LOOP3) < 0) TEST_ERROR /* close sub sub group */ if( H5Gclose(gid_sub2) < 0) TEST_ERROR @@ -4674,44 +4682,44 @@ test_copy_group_wide_loop(hid_t fapl) } /* end for */ /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, NAME_GROUP_TOP, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_TOP)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_TOP)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4772,82 +4780,82 @@ test_copy_group_links(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* add a dataset to the group */ - if ( (did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* make a hard link to the dataset */ - if (H5Glink(fid_src, H5L_LINK_HARD, NAME_LINK_DATASET, NAME_LINK_HARD) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_HARD, NAME_LINK_DATASET, NAME_LINK_HARD) < 0) TEST_ERROR /* make a soft link to the dataset */ - if (H5Glink(fid_src, H5L_LINK_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR /* make a soft link to nowhere */ - if (H5Glink(fid_src, H5L_LINK_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR /* make a dangling external link */ - if (H5Lcreate_external("filename", "obj_name", fid_src, NAME_LINK_EXTERN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external("filename", "obj_name", fid_src, NAME_LINK_EXTERN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the group from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_GROUP_LINK, fid_dst, NAME_GROUP_LINK, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_GROUP_LINK, fid_dst, NAME_GROUP_LINK, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the group for copy */ - if ( (gid = H5Gopen(fid_src, NAME_GROUP_LINK)) < 0) TEST_ERROR + if((gid = H5Gopen(fid_src, NAME_GROUP_LINK)) < 0) TEST_ERROR /* open the destination group */ - if ( (gid2 = H5Gopen(fid_dst, NAME_GROUP_LINK)) < 0) TEST_ERROR + if((gid2 = H5Gopen(fid_dst, NAME_GROUP_LINK)) < 0) TEST_ERROR /* Check if the groups are equal */ - if ( compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR + if(compare_groups(gid, gid2, H5P_DEFAULT, -1) != TRUE) TEST_ERROR /* close the destination group */ - if ( H5Gclose(gid2) < 0) TEST_ERROR + if(H5Gclose(gid2) < 0) TEST_ERROR /* close the source group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -4907,73 +4915,73 @@ test_copy_soft_link(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* add a dataset to the group */ - if ( (did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* make a soft link to the dataset */ - if (H5Glink(fid_src, H5L_LINK_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_LINK_SOFT, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_LINK_SOFT, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset through the soft link for copy */ - if ( (did = H5Dopen(fid_src, NAME_LINK_SOFT)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_LINK_SOFT)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -5034,80 +5042,80 @@ test_copy_ext_link(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group at the SRC file */ - if ( (gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR /* attach attributes to the group */ - if ( test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(gid, H5T_NATIVE_INT) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0]=DIM_SIZE_1; dim2d[1]=DIM_SIZE_2; /* create dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* add a dataset to the group */ - if ( (did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_LINK_DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT) ) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* close the dataset */ - if (H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the group */ - if ( H5Gclose(gid) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* create file to hold external links to the src file */ - if ( (fid_ext = H5Fcreate(ext_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_ext = H5Fcreate(ext_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create group in the file that will hold the external link */ - if ( (gid = H5Gcreate(fid_ext, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_ext, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR /* Create an external link to the dataset in the source file */ - if ( H5Lcreate_external(src_filename, NAME_LINK_DATASET, fid_ext, NAME_LINK_EXTERN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Lcreate_external(src_filename, NAME_LINK_DATASET, fid_ext, NAME_LINK_EXTERN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* close the group and file */ - if ( H5Gclose(gid) < 0) TEST_ERROR - if (H5Fclose(fid_ext) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR + if(H5Fclose(fid_ext) < 0) TEST_ERROR /* open the "extern" file with read-only */ - if ( (fid_ext = H5Fopen(ext_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_ext = H5Fopen(ext_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_ext, NAME_LINK_EXTERN, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_ext, NAME_LINK_EXTERN, fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset through the external link */ - if ( (did = H5Dopen(fid_ext, NAME_LINK_EXTERN)) < 0) TEST_ERROR + if((did = H5Dopen(fid_ext, NAME_LINK_EXTERN)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the EXT file */ - if ( H5Fclose(fid_ext) < 0) TEST_ERROR + if(H5Fclose(fid_ext) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -5167,45 +5175,45 @@ test_copy_exist(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0] = DIM_SIZE_1; dim2d[1] = DIM_SIZE_2; /* create 2D dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create 2D int dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_SIMPLE,fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_SIMPLE,fid_dst, NAME_DATASET_SIMPLE, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* try to copy the dataset from SRC to DST again (should fail) */ H5E_BEGIN_TRY { @@ -5214,10 +5222,10 @@ test_copy_exist(hid_t fapl) if( ret >= 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -5276,42 +5284,42 @@ test_copy_path(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim2d[0] = DIM_SIZE_1; dim2d[1] = DIM_SIZE_2; /* create 2D dataspace */ - if ( (sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(2, dim2d, NULL)) < 0) TEST_ERROR /* create 2D int dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_SIMPLE, H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR /* attach attributes to the dataset */ - if ( test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR + if(test_copy_attach_attributes(did, H5T_NATIVE_INT) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST (should fail - intermediate groups not there) */ H5E_BEGIN_TRY { @@ -5320,38 +5328,38 @@ test_copy_path(hid_t fapl) if( ret >= 0) TEST_ERROR /* Create the intermediate groups in destination file */ - if ( (gid = H5Gcreate(fid_dst, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR - if ( H5Gclose(gid) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_dst, NAME_GROUP_TOP, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR - if ( (gid = H5Gcreate(fid_dst, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR - if ( H5Gclose(gid) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_dst, NAME_GROUP_SUB, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR - if ( (gid = H5Gcreate(fid_dst, NAME_GROUP_SUB_SUB, (size_t)0)) < 0) TEST_ERROR - if ( H5Gclose(gid) < 0) TEST_ERROR + if((gid = H5Gcreate(fid_dst, NAME_GROUP_SUB_SUB, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(gid) < 0) TEST_ERROR /* copy the dataset from SRC to DST, using full path */ - if ( H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SUB_SUB, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_SIMPLE, fid_dst, NAME_DATASET_SUB_SUB, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_SIMPLE)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_SUB_SUB)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_SUB_SUB)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR PASSED(); return 0; @@ -5398,32 +5406,32 @@ test_copy_same_file_named_datatype(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create named datatype */ - if ( (H5Tcommit(fid, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid, NAME_DATATYPE_SIMPLE, tid)) < 0) TEST_ERROR /* copy the datatype from SRC to DST */ - if ( H5Gcopy(fid, NAME_DATATYPE_SIMPLE, fid, NAME_DATATYPE_SIMPLE2, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid, NAME_DATATYPE_SIMPLE, fid, NAME_DATATYPE_SIMPLE2, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the copied datatype */ - if ( (tid2 = H5Topen(fid, NAME_DATATYPE_SIMPLE2)) < 0) TEST_ERROR + if((tid2 = H5Topen(fid, NAME_DATATYPE_SIMPLE2)) < 0) TEST_ERROR /* Compare the datatypes */ - if ( H5Tequal(tid, tid2) != TRUE) TEST_ERROR + if(H5Tequal(tid, tid2) != TRUE) TEST_ERROR /* close the destination datatype */ - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close the source datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the file */ - if ( H5Fclose(fid) < 0) TEST_ERROR + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -5508,88 +5516,88 @@ test_copy_dataset_compact_named_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* make a copy of the datatype for later use */ - if ( (tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR + if((tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR /* named data type */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR /* create and set compact plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid_copy) < 0) TEST_ERROR + if(H5Tclose(tid_copy) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -5655,81 +5663,81 @@ test_copy_dataset_contig_named_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* make a copy of the datatype for later use */ - if ( (tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR + if((tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR /* named data type */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid_copy) < 0) TEST_ERROR + if(H5Tclose(tid_copy) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -5796,88 +5804,88 @@ test_copy_dataset_chunked_named_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* make a copy of the datatype for later use */ - if ( (tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR + if((tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR /* named data type */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid_copy) < 0) TEST_ERROR + if(H5Tclose(tid_copy) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -5945,89 +5953,89 @@ test_copy_dataset_compressed_named_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* make a copy of the datatype for later use */ - if ( (tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR + if((tid_copy = H5Tcopy(tid)) < 0)TEST_ERROR /* named data type */ - if ( (H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR + if((H5Tcommit(fid_src, NAME_DATATYPE_VL, tid)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR - if ( H5Pset_deflate(pid, 9) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR + if(H5Pset_deflate(pid, 9) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL, tid, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL, fid_dst, NAME_DATASET_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid_copy, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid_copy) < 0) TEST_ERROR + if(H5Tclose(tid_copy) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -6108,82 +6116,82 @@ test_copy_dataset_compact_vl_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create nested VL datatype */ - if ( (tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR + if((tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR /* create and set compact plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_layout(pid, H5D_COMPACT) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -6263,81 +6271,81 @@ test_copy_dataset_contig_vl_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create nested VL datatype */ - if ( (tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR + if((tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR /* create and set compact plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, H5P_DEFAULT)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, H5P_DEFAULT)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -6417,82 +6425,82 @@ test_copy_dataset_chunked_vl_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create nested VL datatype */ - if ( (tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR + if((tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -6573,83 +6581,83 @@ test_copy_dataset_compressed_vl_vl(hid_t fapl) addr_reset(); /* create source file */ - if ( (fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fcreate(src_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Set dataspace dimensions */ dim1d[0]=DIM_SIZE_1; /* create dataspace */ - if ( (sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR + if((sid = H5Screate_simple(1, dim1d, NULL)) < 0) TEST_ERROR /* create datatype */ - if ( (tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR + if((tid = H5Tvlen_create(H5T_NATIVE_INT)) < 0) TEST_ERROR /* create nested VL datatype */ - if ( (tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR + if((tid2 = H5Tvlen_create(tid)) < 0) TEST_ERROR /* create and set chunk plist */ - if ( (pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR - if ( H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR - if ( H5Pset_deflate(pid, 9) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR + if(H5Pset_chunk(pid, 1, chunk_dim1d) < 0) TEST_ERROR + if(H5Pset_deflate(pid, 9) < 0) TEST_ERROR /* create dataset at SRC file */ - if ( (did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR + if((did = H5Dcreate(fid_src, NAME_DATASET_VL_VL, tid2, sid, pid)) < 0) TEST_ERROR /* write data into file */ - if ( H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close compact plist */ - if ( H5Pclose(pid) < 0) TEST_ERROR + if(H5Pclose(pid) < 0) TEST_ERROR /* close the dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* open the source file with read-only */ - if ( (fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR + if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* copy the dataset from SRC to DST */ - if ( H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + if(H5Gcopy(fid_src, NAME_DATASET_VL_VL, fid_dst, NAME_DATASET_VL_VL, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* open the dataset for copy */ - if ( (did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did = H5Dopen(fid_src, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* open the destination dataset */ - if ( (did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR + if((did2 = H5Dopen(fid_dst, NAME_DATASET_VL_VL)) < 0) TEST_ERROR /* Check if the datasets are equal */ - if ( compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR + if(compare_datasets(did, did2, H5P_DEFAULT, buf) != TRUE) TEST_ERROR /* close the destination dataset */ - if ( H5Dclose(did2) < 0) TEST_ERROR + if(H5Dclose(did2) < 0) TEST_ERROR /* close the source dataset */ - if ( H5Dclose(did) < 0) TEST_ERROR + if(H5Dclose(did) < 0) TEST_ERROR /* close the SRC file */ - if ( H5Fclose(fid_src) < 0) TEST_ERROR + if(H5Fclose(fid_src) < 0) TEST_ERROR /* close the DST file */ - if ( H5Fclose(fid_dst) < 0) TEST_ERROR + if(H5Fclose(fid_dst) < 0) TEST_ERROR /* Reclaim vlen buffer */ - if ( H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR + if(H5Dvlen_reclaim(tid2, sid, H5P_DEFAULT, buf) < 0) TEST_ERROR /* close datatype */ - if ( H5Tclose(tid) < 0) TEST_ERROR - if ( H5Tclose(tid2) < 0) TEST_ERROR + if(H5Tclose(tid) < 0) TEST_ERROR + if(H5Tclose(tid2) < 0) TEST_ERROR /* close dataspace */ - if ( H5Sclose(sid) < 0) TEST_ERROR + if(H5Sclose(sid) < 0) TEST_ERROR PASSED(); return 0; @@ -6768,14 +6776,14 @@ test_copy_option(hid_t fapl, unsigned flag, hbool_t crt_intermediate_grp, const if((flag & H5G_COPY_EXPAND_SOFT_LINK_FLAG) > 0) { /* Create group to copy */ if((gid = H5Gcreate(fid_src, NAME_GROUP_LINK, (size_t)0)) < 0) TEST_ERROR - if(H5Glink(fid_src, H5L_LINK_SOFT, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT) < 0) TEST_ERROR - if(H5Glink(fid_src, H5L_LINK_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR /* Create group to compare with */ if((gid = H5Gcreate(fid_src, NAME_GROUP_LINK2, (size_t)0)) < 0) TEST_ERROR - if(H5Glink(fid_src, H5L_LINK_HARD, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT2) < 0) TEST_ERROR - if(H5Glink(fid_src, H5L_LINK_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE2) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_HARD, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT2) < 0) TEST_ERROR + if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE2) < 0) TEST_ERROR if(H5Gclose(gid) < 0) TEST_ERROR } /* end if */ @@ -6804,29 +6812,27 @@ test_copy_option(hid_t fapl, unsigned flag, hbool_t crt_intermediate_grp, const if((fid_src = H5Fopen(src_filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* create destination file */ - if ( (fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + if((fid_dst = H5Fcreate(dst_filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create an uncopied object in destination file so that addresses in source and destination files aren't the same */ - if ( H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(H5Gcreate(fid_dst, NAME_GROUP_UNCOPIED, (size_t)0)) < 0) TEST_ERROR /* create property to pass copy options */ - if ( (pid = H5Pcreate(H5P_OBJECT_COPY)) < 0) TEST_ERROR + if((pid = H5Pcreate(H5P_OBJECT_COPY)) < 0) TEST_ERROR /* set options for object copy */ - if ( H5Pset_copy_object(pid, flag) < 0) TEST_ERROR + if(H5Pset_copy_object(pid, flag) < 0) TEST_ERROR /* Verify object copy flags */ - if ( H5Pget_copy_object(pid, &cpy_flags) < 0) TEST_ERROR - if ( cpy_flags != flag) TEST_ERROR + if(H5Pget_copy_object(pid, &cpy_flags) < 0) TEST_ERROR + if(cpy_flags != flag) TEST_ERROR /* copy the group from SRC to DST */ if(crt_intermediate_grp) { /* Create link creation plist to pass in intermediate group creation */ if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR -#ifdef H5_GROUP_REVISION if(H5Pset_create_intermediate_group(lcpl_id, TRUE) < 0) TEST_ERROR -#endif /* H5_GROUP_REVISION */ if(H5Gcopy(fid_src, NAME_GROUP_TOP, fid_dst, "/new_g0/new_g00", pid, lcpl_id) < 0) TEST_ERROR @@ -6942,71 +6948,90 @@ main(void) envval = "nomatch"; if(HDstrcmp(envval, "stdio") && HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { - int nerrors = 0; - hid_t fapl; + int nerrors = 0; + hid_t fapl, fapl2; + hbool_t new_format; /* 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_root_group(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); + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + + /* Test with old & new format groups */ + for(new_format = FALSE; new_format <= TRUE; new_format++) { + hid_t my_fapl; + + /* Set the FAPL for the type of format */ + if(new_format) { + puts("\nTesting with new group format:"); + my_fapl = fapl2; + } /* end if */ + else { + puts("Testing with old group format:"); + my_fapl = fapl; + } /* end else */ + + /* The tests... */ + nerrors += test_copy_named_datatype(my_fapl); + nerrors += test_copy_named_datatype_vl(my_fapl); + nerrors += test_copy_named_datatype_vl_vl(my_fapl); + nerrors += test_copy_dataset_simple(my_fapl); + nerrors += test_copy_dataset_simple_empty(my_fapl); + nerrors += test_copy_dataset_compound(my_fapl); + nerrors += test_copy_dataset_chunked(my_fapl); + nerrors += test_copy_dataset_chunked_empty(my_fapl); + nerrors += test_copy_dataset_chunked_sparse(my_fapl); + nerrors += test_copy_dataset_compressed(my_fapl); + nerrors += test_copy_dataset_compact(my_fapl); + nerrors += test_copy_dataset_external(my_fapl); + nerrors += test_copy_dataset_named_dtype(my_fapl); + nerrors += test_copy_dataset_named_dtype_hier(my_fapl); + nerrors += test_copy_dataset_named_dtype_hier_outside(my_fapl); + nerrors += test_copy_dataset_multi_ohdr_chunks(my_fapl); + nerrors += test_copy_dataset_attr_named_dtype(my_fapl); + nerrors += test_copy_dataset_contig_vl(my_fapl); + nerrors += test_copy_dataset_chunked_vl(my_fapl); + nerrors += test_copy_dataset_compact_vl(my_fapl); + nerrors += test_copy_dataset_compressed_vl(my_fapl); + nerrors += test_copy_attribute_vl(my_fapl); + nerrors += test_copy_dataset_compact_named_vl(my_fapl); + nerrors += test_copy_dataset_contig_named_vl(my_fapl); + nerrors += test_copy_dataset_chunked_named_vl(my_fapl); + nerrors += test_copy_dataset_compressed_named_vl(my_fapl); + nerrors += test_copy_dataset_compact_vl_vl(my_fapl); + nerrors += test_copy_dataset_contig_vl_vl(my_fapl); + nerrors += test_copy_dataset_chunked_vl_vl(my_fapl); + nerrors += test_copy_dataset_compressed_vl_vl(my_fapl); + nerrors += test_copy_group_empty(my_fapl); + nerrors += test_copy_root_group(my_fapl); + nerrors += test_copy_group(my_fapl); + nerrors += test_copy_group_deep(my_fapl); + nerrors += test_copy_group_loop(my_fapl); + nerrors += test_copy_group_wide_loop(my_fapl); + nerrors += test_copy_group_links(my_fapl); + nerrors += test_copy_soft_link(my_fapl); #ifndef H5_CANNOT_OPEN_TWICE - nerrors += test_copy_ext_link(fapl); + nerrors += test_copy_ext_link(my_fapl); #endif /* H5_CANNOT_OPEN_TWICE */ - 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"); -#endif - 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"); - nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_REFERENCE_FLAG, FALSE, "H5Gcopy(): expand object reference"); - + nerrors += test_copy_exist(my_fapl); + nerrors += test_copy_path(my_fapl); + nerrors += test_copy_same_file_named_datatype(my_fapl); + nerrors += test_copy_option(my_fapl, H5G_COPY_WITHOUT_ATTR_FLAG, FALSE, "H5Gcopy(): without attributes"); + nerrors += test_copy_option(my_fapl, 0, TRUE, "H5Gcopy(): with missing groups"); + nerrors += test_copy_option(my_fapl, H5G_COPY_EXPAND_SOFT_LINK_FLAG, FALSE, "H5Gcopy(): expand soft link"); + nerrors += test_copy_option(my_fapl, H5G_COPY_SHALLOW_HIERARCHY_FLAG, FALSE, "H5Gcopy(): shallow group copy"); + nerrors += test_copy_option(my_fapl, H5G_COPY_EXPAND_REFERENCE_FLAG, FALSE, "H5Gcopy(): expand object reference"); /* TODO: not implemented - nerrors += test_copy_option(fapl, H5G_COPY_EXPAND_EXT_LINK_FLAG, FALSE, "H5Gcopy: expand external link"); - nerrors += test_copy_mount(fapl); + nerrors += test_copy_option(my_fapl, H5G_COPY_EXPAND_EXT_LINK_FLAG, FALSE, "H5Gcopy: expand external link"); + nerrors += test_copy_mount(my_fapl); */ + } /* end for */ /* Reset file address checking info */ addr_reset(); @@ -7026,5 +7051,8 @@ main(void) puts("All object copying tests skipped - Incompatible with current Virtual File Driver"); return 0; + +error: + return 1; } /* main */ diff --git a/test/stab.c b/test/stab.c index b684f9e..59e2436 100644 --- a/test/stab.c +++ b/test/stab.c @@ -27,13 +27,18 @@ #include "H5HLprivate.h" /* Local Heaps */ const char *FILENAME[] = { - "stab1", - "stab2", + "stab", NULL }; #define NAME_BUF_SIZE 1024 +/* Definitions for 'long' test */ +#define LONG_NAME_LEN 40960 + +/* Definitions for 'large' test */ +#define LARGE_NOBJS 5000 + /* Definitions for 'lifecycle' test */ #define LIFECYCLE_TOP_GROUP "top" #define LIFECYCLE_BOTTOM_GROUP "bottom %u" @@ -80,54 +85,62 @@ const char *FILENAME[] = { * Programmer: Robb Matzke * Tuesday, November 24, 1998 * - * Modifications: - * Robb Matzke, 2002-03-28 - * File is opened by parent instead of here. *------------------------------------------------------------------------- */ static int -test_misc(hid_t file) +test_misc(hid_t fapl, hbool_t new_format) { - hid_t g1=-1, g2=-1, g3=-1; + hid_t fid = (-1); /* File ID */ + hid_t g1 = (-1), g2 = (-1), g3 = (-1); + char filename[NAME_BUF_SIZE]; char comment[64]; - /* Test current working groups */ - TESTING("miscellaneous group tests"); + if(new_format) + TESTING("miscellaneous group tests (w/new group format)") + else + TESTING("miscellaneous group tests") + + /* Create file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create initial groups for testing, then close */ - if ((g1=H5Gcreate(file, "test_1a", 0))<0) goto error; - if ((g2=H5Gcreate(g1, "sub_1", 0))<0) goto error; - if ((g3=H5Gcreate(file, "test_1b", 0))<0) goto error; - if (H5Gset_comment(g3, ".", "hello world")<0) goto error; - if (H5Gclose(g1)<0) goto error; - if (H5Gclose(g2)<0) goto error; - if (H5Gclose(g3)<0) goto error; + if((g1 = H5Gcreate(fid, "test_1a", (size_t)0)) < 0) TEST_ERROR + if((g2 = H5Gcreate(g1, "sub_1", (size_t)0)) < 0) TEST_ERROR + if((g3 = H5Gcreate(fid, "test_1b", (size_t)0)) < 0) TEST_ERROR + if(H5Gset_comment(g3, ".", "hello world") < 0) TEST_ERROR + if(H5Gclose(g1) < 0) TEST_ERROR + if(H5Gclose(g2) < 0) TEST_ERROR + if(H5Gclose(g3) < 0) TEST_ERROR /* Open all groups with absolute names to check for exsistence */ - if ((g1=H5Gopen(file, "/test_1a"))<0) goto error; - if ((g2=H5Gopen(file, "/test_1a/sub_1"))<0) goto error; - if ((g3=H5Gopen(file, "/test_1b"))<0) goto error; - if (H5Gget_comment(g3, "././.", sizeof comment, comment)<0) goto error; - if (strcmp(comment, "hello world")) { + if((g1 = H5Gopen(fid, "/test_1a")) < 0) TEST_ERROR + if((g2 = H5Gopen(fid, "/test_1a/sub_1")) < 0) TEST_ERROR + if((g3 = H5Gopen(fid, "/test_1b")) < 0) TEST_ERROR + if(H5Gget_comment(g3, "././.", sizeof comment, comment) < 0) TEST_ERROR + if(HDstrcmp(comment, "hello world")) { H5_FAILED(); puts(" Read the wrong comment string from the group."); printf(" got: \"%s\"\n ans: \"hello world\"\n", comment); - goto error; + TEST_ERROR } - if (H5Gclose(g1)<0) goto error; - if (H5Gclose(g2)<0) goto error; - if (H5Gclose(g3)<0) goto error; + if(H5Gclose(g1) < 0) TEST_ERROR + if(H5Gclose(g2) < 0) TEST_ERROR + if(H5Gclose(g3) < 0) TEST_ERROR /* Check that creating groups with no-op names isn't allowed */ H5E_BEGIN_TRY { - g1=H5Gcreate(file, "/", 0); + g1 = H5Gcreate(fid, "/", (size_t)0); } H5E_END_TRY - if(g1 >= 0) goto error; + if(g1 >= 0) TEST_ERROR H5E_BEGIN_TRY { - g1=H5Gcreate(file, "./././", 0); + g1 = H5Gcreate(fid, "./././", (size_t)0); } H5E_END_TRY - if(g1 >= 0) goto error; + if(g1 >= 0) TEST_ERROR + + /* Close file */ + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -137,6 +150,7 @@ test_misc(hid_t file) H5Gclose(g1); H5Gclose(g2); H5Gclose(g3); + H5Fclose(fid); } H5E_END_TRY; return 1; } @@ -155,33 +169,45 @@ test_misc(hid_t file) *------------------------------------------------------------------------- */ static int -test_long(hid_t file) +test_long(hid_t fapl, hbool_t new_format) { - hid_t g1=-1, g2=-1; - char *name1=NULL, *name2=NULL; - size_t namesize=40960, i; + hid_t fid = (-1); /* File ID */ + hid_t g1 = (-1), g2 = (-1); + char *name1 = NULL, *name2 = NULL; + char filename[NAME_BUF_SIZE]; + size_t i; - TESTING("long names"); + if(new_format) + TESTING("long names (w/new group format)") + else + TESTING("long names") + + /* Create file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Group names */ - name1 = HDmalloc(namesize); - for (i=0; i<namesize; i++) + name1 = HDmalloc(LONG_NAME_LEN); + for(i = 0; i < LONG_NAME_LEN; i++) name1[i] = (char)('A' + i%26); - name1[namesize-1] = '\0'; - name2 = HDmalloc(2*namesize + 2); + name1[LONG_NAME_LEN - 1] = '\0'; + name2 = HDmalloc((2 * LONG_NAME_LEN) + 2); sprintf(name2, "%s/%s", name1, name1); /* Create groups */ - if ((g1=H5Gcreate(file, name1, 0))<0) goto error; - if ((g2=H5Gcreate(g1, name1, 0))<0) goto error; - H5Gclose(g1); - H5Gclose(g2); + if((g1 = H5Gcreate(fid, name1, (size_t)0)) < 0) TEST_ERROR + if((g2 = H5Gcreate(g1, name1, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(g1) < 0) TEST_ERROR + if(H5Gclose(g2) < 0) TEST_ERROR /* Open groups */ - if ((g1=H5Gopen(file, name1))<0) goto error; - if ((g2=H5Gopen(file, name2))<0) goto error; - H5Gclose(g1); - H5Gclose(g2); + if((g1 = H5Gopen(fid, name1)) < 0) TEST_ERROR + if((g2 = H5Gopen(fid, name2)) < 0) TEST_ERROR + if(H5Gclose(g1) < 0) TEST_ERROR + if(H5Gclose(g2) < 0) TEST_ERROR + + /* Close file */ + if(H5Fclose(fid) < 0) TEST_ERROR /* Release name buffers */ HDfree(name2); @@ -190,17 +216,16 @@ test_long(hid_t file) PASSED(); return 0; - error: +error: H5E_BEGIN_TRY { H5Gclose(g1); H5Gclose(g2); - if(name2) - free(name2); - if(name1) - free(name1); + H5Fclose(fid); + H5MM_xfree(name2); + H5MM_xfree(name1); } H5E_END_TRY; return 1; -} +} /* end test_long() */ /*------------------------------------------------------------------------- @@ -222,29 +247,41 @@ test_long(hid_t file) *------------------------------------------------------------------------- */ static int -test_large(hid_t file) +test_large(hid_t fapl, hbool_t new_format) { - hid_t cwg=-1, dir=-1; - int i; - char name[1024]; - int nsyms = 5000; + hid_t fid = (-1); /* File ID */ + hid_t cwg = (-1), dir = (-1); /* Group IDs */ + char filename[NAME_BUF_SIZE]; + char name[NAME_BUF_SIZE]; + int i; - TESTING("large directories"); + if(new_format) + TESTING("large directories (w/new group format)") + else + TESTING("large directories") + + /* Create file */ + h5_fixname(FILENAME[0], fapl, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* * Create a directory that has so many entries that the root * of the B-tree ends up splitting. */ - if ((cwg=H5Gcreate(file, "/big", (size_t)nsyms*16+2))<0) goto error; - for (i=0; i<nsyms; i++) { - sprintf(name, "%05d%05d", rand()%100000, i); -#if 0 - fprintf(stderr, "%s\n", name); -#endif - if ((dir=H5Gcreate(cwg, name, 0))<0) goto error; - if (H5Gclose(dir)<0) goto error; + if((cwg = H5Gcreate(fid, "/big", (size_t)(LARGE_NOBJS * 16 + 2))) < 0) TEST_ERROR + if(new_format) + if(H5G_has_stab_test(cwg) != FALSE) TEST_ERROR + for(i = 0; i < LARGE_NOBJS; i++) { + sprintf(name, "%05d%05d", (HDrandom() % 100000), i); + if((dir = H5Gcreate(cwg, name, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(dir) < 0) TEST_ERROR } - if (H5Gclose(cwg)<0) goto error; + if(new_format) + if(H5G_is_new_dense_test(cwg) != TRUE) TEST_ERROR + if(H5Gclose(cwg) < 0) TEST_ERROR + + /* Close file */ + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -253,11 +290,11 @@ test_large(hid_t file) H5E_BEGIN_TRY { H5Gclose(dir); H5Gclose(cwg); + H5Fclose(fid); } H5E_END_TRY; return 1; -} +} /* end test_large() */ -#ifdef H5_GROUP_REVISION /*------------------------------------------------------------------------- * Function: lifecycle @@ -282,6 +319,7 @@ lifecycle(hid_t fapl) hid_t gid = (-1); /* Group ID */ hid_t gid2 = (-1); /* Datatype ID */ hid_t gcpl = (-1); /* Group creation property list ID */ + hid_t fapl2 = (-1); /* File access property list ID */ size_t lheap_size_hint; /* Local heap size hint */ unsigned max_compact; /* Maximum # of links to store in group compactly */ unsigned min_dense; /* Minimum # of links to store in group "densely" */ @@ -297,68 +335,74 @@ lifecycle(hid_t fapl) TESTING("group lifecycle"); + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + /* Create file */ - h5_fixname(FILENAME[1], fapl, filename, sizeof(filename)); - if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR; + h5_fixname(FILENAME[0], fapl2, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl2)) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Get size of file as empty */ - if((empty_size = h5_get_file_size(filename)) == 0) TEST_ERROR; + if((empty_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Re-open file */ - if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR; + if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl2)) < 0) TEST_ERROR /* Set up group creation property list */ - if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR; + if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR /* Query default group creation property settings */ - if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR; - if(lheap_size_hint != H5G_CRT_GINFO_LHEAP_SIZE_HINT) TEST_ERROR; - if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != H5G_CRT_GINFO_MAX_COMPACT) TEST_ERROR; - if(min_dense != H5G_CRT_GINFO_MIN_DENSE) TEST_ERROR; - if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR; - if(est_num_entries != H5G_CRT_GINFO_EST_NUM_ENTRIES) TEST_ERROR; - if(est_name_len != H5G_CRT_GINFO_EST_NAME_LEN) TEST_ERROR; + if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR + if(lheap_size_hint != H5G_CRT_GINFO_LHEAP_SIZE_HINT) TEST_ERROR + if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != H5G_CRT_GINFO_MAX_COMPACT) TEST_ERROR + if(min_dense != H5G_CRT_GINFO_MIN_DENSE) TEST_ERROR + if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR + if(est_num_entries != H5G_CRT_GINFO_EST_NUM_ENTRIES) TEST_ERROR + if(est_name_len != H5G_CRT_GINFO_EST_NAME_LEN) TEST_ERROR /* Set GCPL parameters */ - if(H5Pset_local_heap_size_hint(gcpl, LIFECYCLE_LOCAL_HEAP_SIZE_HINT) < 0) TEST_ERROR; - if(H5Pset_link_phase_change(gcpl, LIFECYCLE_MAX_COMPACT, LIFECYCLE_MIN_DENSE) < 0) TEST_ERROR; - if(H5Pset_est_link_info(gcpl, LIFECYCLE_EST_NUM_ENTRIES, LIFECYCLE_EST_NAME_LEN) < 0) TEST_ERROR; + if(H5Pset_local_heap_size_hint(gcpl, (size_t)LIFECYCLE_LOCAL_HEAP_SIZE_HINT) < 0) TEST_ERROR + if(H5Pset_link_phase_change(gcpl, LIFECYCLE_MAX_COMPACT, LIFECYCLE_MIN_DENSE) < 0) TEST_ERROR + 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, H5P_DEFAULT)) < 0) TEST_ERROR /* Query group creation property settings */ - if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR; - if(lheap_size_hint != LIFECYCLE_LOCAL_HEAP_SIZE_HINT) TEST_ERROR; - if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != LIFECYCLE_MAX_COMPACT) TEST_ERROR; - if(min_dense != LIFECYCLE_MIN_DENSE) TEST_ERROR; - if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR; - if(est_num_entries != LIFECYCLE_EST_NUM_ENTRIES) TEST_ERROR; - if(est_name_len != LIFECYCLE_EST_NAME_LEN) TEST_ERROR; + if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR + if(lheap_size_hint != LIFECYCLE_LOCAL_HEAP_SIZE_HINT) TEST_ERROR + if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != LIFECYCLE_MAX_COMPACT) TEST_ERROR + if(min_dense != LIFECYCLE_MIN_DENSE) TEST_ERROR + if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR + if(est_num_entries != LIFECYCLE_EST_NUM_ENTRIES) TEST_ERROR + if(est_name_len != LIFECYCLE_EST_NAME_LEN) TEST_ERROR /* Use internal testing routine to check that the group has no links or symbol table */ - if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Create first "bottom" group */ sprintf(objname, LIFECYCLE_BOTTOM_GROUP, (unsigned)0); if((gid2 = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Check on bottom group's status */ - if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR /* Close bottom group */ if(H5Gclose(gid2) < 0) TEST_ERROR /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != 1) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != 1) TEST_ERROR /* Create several more bottom groups, to push the top group almost to a symbol table */ /* (Start counting at '1', since we've already created one bottom group */ @@ -367,55 +411,54 @@ lifecycle(hid_t fapl) if((gid2 = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Check on bottom group's status */ - if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR /* Close bottom group */ if(H5Gclose(gid2) < 0) TEST_ERROR } /* end for */ /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != LIFECYCLE_MAX_COMPACT) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != LIFECYCLE_MAX_COMPACT) TEST_ERROR + if(H5G_is_new_dense_test(gid) != FALSE) TEST_ERROR /* Check that the object header is only one chunk and the space has been allocated correctly */ - if(H5Gget_objinfo(gid, ".", FALSE, &obj_stat) < 0) TEST_ERROR; + if(H5Gget_objinfo(gid, ".", FALSE, &obj_stat) < 0) TEST_ERROR #ifdef H5_HAVE_LARGE_HSIZET - if(obj_stat.ohdr.size != 232) TEST_ERROR; + if(obj_stat.ohdr.size != 240) TEST_ERROR #else /* H5_HAVE_LARGE_HSIZET */ - if(obj_stat.ohdr.size != 224) TEST_ERROR; + if(obj_stat.ohdr.size != 232) TEST_ERROR #endif /* H5_HAVE_LARGE_HSIZET */ - if(obj_stat.ohdr.free != 0) TEST_ERROR; - if(obj_stat.ohdr.nmesgs != 6) TEST_ERROR; - if(obj_stat.ohdr.nchunks != 1) TEST_ERROR; + if(obj_stat.ohdr.free != 0) TEST_ERROR + if(obj_stat.ohdr.nmesgs != 6) TEST_ERROR + if(obj_stat.ohdr.nchunks != 1) TEST_ERROR /* Create one more "bottom" group, which should push top group into using a symbol table */ sprintf(objname, LIFECYCLE_BOTTOM_GROUP, u); if((gid2 = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Check on bottom group's status */ - if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR /* Close bottom group */ if(H5Gclose(gid2) < 0) TEST_ERROR /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; - if(H5G_lheap_size_test(gid, &lheap_size_hint) < 0) TEST_ERROR; - if(lheap_size_hint != LIFECYCLE_LOCAL_HEAP_SIZE_HINT) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Check that the object header is still one chunk and the space has been allocated correctly */ - if(H5Gget_objinfo(gid, ".", FALSE, &obj_stat) < 0) TEST_ERROR; + if(H5Gget_objinfo(gid, ".", FALSE, &obj_stat) < 0) TEST_ERROR #ifdef H5_HAVE_LARGE_HSIZET - if(obj_stat.ohdr.size != 232) TEST_ERROR; + if(obj_stat.ohdr.size != 240) TEST_ERROR #else /* H5_HAVE_LARGE_HSIZET */ - if(obj_stat.ohdr.size != 224) TEST_ERROR; + if(obj_stat.ohdr.size != 232) TEST_ERROR #endif /* H5_HAVE_LARGE_HSIZET */ - if(obj_stat.ohdr.free != 136) TEST_ERROR; - if(obj_stat.ohdr.nmesgs != 4) TEST_ERROR; - if(obj_stat.ohdr.nchunks != 1) TEST_ERROR; + if(obj_stat.ohdr.free != 128) TEST_ERROR + if(obj_stat.ohdr.nmesgs != 3) TEST_ERROR + if(obj_stat.ohdr.nchunks != 1) TEST_ERROR /* Unlink objects from top group */ while(u >= LIFECYCLE_MIN_DENSE) { @@ -427,9 +470,9 @@ lifecycle(hid_t fapl) } /* end while */ /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Unlink one more object from the group, which should transform back to using links */ sprintf(objname, LIFECYCLE_BOTTOM_GROUP, u); @@ -437,9 +480,9 @@ lifecycle(hid_t fapl) u--; /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR; - if(nmsgs != (LIFECYCLE_MIN_DENSE - 1)) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, &nmsgs) != TRUE) TEST_ERROR + if(nmsgs != (LIFECYCLE_MIN_DENSE - 1)) TEST_ERROR /* Unlink last two objects from top group */ sprintf(objname, LIFECYCLE_BOTTOM_GROUP, u); @@ -449,25 +492,28 @@ lifecycle(hid_t fapl) if(H5Gunlink(gid, objname) < 0) TEST_ERROR /* Check on top group's status */ - if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Close top group */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Unlink top group */ if(H5Gunlink(fid, LIFECYCLE_TOP_GROUP) < 0) TEST_ERROR /* Close GCPL */ - if(H5Pclose(gcpl) < 0) TEST_ERROR; + if(H5Pclose(gcpl) < 0) TEST_ERROR + + /* Close FAPL copy */ + if(H5Pclose(fapl2) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Get size of file as empty */ - if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR; + if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Verify that file is correct size */ - if(file_size != empty_size) TEST_ERROR; + if(file_size != empty_size) TEST_ERROR PASSED(); @@ -475,6 +521,7 @@ lifecycle(hid_t fapl) error: H5E_BEGIN_TRY { + H5Pclose(fapl2); H5Gclose(gcpl); H5Gclose(gid2); H5Gclose(gid); @@ -505,6 +552,7 @@ long_compact(hid_t fapl) hid_t fid = (-1); /* File ID */ hid_t gid = (-1); /* Group ID */ hid_t gid2 = (-1); /* Group ID */ + hid_t fapl2 = (-1); /* File access property list ID */ char *objname; /* Object name */ char filename[NAME_BUF_SIZE]; off_t empty_size; /* Size of an empty file */ @@ -512,9 +560,15 @@ long_compact(hid_t fapl) TESTING("long link names in compact groups"); + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + /* Create file */ - h5_fixname(FILENAME[1], fapl, filename, sizeof(filename)); - if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR + h5_fixname(FILENAME[0], fapl2, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl2)) < 0) TEST_ERROR /* Close file */ if(H5Fclose(fid) < 0) TEST_ERROR @@ -523,17 +577,17 @@ long_compact(hid_t fapl) if((empty_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Construct very long object name template */ - if((objname = HDmalloc(LONG_COMPACT_LENGTH+1)) == NULL) TEST_ERROR - HDmemset(objname, 'a', LONG_COMPACT_LENGTH); + if((objname = HDmalloc((size_t)(LONG_COMPACT_LENGTH + 1))) == NULL) TEST_ERROR + HDmemset(objname, 'a', (size_t)LONG_COMPACT_LENGTH); objname[LONG_COMPACT_LENGTH] = '\0'; /* Re-open file */ - if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR + if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl2)) < 0) TEST_ERROR /* Create top group */ if((gid = H5Gcreate(fid, "top", (size_t)0)) < 0) TEST_ERROR - /* Use internal testing routine to check that the group has no links or symbol table */ + /* Use internal testing routine to check that the group has no links or dense storage */ if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Create first group with "long" name */ @@ -546,43 +600,43 @@ long_compact(hid_t fapl) if(H5Gclose(gid2) < 0) TEST_ERROR /* Check on top group's status */ - /* (Should have symbol table to hold links, since name is too long for object header message) */ + /* (Should have dense storage to hold links, since name is too long for object header message) */ if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Create second group with "long" name */ objname[0] = 'b'; if((gid2 = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Check on bottom group's status */ - if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR /* Close bottom group */ if(H5Gclose(gid2) < 0) TEST_ERROR /* Check on top group's status */ - /* (Should have symbol table to hold links, since name is too long for object header message) */ + /* (Should have dense storage to hold links, since name is too long for object header message) */ if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Unlink second object from top group */ if(H5Gunlink(gid, objname) < 0) TEST_ERROR /* Check on top group's status */ - /* (Should still be symbol table to hold links, since name is too long for object header message) */ + /* (Should still be dense storage to hold links, since name is too long for object header message) */ if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Unlink first object from top group */ objname[0] = 'a'; if(H5Gunlink(gid, objname) < 0) TEST_ERROR /* Check on top group's status */ - /* (Should have deleted the symbol table now) */ - if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR; + /* (Should have deleted the dense storage now) */ + if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Free object name */ HDfree(objname); @@ -593,20 +647,24 @@ long_compact(hid_t fapl) /* Unlink top group */ if(H5Gunlink(fid, "top") < 0) TEST_ERROR + /* Close FAPL copy */ + if(H5Pclose(fapl2) < 0) TEST_ERROR + /* Close file */ if(H5Fclose(fid) < 0) TEST_ERROR /* Get size of file as empty */ - if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR; + if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Verify that file is correct size */ - if(file_size != empty_size) TEST_ERROR; + if(file_size != empty_size) TEST_ERROR PASSED(); return 0; error: H5E_BEGIN_TRY { + H5Pclose(fapl2); H5Gclose(gid2); H5Gclose(gid); H5Fclose(fid); @@ -641,7 +699,7 @@ read_old(hid_t fapl) char objname[NAME_BUF_SIZE]; /* Object name */ unsigned u; /* Local index variable */ char *srcdir = HDgetenv("srcdir"); /* where the src code is located */ - char filename[512]=""; /* old test file name */ + char filename[512] = ""; /* old test file name */ char filename2[NAME_BUF_SIZE]; /* copy of old test file */ TESTING("reading old groups"); @@ -654,7 +712,7 @@ read_old(hid_t fapl) HDstrcat(filename, FILE_OLD_GROUPS); /* Create filename */ - h5_fixname(FILENAME[1], fapl, filename2, sizeof(filename2)); + h5_fixname(FILENAME[0], fapl, filename2, sizeof(filename2)); /* Copy old file into temporary file */ if((fd_old = HDopen(filename, O_RDONLY, 0666)) < 0) TEST_ERROR @@ -676,7 +734,7 @@ read_old(hid_t fapl) if((gid = H5Gopen(fid, "old")) < 0) TEST_ERROR /* Check on old group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_is_empty_test(gid) == FALSE) TEST_ERROR if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR @@ -705,16 +763,16 @@ read_old(hid_t fapl) } /* end for */ /* Check on old group's status */ - /* (Should stay in old "symbol table" form) */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + /* (Should stay in old "symbol table" form, but have no links) */ + if(H5G_is_empty_test(gid) == FALSE) TEST_ERROR if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR /* Close old group */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Close first file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid)<0) TEST_ERROR PASSED(); return 0; @@ -750,93 +808,95 @@ no_compact(hid_t fapl) hid_t gid = (-1); /* Group ID */ hid_t gid2 = (-1); /* Datatype ID */ hid_t gcpl = (-1); /* Group creation property list ID */ + hid_t fapl2 = (-1); /* File access property list ID */ char objname[NAME_BUF_SIZE]; /* Object name */ char filename[NAME_BUF_SIZE]; off_t empty_size; /* Size of an empty file */ off_t file_size; /* Size of each file created */ - size_t lheap_size_hint; /* Local heap size */ - size_t def_lheap_size; /* Default local heap size */ unsigned est_num_entries; /* Estimated # of entries in group */ unsigned est_name_len; /* Estimated length of entry name */ TESTING("group without compact form"); + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + /* Create file */ - h5_fixname(FILENAME[1], fapl, filename, sizeof(filename)); - if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR; + h5_fixname(FILENAME[0], fapl2, filename, sizeof(filename)); + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl2)) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Get size of file as empty */ - if((empty_size = h5_get_file_size(filename)) == 0) TEST_ERROR; + if((empty_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Re-open file */ - if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR; + if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl2)) < 0) TEST_ERROR /* Set up group creation property list */ - if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR; + if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR /* Set GCPL parameters */ - if(H5Pset_link_phase_change(gcpl, NO_COMPACT_MAX_COMPACT, NO_COMPACT_MIN_DENSE) < 0) TEST_ERROR; + if(H5Pset_link_phase_change(gcpl, NO_COMPACT_MAX_COMPACT, NO_COMPACT_MIN_DENSE) < 0) TEST_ERROR - /* Check information for default local heap creation */ - if(H5Pget_local_heap_size_hint(gcpl, &lheap_size_hint) < 0) TEST_ERROR; - if(lheap_size_hint != H5G_CRT_GINFO_LHEAP_SIZE_HINT) TEST_ERROR; - if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR; - if(est_num_entries != H5G_CRT_GINFO_EST_NUM_ENTRIES) TEST_ERROR; - if(est_name_len != H5G_CRT_GINFO_EST_NAME_LEN) TEST_ERROR; + /* Check information for default group creation */ + if(H5Pget_est_link_info(gcpl, &est_num_entries, &est_name_len) < 0) TEST_ERROR + if(est_num_entries != H5G_CRT_GINFO_EST_NUM_ENTRIES) TEST_ERROR + if(est_name_len != H5G_CRT_GINFO_EST_NAME_LEN) TEST_ERROR - /* Create group for testing lifecycle */ + /* Create group for testing no compact form */ if((gid = H5Gcreate_expand(fid, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR if((H5Llink(fid, NO_COMPACT_TOP_GROUP, gid, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR /* Close GCPL */ - if(H5Pclose(gcpl) < 0) TEST_ERROR; + if(H5Pclose(gcpl) < 0) TEST_ERROR - /* Use internal testing routine to check that the group has no links or symbol table */ - if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR; + /* Use internal testing routine to check that the group has no links or dense storage */ + if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Create first "bottom" group */ sprintf(objname, NO_COMPACT_BOTTOM_GROUP, (unsigned)0); if((gid2 = H5Gcreate(gid, objname, (size_t)0)) < 0) TEST_ERROR /* Check on bottom group's status */ - if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid2) != TRUE) TEST_ERROR /* Close bottom group */ if(H5Gclose(gid2) < 0) TEST_ERROR /* Check on top group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; - if(H5G_lheap_size_test(gid, &lheap_size_hint) < 0) TEST_ERROR; - def_lheap_size = est_num_entries * (est_name_len + 1); - def_lheap_size = H5HL_ALIGN(def_lheap_size); - if(lheap_size_hint != def_lheap_size) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Unlink object from top group */ sprintf(objname, NO_COMPACT_BOTTOM_GROUP, (unsigned)0); if(H5Gunlink(gid, objname) < 0) TEST_ERROR /* Check on top group's status */ - if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) != TRUE) TEST_ERROR /* Close top group */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Unlink top group */ if(H5Gunlink(fid, NO_COMPACT_TOP_GROUP) < 0) TEST_ERROR + /* Close FAPL copy */ + if(H5Pclose(fapl2) < 0) TEST_ERROR + /* Close file */ - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR /* Get size of file as empty */ - if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR; + if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Verify that file is correct size */ - if(file_size != empty_size) TEST_ERROR; + if(file_size != empty_size) TEST_ERROR PASSED(); @@ -844,6 +904,7 @@ no_compact(hid_t fapl) error: H5E_BEGIN_TRY { + H5Pclose(fapl2); H5Gclose(gcpl); H5Gclose(gid2); H5Gclose(gid); @@ -874,6 +935,7 @@ gcpl_on_root(hid_t fapl) hid_t gid = (-1); /* Group ID */ hid_t gid2 = (-1); /* Datatype ID */ hid_t fcpl = (-1); /* File creation property list ID */ + hid_t fapl2 = (-1); /* File access 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 */ @@ -882,40 +944,46 @@ gcpl_on_root(hid_t fapl) TESTING("setting root group creation properties"); + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + /* Create file */ - h5_fixname(FILENAME[1], fapl, filename, sizeof(filename)); + h5_fixname(FILENAME[0], fapl2, filename, sizeof(filename)); /* Set up file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) TEST_ERROR; + if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) TEST_ERROR /* Set GCPL parameters */ - if(H5Pset_link_phase_change(fcpl, GCPL_ON_ROOT_MAX_COMPACT, GCPL_ON_ROOT_MIN_DENSE) < 0) TEST_ERROR; + if(H5Pset_link_phase_change(fcpl, GCPL_ON_ROOT_MAX_COMPACT, GCPL_ON_ROOT_MIN_DENSE) < 0) TEST_ERROR /* Query the group creation properties from the FCPL */ - if(H5Pget_link_phase_change(fcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR; - if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR; + if(H5Pget_link_phase_change(fcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR + if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR /* Create file with modified root group creation properties */ - if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) TEST_ERROR; + if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl2)) < 0) TEST_ERROR /* Close FCPL */ - if(H5Pclose(fcpl) < 0) TEST_ERROR; + if(H5Pclose(fcpl) < 0) TEST_ERROR /* Open the root group */ - if((gid = H5Gopen(fid, "/")) < 0) TEST_ERROR; + if((gid = H5Gopen(fid, "/")) < 0) TEST_ERROR /* Query the group creation properties */ - if((gcpl = H5Gget_create_plist(gid)) < 0) TEST_ERROR; - if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR; - if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR; + if((gcpl = H5Gget_create_plist(gid)) < 0) TEST_ERROR + if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR + if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR /* Close GCPL */ - if(H5Pclose(gcpl) < 0) TEST_ERROR; + if(H5Pclose(gcpl) < 0) TEST_ERROR /* Create a link creation property list, with intermediate group creation set */ - if((lcpl = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR; + if((lcpl = H5Pcreate(H5P_LINK_CREATE)) < 0) TEST_ERROR if(H5Pset_create_intermediate_group(lcpl, TRUE) < 0) TEST_ERROR /* Create a group and intermediate groups, to check if root group settings are inherited */ @@ -923,40 +991,43 @@ gcpl_on_root(hid_t fapl) if((H5Llink(fid, GCPL_ON_ROOT_BOTTOM_GROUP, gid2, lcpl, H5P_DEFAULT)) < 0) TEST_ERROR /* Close LCPL */ - if(H5Pclose(lcpl) < 0) TEST_ERROR; + if(H5Pclose(lcpl) < 0) TEST_ERROR /* Query the group creation properties */ - if((gcpl = H5Gget_create_plist(gid2)) < 0) TEST_ERROR; - if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != H5G_CRT_GINFO_MAX_COMPACT) TEST_ERROR; - if(min_dense != H5G_CRT_GINFO_MIN_DENSE) TEST_ERROR; + if((gcpl = H5Gget_create_plist(gid2)) < 0) TEST_ERROR + if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != H5G_CRT_GINFO_MAX_COMPACT) TEST_ERROR + if(min_dense != H5G_CRT_GINFO_MIN_DENSE) TEST_ERROR /* Close GCPL */ - if(H5Pclose(gcpl) < 0) TEST_ERROR; + if(H5Pclose(gcpl) < 0) TEST_ERROR /* Close bottom group */ - if(H5Gclose(gid2) < 0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR /* Open the middle group */ - if((gid2 = H5Gopen(fid, GCPL_ON_ROOT_MIDDLE_GROUP)) < 0) TEST_ERROR; + if((gid2 = H5Gopen(fid, GCPL_ON_ROOT_MIDDLE_GROUP)) < 0) TEST_ERROR /* Query the group creation properties */ - if((gcpl = H5Gget_create_plist(gid2)) < 0) TEST_ERROR; - if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR; - if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR; - if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR; + if((gcpl = H5Gget_create_plist(gid2)) < 0) TEST_ERROR + if(H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) TEST_ERROR + if(max_compact != GCPL_ON_ROOT_MAX_COMPACT) TEST_ERROR + if(min_dense != GCPL_ON_ROOT_MIN_DENSE) TEST_ERROR /* Close GCPL */ - if(H5Pclose(gcpl) < 0) TEST_ERROR; + if(H5Pclose(gcpl) < 0) TEST_ERROR /* Close bottom group */ - if(H5Gclose(gid2) < 0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR /* Close root group */ - if(H5Gclose(gid) < 0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR + + /* Close FAPL copy */ + if(H5Pclose(fapl2) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(fid) < 0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); @@ -968,12 +1039,12 @@ error: H5Gclose(gcpl); H5Gclose(gid2); H5Gclose(gid); + H5Pclose(fapl2); H5Gclose(fcpl); H5Fclose(fid); } H5E_END_TRY; return 1; } /* end gcpl_on_root() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -995,60 +1066,58 @@ error: int main(void) { - hid_t fapl, fcpl, file; - int nerrors=0; - char filename[1024]; const char *envval = NULL; /* Don't run this test using the split file driver */ envval = HDgetenv("HDF5_DRIVER"); - if (envval == NULL) + if(envval == NULL) envval = "nomatch"; - if (HDstrcmp(envval, "split")) { + if(HDstrcmp(envval, "split")) { + hid_t fapl, fapl2; /* File access property list IDs */ + int nerrors = 0; + /* 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); -#endif - - /* 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); -#ifdef H5_GROUP_REVISION + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + + /* Perform basic tests, with old & new style groups */ + nerrors += test_misc(fapl, FALSE); /* with old-style group */ + nerrors += test_misc(fapl2, TRUE); /* with new-style group */ + nerrors += test_long(fapl, FALSE); /* with old-style group */ + nerrors += test_long(fapl2, TRUE); /* with new-style group */ + nerrors += test_large(fapl, FALSE); /* with old-style group */ + nerrors += test_large(fapl2, TRUE); /* with new-style group */ + + /* New format group specific tests (require new format features) */ 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; + + /* Close 2nd FAPL */ + H5Pclose(fapl2); + + /* Check for test errors */ + if(nerrors) + goto error; /* Cleanup */ - H5Fclose(file); puts("All symbol table tests passed."); h5_cleanup(FILENAME, fapl); - } + } /* end if */ 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/tattr.c b/test/tattr.c index 5bb9947..b6514b7 100644 --- a/test/tattr.c +++ b/test/tattr.c @@ -459,7 +459,6 @@ test_attr_flush(void) CHECK(ret, FAIL, "H5Fclose"); } /* test_attr_flush() */ -#ifdef H5_GROUP_REVISION /**************************************************************** ** ** test_attr_plist(): Test Attribute Creation Property Lists @@ -571,7 +570,6 @@ test_attr_plist(void) ret=H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); } /* test_attr_plist() */ -#endif /* H5_GROUP_REVISION */ /**************************************************************** ** @@ -1686,9 +1684,7 @@ test_attr(void) test_attr_flush(); /* Test H5A I/O in the presence of H5Fflush calls */ /* This next test uses the same file information */ -#ifdef H5_GROUP_REVISION test_attr_plist(); /* Test attribute property lists */ -#endif /* H5_GROUP_REVISION */ /* These next two tests use the same file information */ test_attr_compound_write(); /* Test complex datatype H5A writing code */ diff --git a/test/tfile.c b/test/tfile.c index 4c6e845..ebc666d 100644 --- a/test/tfile.c +++ b/test/tfile.c @@ -1221,12 +1221,12 @@ test_file_freespace(void) CHECK(dcpl, FAIL, "H5Pcreate"); /* Set the space allocation time to early */ - ret = H5Pset_alloc_time(dcpl,H5D_ALLOC_TIME_EARLY); + ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY); CHECK(ret, FAIL, "H5Pset_alloc_time"); /* Create datasets in file */ - for(u=0; u<10; u++) { - sprintf(name,"Dataset %u",u); + for(u = 0; u < 10; u++) { + sprintf(name, "Dataset %u", u); dset = H5Dcreate(file, name, H5T_STD_U32LE, dspace, dcpl); CHECK(dset, FAIL, "H5Dcreate"); @@ -1239,22 +1239,21 @@ test_file_freespace(void) CHECK(ret, FAIL, "H5Sclose"); /* Close dataset creation property list */ - ret=H5Pclose(dcpl); + ret = H5Pclose(dcpl); CHECK(ret, FAIL, "H5Pclose"); -#ifdef H5_GROUP_REVISION /* Check that there is the right amount of free space in the file */ free_space = H5Fget_freespace(file); CHECK(free_space, FAIL, "H5Fget_freespace"); #ifdef H5_HAVE_LARGE_HSIZET - VERIFY(free_space, 420, "H5Fget_freespace"); + VERIFY(free_space, 2368, "H5Fget_freespace"); #else /* H5_HAVE_LARGE_HSIZET */ - VERIFY(free_space, 588, "H5Fget_freespace"); + VERIFY(free_space, 588, "H5Fget_freespace"); /* XXX: fix me */ #endif /* H5_HAVE_LARGE_HSIZET */ /* Delete datasets in file */ - for(u=0; u<10; u++) { - sprintf(name,"Dataset %u",u); + for(u = 0; u < 10; u++) { + sprintf(name, "Dataset %u", u); ret = H5Gunlink(file, name); CHECK(ret, FAIL, "H5Gunlink"); } /* end for */ @@ -1263,16 +1262,14 @@ test_file_freespace(void) free_space = H5Fget_freespace(file); CHECK(free_space, FAIL, "H5Fget_freespace"); #ifdef H5_HAVE_LARGE_HSIZET - VERIFY(free_space, 4628, "H5Fget_freespace"); + VERIFY(free_space, 5512, "H5Fget_freespace"); #else /* H5_HAVE_LARGE_HSIZET */ - VERIFY(free_space, 4592, "H5Fget_freespace"); + VERIFY(free_space, 4592, "H5Fget_freespace"); /* XXX: fix me */ #endif /* H5_HAVE_LARGE_HSIZET */ -#endif /* H5_GROUP_REVISION */ /* Close file */ ret = H5Fclose(file); CHECK(ret, FAIL, "H5Fclose"); - } /* end test_file_freespace() */ /**************************************************************** diff --git a/test/titerate.c b/test/titerate.c index 4850db0..3241901 100644 --- a/test/titerate.c +++ b/test/titerate.c @@ -46,7 +46,8 @@ typedef enum { RET_ZERO, RET_TWO, - RET_CHANGE + RET_CHANGE, + RET_CHANGE2 } iter_enum; /* Custom group iteration callback data */ @@ -70,7 +71,7 @@ herr_t aiter_cb(hid_t loc_id, const char *name, void *op_data); ****************************************************************/ int iter_strcmp(const void *s1, const void *s2) { - return(strcmp(*(const char * const *)s1,*(const char * const *)s2)); + return(HDstrcmp(*(const char * const *)s1,*(const char * const *)s2)); } /**************************************************************** @@ -80,10 +81,11 @@ int iter_strcmp(const void *s1, const void *s2) ****************************************************************/ herr_t giter_cb(hid_t UNUSED group, const char *name, void *op_data) { - iter_info *info=(iter_info *)op_data; - static int count=0; + iter_info *info = (iter_info *)op_data; + static int count = 0; + static int count2 = 0; - strcpy(info->name,name); + HDstrcpy(info->name, name); switch(info->command) { case RET_ZERO: @@ -94,20 +96,24 @@ herr_t giter_cb(hid_t UNUSED group, const char *name, void *op_data) case RET_CHANGE: count++; - return(count>10 ? 1: 0); + return(count > 10 ? 1 : 0); + + case RET_CHANGE2: + count2++; + return(count2 > 10 ? 1 : 0); default: printf("invalid iteration command"); return(-1); } /* end switch */ -} +} /* end giter_cb() */ /**************************************************************** ** ** test_iter_group(): Test group iteration functionality ** ****************************************************************/ -static void test_iter_group(void) +static void test_iter_group(hid_t fapl, hbool_t new_format) { hid_t file; /* File ID */ hid_t dataset; /* Dataset ID */ @@ -117,7 +123,7 @@ static void test_iter_group(void) int i; /* counting variable */ int idx; /* Index in the group */ char name[NAMELEN]; /* temporary name buffer */ - char *dnames[NDATASETS];/* Names of the datasets created */ + char *lnames[NDATASETS + 2];/* Names of the links created */ char dataset_name[NAMELEN]; /* dataset name */ iter_info info; /* Custom iteration information */ hsize_t num_membs; /* Number of group members */ @@ -127,7 +133,7 @@ static void test_iter_group(void) MESSAGE(5, ("Testing Group Iteration Functionality\n")); /* Create the test file with the datasets */ - file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); CHECK(file, FAIL, "H5Fcreate"); /* Test iterating over empty group */ @@ -148,12 +154,12 @@ static void test_iter_group(void) CHECK(dataset, FAIL, "H5Dcreate"); /* Keep a copy of the dataset names around for later */ - dnames[i]=HDstrdup(name); - CHECK(dnames[i], NULL, "strdup"); + lnames[i] = HDstrdup(name); + CHECK(lnames[i], NULL, "strdup"); - ret=H5Dclose(dataset); + ret = H5Dclose(dataset); CHECK(ret, FAIL, "H5Dclose"); - } + } /* end for */ /* Create a group and named datatype under root group for testing * H5Gget_objtype_by_idx. @@ -161,9 +167,15 @@ static void test_iter_group(void) grp = H5Gcreate(file, "grp", 0); CHECK(ret, FAIL, "H5Gcreate"); + lnames[NDATASETS] = HDstrdup("grp"); + CHECK(lnames[NDATASETS], NULL, "strdup"); + ret = H5Tcommit(file, "dtype", datatype); CHECK(ret, FAIL, "H5Tcommit"); + lnames[NDATASETS + 1] = HDstrdup("dtype"); + CHECK(lnames[NDATASETS], NULL, "strdup"); + /* Close everything up */ ret=H5Tclose(datatype); CHECK(ret, FAIL, "H5Tclose"); @@ -178,11 +190,11 @@ static void test_iter_group(void) CHECK(ret, FAIL, "H5Fclose"); /* Sort the dataset names */ - HDqsort(dnames,NDATASETS,sizeof(char *),iter_strcmp); + HDqsort(lnames, NDATASETS + 2, sizeof(char *), iter_strcmp); /* Iterate through the datasets in the root group in various ways */ - file=H5Fopen(DATAFILE, H5F_ACC_RDONLY, H5P_DEFAULT); + file = H5Fopen(DATAFILE, H5F_ACC_RDONLY, fapl); CHECK(file, FAIL, "H5Fopen"); /* These two functions, H5Gget_num_objs and H5Gget_objname_by_idx, actually @@ -194,9 +206,9 @@ static void test_iter_group(void) ret = H5Gget_num_objs(root_group, &num_membs); CHECK(ret, FAIL, "H5Gget_num_objs"); - VERIFY(num_membs,NDATASETS+2,"H5Gget_num_objs"); + VERIFY(num_membs, (NDATASETS + 2), "H5Gget_num_objs"); - for(i=0; i< (int)num_membs; i++) { + for(i = 0; i< (int)num_membs; i++) { H5G_obj_t obj_type; /* Type of object in file */ ret = (herr_t)H5Gget_objname_by_idx(root_group, (hsize_t)i, dataset_name, NAMELEN); @@ -204,7 +216,7 @@ static void test_iter_group(void) obj_type = H5Gget_objtype_by_idx(root_group, (hsize_t)i); CHECK(obj_type, H5G_UNKNOWN, "H5Gget_objtype_by_idx"); - } + } /* end for */ H5E_BEGIN_TRY { ret = (herr_t)H5Gget_objname_by_idx(root_group, (hsize_t)(NDATASETS+3), dataset_name, NAMELEN); @@ -222,9 +234,9 @@ static void test_iter_group(void) { ret = H5Gget_num_objs(file, &num_membs); CHECK(ret, FAIL, "H5Gget_num_objs"); - VERIFY(num_membs,NDATASETS+2,"H5Gget_num_objs"); + VERIFY(num_membs, NDATASETS + 2, "H5Gget_num_objs"); - for(i=0; i< (int)num_membs; i++) { + for(i = 0; i< (int)num_membs; i++) { H5G_obj_t obj_type; /* Type of object in file */ ret = (herr_t)H5Gget_objname_by_idx(file, (hsize_t)i, dataset_name, NAMELEN); @@ -235,116 +247,95 @@ static void test_iter_group(void) } H5E_BEGIN_TRY { - ret = (herr_t)H5Gget_objname_by_idx(file, (hsize_t)(NDATASETS+3), dataset_name, NAMELEN); + ret = (herr_t)H5Gget_objname_by_idx(file, (hsize_t)(NDATASETS + 3), dataset_name, NAMELEN); } H5E_END_TRY; VERIFY(ret, FAIL, "H5Gget_objname_by_idx"); } /* Test invalid indices for starting iteration */ - info.command=RET_ZERO; - idx=-1; + info.command = RET_ZERO; + idx = -1; H5E_BEGIN_TRY { - ret=H5Giterate(file,"/",&idx,giter_cb,&info); + ret = H5Giterate(file, "/", &idx, giter_cb, &info); } H5E_END_TRY; VERIFY(ret, FAIL, "H5Giterate"); /* Test skipping exactly as many entries as in the group */ - idx=NDATASETS+2; + idx = NDATASETS + 2; H5E_BEGIN_TRY { - ret=H5Giterate(file,"/",&idx,giter_cb,&info); + ret = H5Giterate(file, "/", &idx, giter_cb, &info); } H5E_END_TRY; VERIFY(ret, FAIL, "H5Giterate"); /* Test skipping more entries than are in the group */ - idx=NDATASETS+3; + idx = NDATASETS + 3; H5E_BEGIN_TRY { - ret=H5Giterate(file,"/",&idx,giter_cb,&info); + ret = H5Giterate(file, "/", &idx, giter_cb, &info); } H5E_END_TRY; VERIFY(ret, FAIL, "H5Giterate"); /* Test all objects in group, when callback always returns 0 */ - info.command=RET_ZERO; - idx=0; - if((ret=H5Giterate(file,"/",&idx,giter_cb,&info))>0) + info.command = RET_ZERO; + idx = 0; + if((ret = H5Giterate(file, "/", &idx, giter_cb, &info)) > 0) TestErrPrintf("Group iteration function didn't return zero correctly!\n"); /* Test all objects in group, when callback always returns 1 */ /* This also tests the "restarting" ability, because the index changes */ - info.command=RET_TWO; - idx=i=0; - while((ret=H5Giterate(file,"/",&idx,giter_cb,&info))>0) { + info.command = RET_TWO; + idx = i = 0; + while((ret = H5Giterate(file, "/", &idx, giter_cb, &info)) > 0) { /* Verify return value from iterator gets propagated correctly */ - VERIFY(ret,2,"H5Giterate"); + VERIFY(ret, 2, "H5Giterate"); - /* Increment the number of times "1" is returned */ + /* Increment the number of times "2" is returned */ i++; /* Verify that the index is the correct value */ - VERIFY(idx,i,"H5Giterate"); + VERIFY(idx, i, "H5Giterate"); + if(idx > (NDATASETS + 2)) + TestErrPrintf("Group iteration function walked too far!\n"); /* Verify that the correct name is retrieved */ - if(idx<=NDATASETS) { - if(HDstrcmp(info.name,dnames[idx-1])!=0) - TestErrPrintf("Group iteration function didn't return one correctly for dataset #%d!\n",idx); - } /* end if */ - else if(idx==(NDATASETS+1)) { - if(HDstrcmp(info.name,"dtype")!=0) - TestErrPrintf("Group iteration function didn't return one correctly for group!\n"); - } /* end if */ - else if(idx==(NDATASETS+2)) { - if(HDstrcmp(info.name,"grp")!=0) - TestErrPrintf("Group iteration function didn't return one correctly for group!\n"); - } /* end if */ - else - TestErrPrintf("Group iteration function walked too far!\n"); - } - VERIFY(ret,-1,"H5Giterate"); + if(HDstrcmp(info.name, lnames[idx - 1]) != 0) + TestErrPrintf("Group iteration function didn't return name correctly for link - lnames[%u] = '%s'!\n", (idx - 1), lnames[idx - 1]); + } /* end while */ + VERIFY(ret, -1, "H5Giterate"); - if(i!=(NDATASETS+2)) + if(i != (NDATASETS + 2)) TestErrPrintf("Group iteration function didn't perform multiple iterations correctly!\n"); /* Test all objects in group, when callback changes return value */ /* This also tests the "restarting" ability, because the index changes */ - info.command=RET_CHANGE; - idx=i=0; - while((ret=H5Giterate(file,"/",&idx,giter_cb,&info))>=0) { + info.command = new_format ? RET_CHANGE2 : RET_CHANGE; + idx = i = 0; + while((ret = H5Giterate(file, "/", &idx, giter_cb, &info)) >= 0) { /* Verify return value from iterator gets propagated correctly */ - VERIFY(ret,1,"H5Giterate"); + VERIFY(ret, 1, "H5Giterate"); /* Increment the number of times "1" is returned */ i++; /* Verify that the index is the correct value */ - VERIFY(idx,i+10,"H5Giterate"); + VERIFY(idx, (i + 10), "H5Giterate"); + if(idx > (NDATASETS + 2)) + TestErrPrintf("Group iteration function walked too far!\n"); /* Verify that the correct name is retrieved */ - if(idx<=NDATASETS) { - if(HDstrcmp(info.name,dnames[idx-1])!=0) - TestErrPrintf("Group iteration function didn't return one correctly for dataset #%d!\n",idx); - } /* end if */ - else if(idx==(NDATASETS+1)) { - if(HDstrcmp(info.name,"dtype")!=0) - TestErrPrintf("Group iteration function didn't return one correctly for group!\n"); - } /* end if */ - else if(idx==(NDATASETS+2)) { - if(HDstrcmp(info.name,"grp")!=0) - TestErrPrintf("Group iteration function didn't return one correctly for group!\n"); - } /* end if */ - else - TestErrPrintf("Group iteration function walked too far!\n"); - } - VERIFY(ret,-1,"H5Giterate"); + if(HDstrcmp(info.name, lnames[idx - 1]) != 0) + TestErrPrintf("Group iteration function didn't return name correctly for link - lnames[%u] = '%s'!\n", (idx - 1), lnames[idx - 1]); + } /* end while */ + VERIFY(ret, -1, "H5Giterate"); - if(i!=42 || idx!=52) + if(i != 42 || idx != 52) TestErrPrintf("Group iteration function didn't perform multiple iterations correctly!\n"); - ret=H5Fclose(file); + ret = H5Fclose(file); CHECK(ret, FAIL, "H5Fclose"); /* Free the dataset names */ - for(i=0; i< NDATASETS; i++) - HDfree(dnames[i]); - + for(i = 0; i< (NDATASETS + 2); i++) + HDfree(lnames[i]); } /* test_iter_group() */ /**************************************************************** @@ -352,12 +343,14 @@ static void test_iter_group(void) ** aiter_cb(): Custom group iteration callback routine. ** ****************************************************************/ -herr_t aiter_cb(hid_t UNUSED group, const char *name, void *op_data) +herr_t +aiter_cb(hid_t UNUSED group, const char *name, void *op_data) { - iter_info *info=(iter_info *)op_data; - static int count=0; + iter_info *info = (iter_info *)op_data; + static int count = 0; + static int count2 = 0; - strcpy(info->name,name); + HDstrcpy(info->name, name); switch(info->command) { case RET_ZERO: @@ -368,20 +361,24 @@ herr_t aiter_cb(hid_t UNUSED group, const char *name, void *op_data) case RET_CHANGE: count++; - return(count>10 ? 1: 0); + return(count > 10 ? 1: 0); + + case RET_CHANGE2: + count2++; + return(count2 > 10 ? 1: 0); default: printf("invalid iteration command"); return(-1); } /* end switch */ -} +} /* end aiter_cb() */ /**************************************************************** ** ** test_iter_attr(): Test attribute iteration functionality ** ****************************************************************/ -static void test_iter_attr(void) +static void test_iter_attr(hid_t fapl, hbool_t new_format) { hid_t file; /* File ID */ hid_t dataset; /* Common Dataset ID */ @@ -398,7 +395,7 @@ static void test_iter_attr(void) MESSAGE(5, ("Testing Attribute Iteration Functionality\n")); /* Create the test file with the datasets */ - file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); CHECK(file, FAIL, "H5Fcreate"); filespace=H5Screate(H5S_SCALAR); @@ -432,7 +429,7 @@ static void test_iter_attr(void) /* Iterate through the attributes on the dataset in various ways */ - file=H5Fopen(DATAFILE, H5F_ACC_RDONLY, H5P_DEFAULT); + file=H5Fopen(DATAFILE, H5F_ACC_RDONLY, fapl); CHECK(file, FAIL, "H5Fopen"); dataset=H5Dopen(file, "Dataset"); @@ -486,7 +483,7 @@ static void test_iter_attr(void) /* Test all attributes on dataset, when callback changes return value */ /* This also tests the "restarting" ability, because the index changes */ - info.command=RET_CHANGE; + info.command = new_format ? RET_CHANGE2 : RET_CHANGE; idx=i=0; while((ret=H5Aiterate(dataset,&idx,aiter_cb,&info))>0) { /* Verify return value from iterator gets propagated correctly */ @@ -525,8 +522,8 @@ static void test_iter_attr(void) ****************************************************************/ int iter_strcmp2(const void *s1, const void *s2) { - return(strcmp((const char *)s1,(const char *)s2)); -} + return(HDstrcmp((const char *)s1,(const char *)s2)); +} /* end iter_strcmp2() */ /**************************************************************** ** @@ -535,23 +532,23 @@ int iter_strcmp2(const void *s1, const void *s2) ****************************************************************/ herr_t giter_cb2(hid_t loc_id, const char *name, void *opdata) { - const iter_info *test_info=(const iter_info *)opdata; - herr_t ret; /* Generic return value */ + const iter_info *test_info = (const iter_info *)opdata; H5G_stat_t statbuf; + herr_t ret; /* Generic return value */ - if(HDstrcmp(name,test_info->name)) { - TestErrPrintf("name=%s, test_info=%s\n",name,test_info->name); + if(HDstrcmp(name, test_info->name)) { + TestErrPrintf("name = '%s', test_info = '%s'\n", name, test_info->name); return(-1); } /* end if */ /* * Get type of the object and check it. */ - ret=H5Gget_objinfo(loc_id, name, FALSE, &statbuf); + ret = H5Gget_objinfo(loc_id, name, FALSE, &statbuf); CHECK(ret, FAIL, "H5Gget_objinfo"); - if(test_info->type!=statbuf.type) { - TestErrPrintf("test_info->type=%d, statbuf.type=%d\n",test_info->type,statbuf.type); + if(test_info->type != statbuf.type) { + TestErrPrintf("test_info->type = %d, statbuf.type = %d\n", test_info->type, statbuf.type); return(-1); } /* end if */ @@ -564,7 +561,7 @@ herr_t giter_cb2(hid_t loc_id, const char *name, void *opdata) ** for groups with large #'s of objects ** ****************************************************************/ -static void test_iter_group_large(void) +static void test_iter_group_large(hid_t fapl) { hid_t file; /* HDF5 File IDs */ hid_t dataset; /* Dataset ID */ @@ -585,13 +582,13 @@ static void test_iter_group_large(void) float c; } s1_t; - memset(names, 0, sizeof names); + HDmemset(names, 0, sizeof names); /* Output message about test being performed */ MESSAGE(5, ("Testing Large Group Iteration Functionality\n")); /* Create file */ - file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); CHECK(file, FAIL, "H5Fcreate"); /* Create dataspace for datasets */ @@ -599,29 +596,29 @@ static void test_iter_group_large(void) CHECK(sid, FAIL, "H5Screate_simple"); /* Create a bunch of groups */ - for (i=0; i<ITER_NGROUPS; i++) { + for(i = 0; i < ITER_NGROUPS; i++) { sprintf(gname, "Group_%d", i); /* Add the name to the list of objects in the root group */ - strcpy(names[i].name,gname); - names[i].type=H5G_GROUP; + HDstrcpy(names[i].name, gname); + names[i].type = H5G_GROUP; /* Create a group */ - group=H5Gcreate(file,gname,0); + group = H5Gcreate(file, gname, 0); CHECK(group, FAIL, "H5Gcreate"); /* Close a group */ ret = H5Gclose(group); CHECK(ret, FAIL, "H5Gclose"); - } + } /* end for */ /* Create a dataset */ - dataset=H5Dcreate(file,"Dataset1",H5T_STD_U32LE,sid,H5P_DEFAULT); + dataset = H5Dcreate(file, "Dataset1", H5T_STD_U32LE, sid, H5P_DEFAULT); CHECK(dataset, FAIL, "H5Dcreate"); /* Add the name to the list of objects in the root group */ - strcpy(names[ITER_NGROUPS].name,"Dataset1"); - names[ITER_NGROUPS].type=H5G_DATASET; + HDstrcpy(names[ITER_NGROUPS].name, "Dataset1"); + names[ITER_NGROUPS].type = H5G_DATASET; /* Close Dataset */ ret = H5Dclose(dataset); @@ -632,40 +629,42 @@ static void test_iter_group_large(void) CHECK(ret, FAIL, "H5Sclose"); /* Create a datatype */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s1_t)); CHECK(tid, FAIL, "H5Tcreate"); /* Insert fields */ - ret=H5Tinsert (tid, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT); + ret = H5Tinsert(tid, "a", HOFFSET(s1_t, a), H5T_NATIVE_INT); CHECK(ret, FAIL, "H5Tinsert"); - ret=H5Tinsert (tid, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT); + ret = H5Tinsert(tid, "b", HOFFSET(s1_t, b), H5T_NATIVE_INT); CHECK(ret, FAIL, "H5Tinsert"); - ret=H5Tinsert (tid, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT); + ret = H5Tinsert(tid, "c", HOFFSET(s1_t, c), H5T_NATIVE_FLOAT); CHECK(ret, FAIL, "H5Tinsert"); /* Save datatype for later */ - ret=H5Tcommit (file, "Datatype1", tid); + ret = H5Tcommit(file, "Datatype1", tid); CHECK(ret, FAIL, "H5Tcommit"); /* Add the name to the list of objects in the root group */ - strcpy(names[ITER_NGROUPS+1].name,"Datatype1"); - names[ITER_NGROUPS+1].type=H5G_TYPE; + HDstrcpy(names[ITER_NGROUPS + 1].name, "Datatype1"); + names[ITER_NGROUPS + 1].type = H5G_TYPE; /* Close datatype */ ret = H5Tclose(tid); CHECK(ret, FAIL, "H5Tclose"); /* Need to sort the names in the root group, cause that's what the library does */ - qsort(names,ITER_NGROUPS+2,sizeof(iter_info),iter_strcmp2); + HDqsort(names, (ITER_NGROUPS + 2), sizeof(iter_info), iter_strcmp2); /* Iterate through the file to see members of the root group */ - curr_name=&names[0]; - H5Giterate(file, "/", NULL, giter_cb2, curr_name); - for (i=1; i<100; ) { - curr_name=&names[i]; - H5Giterate(file, "/", &i, giter_cb2, curr_name); + curr_name = &names[0]; + ret = H5Giterate(file, "/", NULL, giter_cb2, curr_name); + CHECK(ret, FAIL, "H5Giterate"); + for(i = 1; i < 100; ) { + curr_name = &names[i]; + ret = H5Giterate(file, "/", &i, giter_cb2, curr_name); + CHECK(ret, FAIL, "H5Giterate"); } /* end for */ /* Close file */ @@ -679,7 +678,7 @@ static void test_iter_group_large(void) ** functionality ** ****************************************************************/ -static void test_grp_memb_funcs(void) +static void test_grp_memb_funcs(hid_t fapl) { hid_t file; /* File ID */ hid_t dataset; /* Dataset ID */ @@ -699,7 +698,7 @@ static void test_grp_memb_funcs(void) MESSAGE(5, ("Testing Group Member Information Functionality\n")); /* Create the test file with the datasets */ - file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); CHECK(file, FAIL, "H5Fcreate"); datatype = H5Tcopy(H5T_NATIVE_INT); @@ -708,18 +707,18 @@ static void test_grp_memb_funcs(void) filespace=H5Screate(H5S_SCALAR); CHECK(filespace, FAIL, "H5Screate"); - for(i=0; i< NDATASETS; i++) { + for(i = 0; i< NDATASETS; i++) { sprintf(name,"Dataset %d",i); dataset = H5Dcreate(file, name, datatype, filespace, H5P_DEFAULT); CHECK(dataset, FAIL, "H5Dcreate"); /* Keep a copy of the dataset names around for later */ - dnames[i]=HDstrdup(name); + dnames[i] = HDstrdup(name); CHECK(dnames[i], NULL, "strdup"); - ret=H5Dclose(dataset); + ret = H5Dclose(dataset); CHECK(ret, FAIL, "H5Dclose"); - } + } /* end for */ /* Create a group and named datatype under root group for testing * H5Gget_objtype_by_idx. @@ -727,33 +726,33 @@ static void test_grp_memb_funcs(void) grp = H5Gcreate(file, "grp", 0); CHECK(ret, FAIL, "H5Gcreate"); - dnames[NDATASETS]=HDstrdup("grp"); + dnames[NDATASETS] = HDstrdup("grp"); CHECK(dnames[NDATASETS], NULL, "strdup"); ret = H5Tcommit(file, "dtype", datatype); CHECK(ret, FAIL, "H5Tcommit"); - dnames[NDATASETS+1]=HDstrdup("dtype"); + dnames[NDATASETS + 1] = HDstrdup("dtype"); CHECK(dnames[NDATASETS], NULL, "strdup"); /* Close everything up */ - ret=H5Tclose(datatype); + ret = H5Tclose(datatype); CHECK(ret, FAIL, "H5Tclose"); - ret=H5Gclose(grp); + ret = H5Gclose(grp); CHECK(ret, FAIL, "H5Gclose"); - ret=H5Sclose(filespace); + ret = H5Sclose(filespace); CHECK(ret, FAIL, "H5Sclose"); - ret=H5Fclose(file); + ret = H5Fclose(file); CHECK(ret, FAIL, "H5Fclose"); /* Sort the dataset names */ - HDqsort(dnames,NDATASETS+2,sizeof(char *),iter_strcmp); + HDqsort(dnames, (NDATASETS + 2), sizeof(char *), iter_strcmp); /* Iterate through the datasets in the root group in various ways */ - file=H5Fopen(DATAFILE, H5F_ACC_RDONLY, H5P_DEFAULT); + file = H5Fopen(DATAFILE, H5F_ACC_RDONLY, fapl); CHECK(file, FAIL, "H5Fopen"); /* These two functions, H5Gget_num_objs and H5Gget_objname_by_idx, actually @@ -773,14 +772,14 @@ static void test_grp_memb_funcs(void) name_len = H5Gget_objname_by_idx(root_group, (hsize_t)i, NULL, NAMELEN); CHECK(name_len, FAIL, "H5Gget_objname_by_idx"); - ret = (herr_t)H5Gget_objname_by_idx(root_group, (hsize_t)i, dataset_name, (size_t)(name_len+1)); + ret = (herr_t)H5Gget_objname_by_idx(root_group, (hsize_t)i, dataset_name, (size_t)(name_len + 1)); CHECK(ret, FAIL, "H5Gget_objname_by_idx"); /* Double-check that the length is the same */ VERIFY(ret, name_len, "H5Gget_objname_by_idx"); /* Keep a copy of the dataset names around for later */ - obj_names[i]=HDstrdup(dataset_name); + obj_names[i] = HDstrdup(dataset_name); CHECK(obj_names[i], NULL, "strdup"); obj_type = H5Gget_objtype_by_idx(root_group, (hsize_t)i); @@ -792,7 +791,7 @@ static void test_grp_memb_funcs(void) VERIFY(obj_type, H5G_TYPE, "H5Gget_objname_by_idx"); if(!HDstrncmp(dataset_name, "Dataset", 7)) VERIFY(obj_type, H5G_DATASET, "H5Gget_objname_by_idx"); - } + } /* end for */ H5E_BEGIN_TRY { ret = (herr_t)H5Gget_objname_by_idx(root_group, (hsize_t)(NDATASETS+3), dataset_name, NAMELEN); @@ -800,27 +799,26 @@ static void test_grp_memb_funcs(void) VERIFY(ret, FAIL, "H5Gget_objname_by_idx"); /* Sort the dataset names */ - qsort(obj_names,NDATASETS+2,sizeof(char *),iter_strcmp); + HDqsort(obj_names, (NDATASETS + 2), sizeof(char *), iter_strcmp); /* Compare object names */ - for(i=0; i< (int)num_membs; i++) { + for(i = 0; i< (int)num_membs; i++) { ret = HDstrcmp(dnames[i], obj_names[i]); VERIFY(ret, 0, "HDstrcmp"); - } + } /* end for */ ret = H5Gclose(root_group); CHECK(ret, FAIL, "H5Gclose"); - ret=H5Fclose(file); + ret = H5Fclose(file); CHECK(ret, FAIL, "H5Fclose"); /* Free the dataset names */ - for(i=0; i< NDATASETS+2; i++) { - free(dnames[i]); - free(obj_names[i]); - } - + for(i = 0; i< (NDATASETS + 2); i++) { + HDfree(dnames[i]); + HDfree(obj_names[i]); + } /* end for */ } /* test_grp_memb_funcs() */ /**************************************************************** @@ -828,7 +826,7 @@ static void test_grp_memb_funcs(void) ** test_links(): Test soft and hard link iteration ** ****************************************************************/ -static void test_links(void) +static void test_links(hid_t fapl) { hid_t file; /* File ID */ char obj_name[NAMELEN]; /* Names of the object in group */ @@ -843,7 +841,7 @@ static void test_links(void) MESSAGE(5, ("Testing Soft and Hard Link Iteration Functionality\n")); /* Create the test file with the datasets */ - file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(DATAFILE, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); CHECK(file, FAIL, "H5Fcreate"); /* create groups */ @@ -854,10 +852,10 @@ static void test_links(void) CHECK(gid1, FAIL, "H5Gcreate"); /* create soft and hard links to the group "/g1". */ - ret = H5Glink (gid, H5L_LINK_SOFT, "something", "softlink"); + ret = H5Glink (gid, H5L_TYPE_SOFT, "something", "softlink"); CHECK(ret, FAIL, "H5Glink"); - ret = H5Glink (gid, H5L_LINK_HARD, "/g1", "hardlink"); + ret = H5Glink (gid, H5L_TYPE_HARD, "/g1", "hardlink"); CHECK(ret, FAIL, "H5Glink"); ret = H5Gget_num_objs(gid, &nobjs); @@ -865,7 +863,7 @@ static void test_links(void) VERIFY(nobjs,3,"H5Gget_num_objs"); /* Test these two functions, H5Gget_num_objs and H5Gget_objname_by_idx */ - for(i=0; i<nobjs; i++) { + for(i = 0; i < nobjs; i++) { /* Get object name */ name_len = H5Gget_objname_by_idx(gid, i, obj_name, NAMELEN); CHECK(name_len, FAIL, "H5Gget_objname_by_idx"); @@ -883,13 +881,13 @@ static void test_links(void) CHECK(0, 0, "unknown object name"); } - ret=H5Gclose(gid); + ret = H5Gclose(gid); CHECK(ret, FAIL, "H5Gclose"); - ret=H5Gclose(gid1); + ret = H5Gclose(gid1); CHECK(ret, FAIL, "H5Gclose"); - ret=H5Fclose(file); + ret = H5Fclose(file); CHECK(ret, FAIL, "H5Fclose"); } /* test_links() */ @@ -901,15 +899,39 @@ static void test_links(void) void test_iterate(void) { + hid_t fapl, fapl2; /* File access property lists */ + hbool_t new_format; /* Whether to use the new format or not */ + herr_t ret; /* Generic return value */ + /* Output message about test being performed */ MESSAGE(5, ("Testing Iteration Operations\n")); + /* Get the default FAPL */ + fapl = H5Pcreate(H5P_FILE_ACCESS); + CHECK(fapl, FAIL, "H5Pcreate"); + + /* Copy the file access property list */ + fapl2 = H5Pcopy(fapl); + CHECK(fapl2, FAIL, "H5Pcopy"); + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + ret = H5Pset_latest_format(fapl2, TRUE); + CHECK(ret, FAIL, "H5Pset_latest_format"); + /* These next tests use the same file */ - test_iter_group(); /* Test group iteration */ - test_iter_group_large(); /* Test group iteration for large # of objects */ - test_iter_attr(); /* Test attribute iteration */ - test_grp_memb_funcs(); /* Test group member information functions */ - test_links(); /* Test soft and hard link iteration */ + for(new_format = FALSE; new_format <= TRUE; new_format++) { + test_iter_group(new_format ? fapl2 : fapl, new_format); /* Test group iteration */ + test_iter_group_large(new_format ? fapl2 : fapl); /* Test group iteration for large # of objects */ + test_iter_attr(new_format ? fapl2 : fapl, new_format); /* Test attribute iteration */ + test_grp_memb_funcs(new_format ? fapl2 : fapl); /* Test group member information functions */ + test_links(new_format ? fapl2 : fapl); /* Test soft and hard link iteration */ + } /* end for */ + + /* Close FAPLs */ + ret = H5Pclose(fapl); + CHECK(ret, FAIL, "H5Pclose"); + ret = H5Pclose(fapl2); + CHECK(ret, FAIL, "H5Pclose"); } /* test_iterate() */ diff --git a/test/tmisc.c b/test/tmisc.c index b89a9a6..db1605e 100644 --- a/test/tmisc.c +++ b/test/tmisc.c @@ -3768,7 +3768,6 @@ test_misc22(void) } /* end test_misc22() */ #endif /* H5_HAVE_FILTER_SZIP */ -#ifdef H5_GROUP_REVISION /**************************************************************** ** ** test_misc23(): Test intermediate group creation. @@ -4075,7 +4074,6 @@ test_misc23(void) CHECK(status, FAIL, "H5Fclose"); } /* end test_misc23() */ -#endif /* H5_GROUP_REVISION */ /**************************************************************** ** @@ -4114,13 +4112,13 @@ test_misc24(void) CHECK(ret, FAIL, "H5Tcommit"); /* Create soft links to the objects created */ - ret = H5Glink2(file_id, MISC24_GROUP_NAME, H5L_LINK_SOFT, file_id, MISC24_GROUP_LINK); + ret = H5Glink2(file_id, MISC24_GROUP_NAME, H5L_TYPE_SOFT, file_id, MISC24_GROUP_LINK); CHECK(ret, FAIL, "H5Glink2"); - ret = H5Glink2(file_id, MISC24_DATASET_NAME, H5L_LINK_SOFT, file_id, MISC24_DATASET_LINK); + ret = H5Glink2(file_id, MISC24_DATASET_NAME, H5L_TYPE_SOFT, file_id, MISC24_DATASET_LINK); CHECK(ret, FAIL, "H5Glink2"); - ret = H5Glink2(file_id, MISC24_DATATYPE_NAME, H5L_LINK_SOFT, file_id, MISC24_DATATYPE_LINK); + ret = H5Glink2(file_id, MISC24_DATATYPE_NAME, H5L_TYPE_SOFT, file_id, MISC24_DATATYPE_LINK); CHECK(ret, FAIL, "H5Glink2"); /* Close IDs for objects */ @@ -4668,9 +4666,7 @@ test_misc(void) test_misc21(); /* Test that "late" allocation time is treated the same as "incremental", for chunked datasets w/a filters */ test_misc22(); /* check szip bits per pixel */ #endif /* H5_HAVE_FILTER_SZIP */ -#ifdef H5_GROUP_REVISION test_misc23(); /* Test intermediate group creation */ -#endif /* H5_GROUP_REVISION */ test_misc24(); /* Test inappropriate API opens of objects */ test_misc25a(); /* Exercise null object header message merge bug */ test_misc25b(); /* Exercise null object header message merge bug on existing file */ diff --git a/test/unlink.c b/test/unlink.c index 1ad3790..908ea1d 100644 --- a/test/unlink.c +++ b/test/unlink.c @@ -77,7 +77,9 @@ const char *FILENAME[] = { #define SLASHES_ROOTLINK_NAME "Root///" #define FULL_GROUP_NUM_KEEP 2 #define FULL_GROUP_NUM_DELETE_COMPACT 2 -#define FULL_GROUP_NUM_DELETE_DENSE 16 +#define FULL_GROUP_NUM_DELETE_DENSE 16 +#define FULL_GROUP_EST_NUM_ENTRIES 8 +#define FULL_GROUP_EST_ENTRY_LEN 9 /*------------------------------------------------------------------------- @@ -104,38 +106,35 @@ test_one(hid_t file) herr_t status; /* Create a test group */ - if ((work=H5Gcreate(file, "/test_one", 0))<0) goto error; + if((work=H5Gcreate(file, "/test_one", (size_t)0)) < 0) goto error; /* Delete by absolute name */ TESTING("unlink by absolute name"); - if ((grp=H5Gcreate(work, "foo", 0))<0) goto error; - if (H5Gclose(grp)<0) goto error; - if (H5Gunlink(file, "/test_one/foo")<0) goto error; + if((grp=H5Gcreate(work, "foo", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(grp) < 0) TEST_ERROR + if(H5Gunlink(file, "/test_one/foo") < 0) TEST_ERROR PASSED(); /* Delete by local name */ TESTING("unlink by local name"); - if ((grp=H5Gcreate(work, "foo", 0))<0) goto error; - if (H5Gclose(grp)<0) goto error; - if (H5Gunlink(work, "foo")<0) goto error; + if((grp=H5Gcreate(work, "foo", (size_t)0)) < 0) TEST_ERROR + if(H5Gclose(grp) < 0) TEST_ERROR + if(H5Gunlink(work, "foo") < 0) TEST_ERROR PASSED(); /* Delete directly - should fail */ TESTING("unlink without a name"); - if ((grp=H5Gcreate(work, "foo", 0))<0) goto error; + if((grp=H5Gcreate(work, "foo", (size_t)0)) < 0) TEST_ERROR H5E_BEGIN_TRY { status = H5Gunlink(grp, "."); } H5E_END_TRY; - if (status>=0) { - H5_FAILED(); - puts(" Unlinking object w/o a name should have failed."); - goto error; - } - if (H5Gclose(grp)<0) goto error; + if(status>=0) + FAIL_PUTS_ERROR(" Unlinking object w/o a name should have failed.") + if(H5Gclose(grp) < 0) TEST_ERROR PASSED(); /* Cleanup */ - if (H5Gclose(work)<0) goto error; + if(H5Gclose(work) < 0) goto error; return 0; error: @@ -172,19 +171,19 @@ test_many(hid_t file) char name[32]; /* Create a test group */ - if ((work=H5Gcreate(file, "/test_many", 0))<0) goto error; - if ((grp = H5Gcreate(work, "/test_many_foo", 0))<0) goto error; - if (H5Gclose(grp)<0) goto error; + if((work=H5Gcreate(file, "/test_many", (size_t)0)) < 0) goto error; + if((grp = H5Gcreate(work, "/test_many_foo", (size_t)0)) < 0) goto error; + if(H5Gclose(grp) < 0) goto error; /* Create a bunch of names and unlink them in order */ TESTING("forward unlink"); for (i=0; i<how_many; i++) { sprintf(name, "obj_%05d", i); - if (H5Glink(work, H5L_LINK_HARD, "/test_many_foo", name)<0) goto error; + if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR } for (i=0; i<how_many; i++) { sprintf(name, "obj_%05d", i); - if (H5Gunlink(work, name)<0) goto error; + if (H5Gunlink(work, name) < 0) TEST_ERROR } PASSED(); @@ -192,11 +191,11 @@ test_many(hid_t file) TESTING("backward unlink"); for (i=0; i<how_many; i++) { sprintf(name, "obj_%05d", i); - if (H5Glink(work, H5L_LINK_HARD, "/test_many_foo", name)<0) goto error; + if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR } for (i=how_many-1; i>=0; --i) { sprintf(name, "obj_%05d", i); - if (H5Gunlink(work, name)<0) goto error; + if (H5Gunlink(work, name) < 0) TEST_ERROR } PASSED(); @@ -204,7 +203,7 @@ test_many(hid_t file) TESTING("inward unlink"); for (i=0; i<how_many; i++) { sprintf(name, "obj_%05d", i); - if (H5Glink(work, H5L_LINK_HARD, "/test_many_foo", name)<0) goto error; + if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR } for (i=0; i<how_many; i++) { if (i%2) { @@ -212,7 +211,7 @@ test_many(hid_t file) } else { sprintf(name, "obj_%05d", i/2); } - if (H5Gunlink(work, name)<0) goto error; + if (H5Gunlink(work, name) < 0) TEST_ERROR } PASSED(); @@ -220,7 +219,7 @@ test_many(hid_t file) TESTING("outward unlink"); for (i=0; i<how_many; i++) { sprintf(name, "obj_%05d", i); - if (H5Glink(work, H5L_LINK_HARD, "/test_many_foo", name)<0) goto error; + if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR } for (i=how_many-1; i>=0; --i) { if (i%2) { @@ -228,13 +227,13 @@ test_many(hid_t file) } else { sprintf(name, "obj_%05d", i/2); } - if (H5Gunlink(work, name)<0) goto error; + if (H5Gunlink(work, name) < 0) TEST_ERROR } PASSED(); /* Cleanup */ - if (H5Gclose(work)<0) goto error; + if (H5Gclose(work) < 0) goto error; return 0; error: @@ -268,12 +267,12 @@ test_symlink(hid_t file) TESTING("symlink removal"); /* Create a test group and symlink */ - if ((work=H5Gcreate(file, "/test_symlink", 0))<0) TEST_ERROR; - if (H5Glink(work, H5L_LINK_SOFT, "link_value", "link")<0) TEST_ERROR; - if (H5Gunlink(work, "link")<0) TEST_ERROR; + if ((work=H5Gcreate(file, "/test_symlink", (size_t)0)) < 0) TEST_ERROR + if (H5Glink(work, H5L_TYPE_SOFT, "link_value", "link") < 0) TEST_ERROR + if (H5Gunlink(work, "link") < 0) TEST_ERROR /* Cleanup */ - if (H5Gclose(work)<0) TEST_ERROR; + if (H5Gclose(work) < 0) TEST_ERROR PASSED(); return 0; @@ -308,24 +307,24 @@ test_rename(hid_t file) /* Create a test group and rename something */ TESTING("object renaming"); - if ((work=H5Gcreate(file, "/test_rename", 0))<0) goto error; - if ((foo=H5Gcreate(work, "foo", 0))<0) goto error; - if (H5Gmove(work, "foo", "bar")<0) goto error; - if ((inner=H5Gcreate(foo, "inner", 0))<0) goto error; - if (H5Gclose(inner)<0) goto error; - if (H5Gclose(foo)<0) goto error; - if ((inner=H5Gopen(work, "bar/inner"))<0) goto error; - if (H5Gclose(inner)<0) goto error; + if ((work=H5Gcreate(file, "/test_rename", (size_t)0)) < 0) TEST_ERROR + if ((foo=H5Gcreate(work, "foo", (size_t)0)) < 0) TEST_ERROR + if (H5Gmove(work, "foo", "bar") < 0) TEST_ERROR + if ((inner=H5Gcreate(foo, "inner", (size_t)0)) < 0) TEST_ERROR + if (H5Gclose(inner) < 0) TEST_ERROR + if (H5Gclose(foo) < 0) TEST_ERROR + if ((inner=H5Gopen(work, "bar/inner")) < 0) TEST_ERROR + if (H5Gclose(inner) < 0) TEST_ERROR PASSED(); /* Try renaming a symlink */ TESTING("symlink renaming"); - if (H5Glink(work, H5L_LINK_SOFT, "link_value", "link_one")<0) goto error; - if (H5Gmove(work, "link_one", "link_two")<0) goto error; + if (H5Glink(work, H5L_TYPE_SOFT, "link_value", "link_one") < 0) TEST_ERROR + if (H5Gmove(work, "link_one", "link_two") < 0) TEST_ERROR PASSED(); /* Cleanup */ - if (H5Gclose(work)<0) goto error; + if (H5Gclose(work) < 0) goto error; return 0; error: @@ -355,61 +354,52 @@ test_rename(hid_t file) *------------------------------------------------------------------------- */ static int -test_new_move(void) +test_new_move(hid_t fapl) { - hid_t fapl, file_a, file_b=(-1); + hid_t file_a, file_b=(-1); hid_t grp_1=(-1), grp_2=(-1), grp_move=(-1), moved_grp=(-1); char filename[1024]; TESTING("new move"); /* Create a second file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file_a=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - goto error; + if((file_a = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR h5_fixname(FILENAME[2], fapl, filename, sizeof filename); - if ((file_b=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - goto error; + if((file_b = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create groups in first file */ - if((grp_1=H5Gcreate(file_a, "group1", 0))<0) goto error; - if((grp_2=H5Gcreate(file_a, "group2", 0))<0) goto error; - if((grp_move=H5Gcreate(grp_1, "group_move", 0))<0) goto error; + if((grp_1 = H5Gcreate(file_a, "group1", (size_t)0)) < 0) TEST_ERROR + if((grp_2 = H5Gcreate(file_a, "group2", (size_t)0)) < 0) TEST_ERROR + if((grp_move = H5Gcreate(grp_1, "group_move", (size_t)0)) < 0) TEST_ERROR /* Create hard and soft links. */ - if(H5Glink2(grp_1, "group_move", H5L_LINK_HARD, H5G_SAME_LOC, "hard")<0) - goto error; - if(H5Glink2(grp_1, "/group1/group_move", H5L_LINK_SOFT, grp_2, "soft")<0) - goto error; + if(H5Glink2(grp_1, "group_move", H5L_TYPE_HARD, H5G_SAME_LOC, "hard") < 0) TEST_ERROR + if(H5Glink2(grp_1, "/group1/group_move", H5L_TYPE_SOFT, grp_2, "soft") < 0) TEST_ERROR /* Move a group within the file. Both of source and destination use * H5G_SAME_LOC. Should fail. */ H5E_BEGIN_TRY { - if(H5Gmove2(H5G_SAME_LOC, "group_move", H5G_SAME_LOC, "group_new_name") - !=FAIL) goto error; + if(H5Gmove2(H5G_SAME_LOC, "group_move", H5G_SAME_LOC, "group_new_name") !=FAIL) TEST_ERROR } H5E_END_TRY; /* Move a group across files. Should fail. */ H5E_BEGIN_TRY { - if(H5Gmove2(grp_1, "group_move", file_b, "group_new_name")!=FAIL) - goto error; + if(H5Gmove2(grp_1, "group_move", file_b, "group_new_name")!=FAIL) TEST_ERROR } H5E_END_TRY; /* Move a group across groups in the same file. */ - if(H5Gmove2(grp_1, "group_move", grp_2, "group_new_name")<0) - goto error; + if(H5Gmove2(grp_1, "group_move", grp_2, "group_new_name") < 0) TEST_ERROR /* Open the group just moved to the new location. */ - if((moved_grp = H5Gopen(grp_2, "group_new_name"))<0) - goto error; + if((moved_grp = H5Gopen(grp_2, "group_new_name")) < 0) TEST_ERROR - H5Gclose(grp_1); - H5Gclose(grp_2); - H5Gclose(grp_move); - H5Gclose(moved_grp); - H5Fclose(file_a); - H5Fclose(file_b); + if(H5Gclose(grp_1) < 0) TEST_ERROR + if(H5Gclose(grp_2) < 0) TEST_ERROR + if(H5Gclose(grp_move) < 0) TEST_ERROR + if(H5Gclose(moved_grp) < 0) TEST_ERROR + if(H5Fclose(file_a) < 0) TEST_ERROR + if(H5Fclose(file_b) < 0) TEST_ERROR PASSED(); return 0; @@ -444,9 +434,9 @@ test_new_move(void) *------------------------------------------------------------------------- */ static int -check_new_move(void) +check_new_move(hid_t fapl) { - hid_t fapl, file; + hid_t file; H5G_stat_t sb_hard1, sb_hard2; char filename[1024]; char linkval[1024]; @@ -454,43 +444,27 @@ check_new_move(void) TESTING("check new move function"); /* Open file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) { - goto error; - } + if((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Get hard link info */ - if(H5Gget_objinfo(file, "/group2/group_new_name", TRUE, &sb_hard1)<0) - goto error; - if(H5Gget_objinfo(file, "/group1/hard", TRUE, &sb_hard2)<0) - goto error; + if(H5Gget_objinfo(file, "/group2/group_new_name", TRUE, &sb_hard1) < 0) TEST_ERROR + if(H5Gget_objinfo(file, "/group1/hard", TRUE, &sb_hard2) < 0) TEST_ERROR /* Check hard links */ - if(H5G_GROUP!=sb_hard1.type || H5G_GROUP!=sb_hard2.type) { - H5_FAILED(); - puts(" Unexpected object type, should have been a group"); - goto error; - } - if (HDmemcmp(&sb_hard1.objno, &sb_hard2.objno, sizeof(sb_hard1.objno))) { - H5_FAILED(); - puts(" Hard link test failed. Link seems not to point to the "); - puts(" expected file location."); - goto error; - } + if(H5G_GROUP!=sb_hard1.type || H5G_GROUP!=sb_hard2.type) + FAIL_PUTS_ERROR(" Unexpected object type, should have been a group") + if(HDmemcmp(&sb_hard1.objno, &sb_hard2.objno, sizeof(sb_hard1.objno))) + FAIL_PUTS_ERROR(" Hard link test failed. Link seems not to point to the expected file location.") /* Check soft links */ - if (H5Gget_linkval(file, "group2/soft", sizeof linkval, linkval)<0) { - goto error; - } - if (strcmp(linkval, "/group1/group_move")) { - H5_FAILED(); - puts(" Soft link test failed. Wrong link value"); - goto error; - } + if(H5Gget_linkval(file, "group2/soft", sizeof linkval, linkval) < 0) TEST_ERROR + if(HDstrcmp(linkval, "/group1/group_move")) + FAIL_PUTS_ERROR(" Soft link test failed. Wrong link value") /* Cleanup */ - if(H5Fclose(file)<0) goto error; + if(H5Fclose(file) < 0) TEST_ERROR + PASSED(); return 0; @@ -515,9 +489,8 @@ check_new_move(void) *------------------------------------------------------------------------- */ static int -test_filespace(void) +test_filespace(hid_t fapl) { - hid_t fapl; /* File access property list */ hid_t fapl_nocache; /* File access property list with raw data cache turned off */ hid_t contig_dcpl; /* Dataset creation property list for contiguous dataset */ hid_t early_chunk_dcpl; /* Dataset creation property list for chunked dataset & early allocation */ @@ -553,91 +526,90 @@ test_filespace(void) puts("Testing file space gets reused:"); /* Open file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[4], fapl, filename, sizeof filename); /* Create FAPL with raw data cache disabled */ /* Create file access property list with raw data cache disabled */ - if ((fapl_nocache=H5Pcopy(fapl))<0) TEST_ERROR; + if ((fapl_nocache=H5Pcopy(fapl)) < 0) TEST_ERROR /* Get the cache settings */ - if(H5Pget_cache(fapl_nocache,&mdc_nelmts,&rdcc_nelmts,&rdcc_nbytes,&rdcc_w0)<0) TEST_ERROR; + if(H5Pget_cache(fapl_nocache,&mdc_nelmts,&rdcc_nelmts,&rdcc_nbytes,&rdcc_w0) < 0) TEST_ERROR /* Disable the raw data cache */ rdcc_nelmts=0; rdcc_nbytes=0; - if(H5Pset_cache(fapl_nocache,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)<0) TEST_ERROR; + if(H5Pset_cache(fapl_nocache,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0) < 0) TEST_ERROR /* Create empty file for size comparisons later */ /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of an empty file */ - if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR /* Create common objects for datasets */ /* Create dataset creation property list for contigous storage */ - if ((contig_dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; + if ((contig_dcpl=H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR /* Make certain that space is allocated early */ - if(H5Pset_alloc_time(contig_dcpl, H5D_ALLOC_TIME_EARLY) < 0) TEST_ERROR; + if(H5Pset_alloc_time(contig_dcpl, H5D_ALLOC_TIME_EARLY) < 0) TEST_ERROR /* Create dataset creation property list for chunked storage & early allocation */ - if ((early_chunk_dcpl=H5Pcopy(contig_dcpl))<0) TEST_ERROR; + if ((early_chunk_dcpl=H5Pcopy(contig_dcpl)) < 0) TEST_ERROR /* Set chunk dimensions */ - if(H5Pset_chunk(early_chunk_dcpl, FILESPACE_NDIMS, chunk_dims) < 0) TEST_ERROR; + if(H5Pset_chunk(early_chunk_dcpl, FILESPACE_NDIMS, chunk_dims) < 0) TEST_ERROR /* Create dataset creation property list for chunked storage & late allocation */ - if ((late_chunk_dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; + if ((late_chunk_dcpl=H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR /* Set chunk dimensions */ - if(H5Pset_chunk(late_chunk_dcpl, FILESPACE_NDIMS, chunk_dims) < 0) TEST_ERROR; + if(H5Pset_chunk(late_chunk_dcpl, FILESPACE_NDIMS, chunk_dims) < 0) TEST_ERROR /* Create dataset creation property list for compressed, chunked storage & early allocation */ - if ((comp_dcpl=H5Pcopy(early_chunk_dcpl))<0) TEST_ERROR; + if ((comp_dcpl=H5Pcopy(early_chunk_dcpl)) < 0) TEST_ERROR /* Enable compression & set level */ - if(H5Pset_deflate(comp_dcpl, FILESPACE_DEFLATE_LEVEL) < 0) TEST_ERROR; + if(H5Pset_deflate(comp_dcpl, FILESPACE_DEFLATE_LEVEL) < 0) TEST_ERROR /* Create dataset creation property list for compact storage */ - if ((compact_dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; + if ((compact_dcpl=H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR /* Set to compact storage */ - if(H5Pset_layout(compact_dcpl, H5D_COMPACT) < 0) TEST_ERROR; + if(H5Pset_layout(compact_dcpl, H5D_COMPACT) < 0) TEST_ERROR /* Create dataspace for datasets */ - if((space = H5Screate_simple(FILESPACE_NDIMS, dims, NULL))<0) TEST_ERROR; + if((space = H5Screate_simple(FILESPACE_NDIMS, dims, NULL)) < 0) TEST_ERROR /* Create buffer for writing dataset */ - if((data = HDmalloc(sizeof(int)*FILESPACE_DIM0*FILESPACE_DIM1*FILESPACE_DIM2))==NULL) TEST_ERROR; + if((data = HDmalloc(sizeof(int)*FILESPACE_DIM0*FILESPACE_DIM1*FILESPACE_DIM2))==NULL) TEST_ERROR /* Create single dataset (with contiguous storage & late allocation), remove it & verify file size */ TESTING(" contiguous dataset with late allocation"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, H5P_DEFAULT))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -645,23 +617,23 @@ test_filespace(void) TESTING(" contiguous dataset with early allocation"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -669,23 +641,23 @@ test_filespace(void) TESTING(" chunked dataset with late allocation"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, late_chunk_dcpl))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, late_chunk_dcpl)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -693,23 +665,23 @@ test_filespace(void) TESTING(" chunked dataset with early allocation"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, early_chunk_dcpl))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, early_chunk_dcpl)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -717,23 +689,23 @@ test_filespace(void) TESTING(" compressed, chunked dataset"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, comp_dcpl))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, comp_dcpl)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -744,10 +716,10 @@ test_filespace(void) TESTING(" re-writing compressed, chunked dataset"); /* Create file (using FAPL with disabled raw data cache) */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_nocache))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_nocache)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, comp_dcpl))<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, comp_dcpl)) < 0) TEST_ERROR /* Alternate re-writing dataset with compressible & random data */ for(u=0; u<FILESPACE_REWRITE; u++) { @@ -756,30 +728,30 @@ test_filespace(void) *tmp_data++ = v*u; /* Write the buffer to the dataset */ - if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data)<0) TEST_ERROR; + if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) TEST_ERROR /* Set buffer to different random numbers each time */ for (v=0, tmp_data=data; v<(FILESPACE_DIM0*FILESPACE_DIM1*FILESPACE_DIM2); v++) *tmp_data++ = (int)HDrandom(); /* Write the buffer to the dataset */ - if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data)<0) TEST_ERROR; + if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) TEST_ERROR } /* end for */ /* Close dataset */ - if(H5Dclose (dataset)<0) TEST_ERROR; + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -787,23 +759,23 @@ test_filespace(void) TESTING(" compact dataset"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, compact_dcpl))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, compact_dcpl)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -814,59 +786,59 @@ test_filespace(void) TESTING(" object header continuations"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create datasets to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl))<0) TEST_ERROR; - if((dataset2 = H5Dcreate (file, DATASET2NAME, H5T_NATIVE_INT, space, contig_dcpl))<0) TEST_ERROR; + if((dataset = H5Dcreate(file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl)) < 0) TEST_ERROR + if((dataset2 = H5Dcreate(file, DATASET2NAME, H5T_NATIVE_INT, space, contig_dcpl)) < 0) TEST_ERROR /* Create a dataspace for the attributes */ - if((attr_space = H5Screate_simple(FILESPACE_ATTR_NDIMS, attr_dims, NULL))<0) TEST_ERROR; + if((attr_space = H5Screate_simple(FILESPACE_ATTR_NDIMS, attr_dims, NULL)) < 0) TEST_ERROR /* Alternate adding attributes to each one */ - for(u=0; u<FILESPACE_NATTR; u++) { + for(u = 0; u < FILESPACE_NATTR; u++) { /* Set the name of the attribute to create */ sprintf(objname,"%s %u",ATTRNAME,u); /* Create an attribute on the first dataset */ - if((attr = H5Acreate (dataset, objname, H5T_NATIVE_INT, attr_space, H5P_DEFAULT))<0) TEST_ERROR; + if((attr = H5Acreate(dataset, objname, H5T_NATIVE_INT, attr_space, H5P_DEFAULT)) < 0) TEST_ERROR /* Don't worry about writing the attribute - it will have a fill value */ /* Close the attribute on the first dataset */ - if(H5Aclose (attr)<0) TEST_ERROR; + if(H5Aclose(attr) < 0) TEST_ERROR /* Create an attribute on the second dataset */ - if((attr = H5Acreate (dataset2, objname, H5T_NATIVE_INT, attr_space, H5P_DEFAULT))<0) TEST_ERROR; + if((attr = H5Acreate(dataset2, objname, H5T_NATIVE_INT, attr_space, H5P_DEFAULT)) < 0) TEST_ERROR /* Don't worry about writing the attribute - it will have a fill value */ /* Close the attribute on the second dataset */ - if(H5Aclose (attr)<0) TEST_ERROR; + if(H5Aclose(attr) < 0) TEST_ERROR /* Flush the file (to fix the sizes of object header buffers, etc) */ - if(H5Fflush(file,H5F_SCOPE_GLOBAL)<0) TEST_ERROR; + if(H5Fflush(file,H5F_SCOPE_GLOBAL) < 0) TEST_ERROR } /* end for */ /* Close the dataspace for the attributes */ - if(H5Sclose (attr_space)<0) TEST_ERROR; + if(H5Sclose(attr_space) < 0) TEST_ERROR /* Close datasets */ - if(H5Dclose (dataset)<0) TEST_ERROR; - if(H5Dclose (dataset2)<0) TEST_ERROR; + if(H5Dclose(dataset) < 0) TEST_ERROR + if(H5Dclose(dataset2) < 0) TEST_ERROR /* Remove the datasets */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; - if(H5Gunlink (file, DATASET2NAME)<0) TEST_ERROR; + if(H5Gunlink(file, DATASETNAME) < 0) TEST_ERROR + if(H5Gunlink(file, DATASET2NAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size = h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -874,26 +846,26 @@ test_filespace(void) TESTING(" named datatype"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create datatype to commit */ - if((type = H5Tcopy (H5T_NATIVE_INT))<0) TEST_ERROR; + if((type = H5Tcopy (H5T_NATIVE_INT)) < 0) TEST_ERROR /* Create a single named datatype to remove */ - if(H5Tcommit (file, TYPENAME, type)<0) TEST_ERROR; - if(H5Tclose (type)<0) TEST_ERROR; + if(H5Tcommit (file, TYPENAME, type) < 0) TEST_ERROR + if(H5Tclose (type) < 0) TEST_ERROR /* Remove the named datatype */ - if(H5Gunlink (file, TYPENAME)<0) TEST_ERROR; + if(H5Gunlink (file, TYPENAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -901,23 +873,23 @@ test_filespace(void) TESTING(" single group"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single group to remove */ - if((group = H5Gcreate (file, GROUPNAME, 0))<0) TEST_ERROR; - if(H5Gclose (group)<0) TEST_ERROR; + if((group = H5Gcreate (file, GROUPNAME, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose (group) < 0) TEST_ERROR /* Remove the group */ - if(H5Gunlink (file, GROUPNAME)<0) TEST_ERROR; + if(H5Gunlink (file, GROUPNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -925,32 +897,30 @@ test_filespace(void) TESTING(" multiple groups"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a many groups to remove */ - for(u=0; u<UNLINK_NGROUPS; u++) { - sprintf(objname,"%s %u",GROUPNAME,u); - if((group = H5Gcreate (file, objname, 0))<0) TEST_ERROR; - if(H5Gclose (group)<0) TEST_ERROR; + for(u = 0; u < UNLINK_NGROUPS; u++) { + sprintf(objname, "%s %u", GROUPNAME, u); + if((group = H5Gcreate(file, objname, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose (group) < 0) TEST_ERROR } /* end for */ /* Remove the all the groups */ /* (Remove them in reverse order just to make file size calculation easier -QAK) */ - for(u=UNLINK_NGROUPS; u>0; u--) { - sprintf(objname,"%s %u",GROUPNAME,(u-1)); - if(H5Gunlink (file, objname)<0) TEST_ERROR; + for(u = UNLINK_NGROUPS; u > 0; u--) { + sprintf(objname, "%s %u", GROUPNAME, (u - 1)); + if(H5Gunlink(file, objname) < 0) TEST_ERROR } /* end for */ /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR -#ifdef H5_GROUP_REVISION /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; -#endif /* H5_GROUP_REVISION */ + if(file_size != empty_size) TEST_ERROR PASSED(); @@ -958,28 +928,28 @@ test_filespace(void) TESTING(" simple group hierarchy"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a small group hierarchy to remove */ - if((group = H5Gcreate (file, GROUPNAME, 0))<0) TEST_ERROR; - if((group2 = H5Gcreate (group, GROUP2NAME, 0))<0) TEST_ERROR; - if(H5Gclose (group2)<0) TEST_ERROR; - if(H5Gclose (group)<0) TEST_ERROR; + if((group = H5Gcreate(file, GROUPNAME, (size_t)0)) < 0) TEST_ERROR + if((group2 = H5Gcreate (group, GROUP2NAME, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose (group2) < 0) TEST_ERROR + if(H5Gclose (group) < 0) TEST_ERROR /* Remove the second group */ - if(H5Gunlink (file, GROUPNAME "/" GROUP2NAME)<0) TEST_ERROR; + if(H5Gunlink (file, GROUPNAME "/" GROUP2NAME) < 0) TEST_ERROR /* Remove the first group */ - if(H5Gunlink (file, GROUPNAME)<0) TEST_ERROR; + if(H5Gunlink (file, GROUPNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -987,34 +957,34 @@ test_filespace(void) TESTING(" complex group hierarchy"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a complex group hierarchy to remove */ for(u=0; u<FILESPACE_TOP_GROUPS; u++) { /* Create group */ sprintf(objname,"%s %u",GROUPNAME,u); - if((group = H5Gcreate (file, objname, 0))<0) TEST_ERROR; + if((group = H5Gcreate (file, objname, (size_t)0)) < 0) TEST_ERROR /* Create nested groups inside top groups */ for(v=0; v<FILESPACE_NESTED_GROUPS; v++) { /* Create group */ sprintf(objname,"%s %u",GROUP2NAME,v); - if((group2 = H5Gcreate (group, objname, 0))<0) TEST_ERROR; + if((group2 = H5Gcreate (group, objname, (size_t)0)) < 0) TEST_ERROR /* Create datasets inside nested groups */ for(w=0; w<FILESPACE_NDATASETS; w++) { /* Create & close a dataset */ sprintf(objname,"%s %u",DATASETNAME,w); - if((dataset = H5Dcreate (group2, objname, H5T_NATIVE_INT, space, H5P_DEFAULT))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (group2, objname, H5T_NATIVE_INT, space, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR } /* end for */ /* Close nested group */ - if(H5Gclose (group2)<0) TEST_ERROR; + if(H5Gclose (group2) < 0) TEST_ERROR } /* end for */ /* Close top group */ - if(H5Gclose (group)<0) TEST_ERROR; + if(H5Gclose (group) < 0) TEST_ERROR } /* end for */ /* Remove complex group hierarchy */ @@ -1022,47 +992,45 @@ test_filespace(void) for(u=FILESPACE_TOP_GROUPS; u>0; u--) { /* Open group */ sprintf(objname,"%s %u",GROUPNAME,(u-1)); - if((group = H5Gopen (file, objname))<0) TEST_ERROR; + if((group = H5Gopen (file, objname)) < 0) TEST_ERROR /* Open nested groups inside top groups */ for(v=0; v<FILESPACE_NESTED_GROUPS; v++) { /* Create group */ sprintf(objname,"%s %u",GROUP2NAME,v); - if((group2 = H5Gopen (group, objname))<0) TEST_ERROR; + if((group2 = H5Gopen (group, objname)) < 0) TEST_ERROR /* Remove datasets inside nested groups */ for(w=0; w<FILESPACE_NDATASETS; w++) { /* Remove dataset */ sprintf(objname,"%s %u",DATASETNAME,w); - if(H5Gunlink (group2, objname)<0) TEST_ERROR; + if(H5Gunlink (group2, objname) < 0) TEST_ERROR } /* end for */ /* Close nested group */ - if(H5Gclose (group2)<0) TEST_ERROR; + if(H5Gclose (group2) < 0) TEST_ERROR /* Remove nested group */ sprintf(objname,"%s %u",GROUP2NAME,v); - if(H5Gunlink (group, objname)<0) TEST_ERROR; + if(H5Gunlink (group, objname) < 0) TEST_ERROR } /* end for */ /* Close top group */ - if(H5Gclose (group)<0) TEST_ERROR; + if(H5Gclose (group) < 0) TEST_ERROR /* Remove top group */ sprintf(objname,"%s %u",GROUPNAME,(u-1)); - if(H5Gunlink (file, objname)<0) TEST_ERROR; + if(H5Gunlink (file, objname) < 0) TEST_ERROR } /* end for */ /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR -#ifdef H5_GROUP_REVISION /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; -#endif /* H5_GROUP_REVISION */ + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -1070,11 +1038,11 @@ test_filespace(void) TESTING(" duplicate dataset"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single dataset to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, H5P_DEFAULT))<0) TEST_ERROR; - if(H5Dclose (dataset)<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Dclose (dataset) < 0) TEST_ERROR /* Create another dataset with same name */ H5E_BEGIN_TRY { @@ -1082,20 +1050,20 @@ test_filespace(void) } H5E_END_TRY; if (dataset>=0) { H5Dclose(dataset); - TEST_ERROR; + TEST_ERROR } /* end if */ /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -1103,32 +1071,32 @@ test_filespace(void) TESTING(" duplicate group"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a single group to remove */ - if((group = H5Gcreate (file, GROUPNAME, 0))<0) TEST_ERROR; - if(H5Gclose (group)<0) TEST_ERROR; + if((group = H5Gcreate (file, GROUPNAME, (size_t)0)) < 0) TEST_ERROR + if(H5Gclose (group) < 0) TEST_ERROR /* Create another group with same name */ H5E_BEGIN_TRY { - group = H5Gcreate (file, GROUPNAME, 0); + group = H5Gcreate (file, GROUPNAME, (size_t)0); } H5E_END_TRY; if (group>=0) { H5Gclose(group); - TEST_ERROR; + TEST_ERROR } /* end if */ /* Remove the group */ - if(H5Gunlink (file, GROUPNAME)<0) TEST_ERROR; + if(H5Gunlink (file, GROUPNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -1136,36 +1104,36 @@ test_filespace(void) TESTING(" duplicate named datatype"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create datatype to commit */ - if((type = H5Tcopy (H5T_NATIVE_INT))<0) TEST_ERROR; + if((type = H5Tcopy (H5T_NATIVE_INT)) < 0) TEST_ERROR /* Create a single named datatype to remove */ - if(H5Tcommit (file, TYPENAME, type)<0) TEST_ERROR; - if(H5Tclose (type)<0) TEST_ERROR; + if(H5Tcommit (file, TYPENAME, type) < 0) TEST_ERROR + if(H5Tclose (type) < 0) TEST_ERROR /* Create datatype to commit */ - if((type = H5Tcopy (H5T_NATIVE_INT))<0) TEST_ERROR; + if((type = H5Tcopy (H5T_NATIVE_INT)) < 0) TEST_ERROR /* Create another named datatype with same name */ H5E_BEGIN_TRY { status = H5Tcommit (file, TYPENAME, type); } H5E_END_TRY; - if (status>=0) TEST_ERROR; - if(H5Tclose (type)<0) TEST_ERROR; + if (status>=0) TEST_ERROR + if(H5Tclose (type) < 0) TEST_ERROR /* Remove the named datatype */ - if(H5Gunlink (file, TYPENAME)<0) TEST_ERROR; + if(H5Gunlink (file, TYPENAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -1173,21 +1141,21 @@ test_filespace(void) TESTING(" duplicate attribute"); /* Create file */ - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create datasets to remove */ - if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl))<0) TEST_ERROR; + if((dataset = H5Dcreate (file, DATASETNAME, H5T_NATIVE_INT, space, contig_dcpl)) < 0) TEST_ERROR /* Create a dataspace for the attributes */ - if((attr_space = H5Screate_simple(FILESPACE_ATTR_NDIMS, attr_dims, NULL))<0) TEST_ERROR; + if((attr_space = H5Screate_simple(FILESPACE_ATTR_NDIMS, attr_dims, NULL)) < 0) TEST_ERROR /* Create an attribute on the dataset */ - if((attr = H5Acreate (dataset, ATTRNAME, H5T_NATIVE_INT, attr_space, H5P_DEFAULT))<0) TEST_ERROR; + if((attr = H5Acreate (dataset, ATTRNAME, H5T_NATIVE_INT, attr_space, H5P_DEFAULT)) < 0) TEST_ERROR /* Don't worry about writing the attribute - it will have a fill value */ /* Close the attribute on the dataset */ - if(H5Aclose (attr)<0) TEST_ERROR; + if(H5Aclose (attr) < 0) TEST_ERROR /* Create another attribute with same name */ H5E_BEGIN_TRY { @@ -1195,26 +1163,26 @@ test_filespace(void) } H5E_END_TRY; if (attr>=0) { H5Aclose(attr); - TEST_ERROR; + TEST_ERROR } /* end if */ /* Close the dataspace for the attributes */ - if(H5Sclose (attr_space)<0) TEST_ERROR; + if(H5Sclose (attr_space) < 0) TEST_ERROR /* Close dataset */ - if(H5Dclose (dataset)<0) TEST_ERROR; + if(H5Dclose (dataset) < 0) TEST_ERROR /* Remove the dataset */ - if(H5Gunlink (file, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink (file, DATASETNAME) < 0) TEST_ERROR /* Close file */ - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR /* Get the size of the file */ - if((file_size=h5_get_file_size(filename))==0) TEST_ERROR; + if((file_size=h5_get_file_size(filename))==0) TEST_ERROR /* Verify the file is correct size */ - if(file_size!=empty_size) TEST_ERROR; + if(file_size!=empty_size) TEST_ERROR PASSED(); @@ -1224,16 +1192,15 @@ test_filespace(void) HDfree(data); /* Close property lists */ - if(H5Pclose(fapl)<0) TEST_ERROR; - if(H5Pclose(fapl_nocache)<0) TEST_ERROR; - if(H5Pclose(contig_dcpl)<0) TEST_ERROR; - if(H5Pclose(early_chunk_dcpl)<0) TEST_ERROR; - if(H5Pclose(late_chunk_dcpl)<0) TEST_ERROR; - if(H5Pclose(comp_dcpl)<0) TEST_ERROR; - if(H5Pclose(compact_dcpl)<0) TEST_ERROR; + if(H5Pclose(fapl_nocache) < 0) TEST_ERROR + if(H5Pclose(contig_dcpl) < 0) TEST_ERROR + if(H5Pclose(early_chunk_dcpl) < 0) TEST_ERROR + if(H5Pclose(late_chunk_dcpl) < 0) TEST_ERROR + if(H5Pclose(comp_dcpl) < 0) TEST_ERROR + if(H5Pclose(compact_dcpl) < 0) TEST_ERROR /* Close dataspace */ - if(H5Sclose(space)<0) TEST_ERROR; + if(H5Sclose(space) < 0) TEST_ERROR /* Indicate success */ /* Don't print final "PASSED", since we aren't on the correct line anymore */ @@ -1274,48 +1241,37 @@ static int test_create_unlink(const char *msg, hid_t fapl) /* Create file */ h5_fixname(FILENAME[3], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) - { - H5_FAILED(); - puts(" Creating file failed"); - goto error; - } + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + FAIL_PUTS_ERROR(" Creating file failed") /* Create a many groups to remove */ for(u=0; u<UNLINK_NGROUPS; u++) { sprintf(groupname,"%s %u",GROUPNAME,u); - if((group = H5Gcreate (file, groupname, 0))<0) - { + if((group = H5Gcreate (file, groupname, (size_t)0)) < 0) { H5_FAILED(); - printf("group %s creation failed\n",groupname); + printf("group %s creation failed\n", groupname); goto error; - } - if(H5Gclose (group)<0) - { + } /* end if */ + if(H5Gclose (group) < 0) { H5_FAILED(); - printf("closing group %s failed\n",groupname); + printf("closing group %s failed\n", groupname); goto error; - } + } /* end if */ } /* end for */ /* Remove the all the groups */ for(u=0; u<UNLINK_NGROUPS; u++) { sprintf(groupname,"%s %u",GROUPNAME,u); - if(H5Gunlink (file, groupname)<0) - { + if(H5Gunlink(file, groupname) < 0) { H5_FAILED(); - printf("Unlinking group %s failed\n",groupname); + printf("Unlinking group %s failed\n", groupname); goto error; - } + } /* end if */ } /* end for */ /* Close file */ - if(H5Fclose(file)<0) - { - H5_FAILED(); - printf("Closing file failed\n"); - goto error; - } + if(H5Fclose(file) < 0) + FAIL_PUTS_ERROR("Closing file failed") PASSED(); return 0; @@ -1341,9 +1297,8 @@ error: *------------------------------------------------------------------------- */ static int -test_link_slashes(void) +test_link_slashes(hid_t fapl) { - hid_t fapl; /* File access property list */ hid_t fid; /* File ID */ hid_t gid,gid2; /* Group ID */ char filename[1024]; @@ -1351,41 +1306,40 @@ test_link_slashes(void) TESTING("creating links with multiple slashes"); /* Create file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[5], fapl, filename, sizeof filename); /* Create a file */ - if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) TEST_ERROR; + if((fid=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR /* Create a group in the root group */ - if((gid = H5Gcreate(fid, SLASHES_GROUP_NAME, 0))<0) TEST_ERROR; + if((gid = H5Gcreate(fid, SLASHES_GROUP_NAME, (size_t)0)) < 0) TEST_ERROR /* Create a nested group in the root group */ - if((gid2 = H5Gcreate(gid, SLASHES_GROUP_NAME, 0))<0) TEST_ERROR; + if((gid2 = H5Gcreate(gid, SLASHES_GROUP_NAME, (size_t)0)) < 0) TEST_ERROR /* Close the nested group */ - if(H5Gclose(gid2)<0) TEST_ERROR; + if(H5Gclose(gid2) < 0) TEST_ERROR /* Create a hard link to the nested group */ - if(H5Glink2(gid, SLASHES_GROUP_NAME, H5L_LINK_HARD, H5G_SAME_LOC, SLASHES_HARDLINK_NAME)<0) TEST_ERROR; + if(H5Glink2(gid, SLASHES_GROUP_NAME, H5L_TYPE_HARD, H5G_SAME_LOC, SLASHES_HARDLINK_NAME) < 0) TEST_ERROR /* Create a soft link with a relative path to the nested group */ - if(H5Glink2(gid, SLASHES_GROUP_NAME, H5L_LINK_SOFT, H5G_SAME_LOC, SLASHES_SOFTLINK_NAME)<0) TEST_ERROR; + if(H5Glink2(gid, SLASHES_GROUP_NAME, H5L_TYPE_SOFT, H5G_SAME_LOC, SLASHES_SOFTLINK_NAME) < 0) TEST_ERROR /* Create a soft link with the full path to the nested group */ - if(H5Glink2(gid, "////"SLASHES_GROUP_NAME""SLASHES_GROUP_NAME, H5L_LINK_SOFT, H5G_SAME_LOC, SLASHES_SOFTLINK2_NAME)<0) TEST_ERROR; + if(H5Glink2(gid, "////"SLASHES_GROUP_NAME""SLASHES_GROUP_NAME, H5L_TYPE_SOFT, H5G_SAME_LOC, SLASHES_SOFTLINK2_NAME) < 0) TEST_ERROR /* Create a soft link to the root group */ - if(H5Glink2(gid, "////", H5L_LINK_SOFT, H5G_SAME_LOC, SLASHES_ROOTLINK_NAME)<0) TEST_ERROR; + if(H5Glink2(gid, "////", H5L_TYPE_SOFT, H5G_SAME_LOC, SLASHES_ROOTLINK_NAME) < 0) TEST_ERROR /* Close the group */ - if(H5Gclose(gid)<0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Create a hard link to the existing group */ - if(H5Glink2(fid, SLASHES_GROUP_NAME, H5L_LINK_HARD, H5G_SAME_LOC, SLASHES_HARDLINK_NAME)<0) TEST_ERROR; + if(H5Glink2(fid, SLASHES_GROUP_NAME, H5L_TYPE_HARD, H5G_SAME_LOC, SLASHES_HARDLINK_NAME) < 0) TEST_ERROR /* Close the file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -1411,9 +1365,8 @@ error: *------------------------------------------------------------------------- */ static int -test_unlink_slashes(void) +test_unlink_slashes(hid_t fapl) { - hid_t fapl; /* File access property list */ hid_t fid; /* File ID */ hid_t gid; /* Group ID */ char filename[1024]; @@ -1421,41 +1374,40 @@ test_unlink_slashes(void) TESTING("deleting links with multiple slashes"); /* Create file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[5], fapl, filename, sizeof filename); /* Open the file */ - if((fid=H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT))<0) TEST_ERROR; + if((fid=H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) TEST_ERROR /* Open the top level group */ - if((gid = H5Gopen(fid, SLASHES_GROUP_NAME))<0) TEST_ERROR; + if((gid = H5Gopen(fid, SLASHES_GROUP_NAME)) < 0) TEST_ERROR /* Delete the root link */ - if(H5Gunlink(gid,SLASHES_ROOTLINK_NAME)<0) TEST_ERROR; + if(H5Gunlink(gid,SLASHES_ROOTLINK_NAME) < 0) TEST_ERROR /* Delete the soft link with the full path */ - if(H5Gunlink(gid,SLASHES_SOFTLINK2_NAME)<0) TEST_ERROR; + if(H5Gunlink(gid,SLASHES_SOFTLINK2_NAME) < 0) TEST_ERROR /* Delete the soft link with the relative path */ - if(H5Gunlink(gid,SLASHES_SOFTLINK_NAME)<0) TEST_ERROR; + if(H5Gunlink(gid,SLASHES_SOFTLINK_NAME) < 0) TEST_ERROR /* Delete the hard link */ - if(H5Gunlink(gid,SLASHES_HARDLINK_NAME)<0) TEST_ERROR; + if(H5Gunlink(gid,SLASHES_HARDLINK_NAME) < 0) TEST_ERROR /* Delete the group itself */ - if(H5Gunlink(gid,SLASHES_GROUP_NAME)<0) TEST_ERROR; + if(H5Gunlink(gid,SLASHES_GROUP_NAME) < 0) TEST_ERROR /* Close the group */ - if(H5Gclose(gid)<0) TEST_ERROR; + if(H5Gclose(gid) < 0) TEST_ERROR /* Delete the hard link */ - if(H5Gunlink(fid,SLASHES_HARDLINK_NAME)<0) TEST_ERROR; + if(H5Gunlink(fid,SLASHES_HARDLINK_NAME) < 0) TEST_ERROR /* Delete the group itself */ - if(H5Gunlink(fid,SLASHES_GROUP_NAME)<0) TEST_ERROR; + if(H5Gunlink(fid,SLASHES_GROUP_NAME) < 0) TEST_ERROR /* Close the file */ - if(H5Fclose(fid)<0) TEST_ERROR; + if(H5Fclose(fid) < 0) TEST_ERROR PASSED(); return 0; @@ -1472,20 +1424,20 @@ static int delete_node (hid_t pid, hid_t id) char name[256]; /* Name of object to close */ /* Get the name of the object to delete */ - if(H5Iget_name(id, name, sizeof(name))<0) return (-1); + if(H5Iget_name(id, name, sizeof(name)) < 0) return (-1); /* Close the object */ - if(H5Gclose (id)<0) return(-1); + if(H5Gclose (id) < 0) return(-1); /* Unlink the object */ - if(H5Gunlink (pid, name)<0) return(-1); + if(H5Gunlink (pid, name) < 0) return(-1); /* If this object is the right-most child, try opening the previous object */ if(HDstrcmp(name,"/Zone81")==0) { hid_t gid; - if((gid = H5Gopen (pid, "/Zone80"))<0) return(-1); - if(H5Gclose(gid)<0) return(-1); + if((gid = H5Gopen (pid, "/Zone80")) < 0) return(-1); + if(H5Gclose(gid) < 0) return(-1); } /* end if */ /* Indicate success */ @@ -1522,29 +1474,29 @@ test_unlink_rightleaf(hid_t fid) /* Allocate space for the group IDs */ gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t)); - if(gids==NULL) TEST_ERROR; + if(gids==NULL) TEST_ERROR - if((rootid = H5Gopen (fid, "/"))<0) TEST_ERROR; + if((rootid = H5Gopen (fid, "/")) < 0) TEST_ERROR /* Create all the groups */ for (n = 0; n < ngroups; n++) { sprintf(name, "Zone%d", n + 1); - if((gids[n] = H5Gcreate (rootid, name, 0))<0) TEST_ERROR; + if((gids[n] = H5Gcreate (rootid, name, (size_t)0)) < 0) TEST_ERROR } /* end for */ /* Unlink & re-create each group */ for (n = 0; n < ngroups; n++) { - if(delete_node (rootid, gids[n])<0) TEST_ERROR; + if(delete_node (rootid, gids[n]) < 0) TEST_ERROR sprintf(name, "Zone%d", n + 1); - if((gids[n] = H5Gcreate (rootid, name, 0))<0) TEST_ERROR; + if((gids[n] = H5Gcreate (rootid, name, (size_t)0)) < 0) TEST_ERROR } /* end for */ /* Close all the groups */ for (n = 0; n < ngroups; n++) - if(H5Gclose(gids[n])<0) TEST_ERROR; + if(H5Gclose(gids[n]) < 0) TEST_ERROR /* Close root group ID */ - if(H5Gclose(rootid)<0) TEST_ERROR; + if(H5Gclose(rootid) < 0) TEST_ERROR /* Free memory */ HDfree(gids); @@ -1586,29 +1538,29 @@ test_unlink_rightnode(hid_t fid) /* Allocate space for the group IDs */ gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t)); - if(gids==NULL) TEST_ERROR; + if(gids==NULL) TEST_ERROR - if((rootid = H5Gopen (fid, "/"))<0) TEST_ERROR; + if((rootid = H5Gopen (fid, "/")) < 0) TEST_ERROR /* Create all the groups */ for (n = 0; n < ngroups; n++) { sprintf(name, "ZoneB%d", n + 1); - if((gids[n] = H5Gcreate (rootid, name, 0))<0) TEST_ERROR; + if((gids[n] = H5Gcreate (rootid, name, (size_t)0)) < 0) TEST_ERROR } /* end for */ /* Close all the groups */ for (n = 0; n < ngroups; n++) - if(H5Gclose(gids[n])<0) TEST_ERROR; + if(H5Gclose(gids[n]) < 0) TEST_ERROR /* Unlink specific objects to trigger deletion of right leaf in non-leaf node */ - if(H5Gunlink(fid,"/ZoneB77")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneB78")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneB79")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneB8")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneB80")<0) TEST_ERROR; + if(H5Gunlink(fid,"/ZoneB77") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneB78") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneB79") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneB8") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneB80") < 0) TEST_ERROR /* Close root group ID */ - if(H5Gclose(rootid)<0) TEST_ERROR; + if(H5Gclose(rootid) < 0) TEST_ERROR /* Free memory */ HDfree(gids); @@ -1650,172 +1602,172 @@ test_unlink_middlenode(hid_t fid) /* Allocate space for the group IDs */ gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t)); - if(gids==NULL) TEST_ERROR; + if(gids==NULL) TEST_ERROR - if((rootid = H5Gopen (fid, "/"))<0) TEST_ERROR; + if((rootid = H5Gopen (fid, "/")) < 0) TEST_ERROR /* Create all the groups */ for (n = 0; n < ngroups; n++) { sprintf(name, "ZoneC%d", n + 1); - if((gids[n] = H5Gcreate (rootid, name, 0))<0) TEST_ERROR; + if((gids[n] = H5Gcreate (rootid, name, (size_t)0)) < 0) TEST_ERROR } /* end for */ /* Close all the groups */ for (n = 0; n < ngroups; n++) - if(H5Gclose(gids[n])<0) TEST_ERROR; + if(H5Gclose(gids[n]) < 0) TEST_ERROR /* Unlink specific objects to trigger deletion of all leafs in "interior" non-leaf node */ - if(H5Gunlink(fid,"/ZoneC11")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC110")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC111")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC112")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC113")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC114")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC115")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC116")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC117")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC118")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC119")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC12")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC120")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC121")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC122")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC123")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC124")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC125")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC126")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC127")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC128")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC129")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC13")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC130")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC131")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC132")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC133")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC134")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC135")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC136")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC137")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC138")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC139")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC14")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC140")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC141")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC142")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC143")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC144")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC145")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC146")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC147")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC148")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC149")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC15")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC150")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC151")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC152")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC153")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC154")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC155")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC156")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC157")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC158")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC159")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC16")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC160")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC161")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC162")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC163")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC164")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC165")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC166")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC167")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC168")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC169")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC17")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC170")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC171")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC172")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC173")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC174")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC175")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC176")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC177")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC178")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC179")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC18")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC180")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC19")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC2")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC20")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC21")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC22")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC23")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC24")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC25")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC26")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC27")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC28")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC29")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC3")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC30")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC31")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC32")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC33")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC34")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC35")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC36")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC37")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC38")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC39")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC4")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC40")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC41")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC42")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC43")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC44")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC45")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC46")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC47")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC48")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC49")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC5")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC50")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC51")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC52")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC53")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC54")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC55")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC56")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC57")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC58")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC59")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC6")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC60")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC61")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC62")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC63")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC64")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC65")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC66")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC67")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC68")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC69")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC7")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC70")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC71")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC72")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC73")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC74")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC75")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC76")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC77")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC78")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC79")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC8")<0) TEST_ERROR; - if(H5Gunlink(fid,"/ZoneC80")<0) TEST_ERROR; + if(H5Gunlink(fid,"/ZoneC11") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC110") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC111") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC112") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC113") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC114") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC115") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC116") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC117") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC118") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC119") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC12") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC120") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC121") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC122") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC123") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC124") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC125") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC126") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC127") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC128") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC129") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC13") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC130") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC131") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC132") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC133") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC134") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC135") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC136") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC137") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC138") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC139") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC14") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC140") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC141") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC142") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC143") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC144") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC145") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC146") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC147") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC148") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC149") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC15") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC150") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC151") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC152") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC153") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC154") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC155") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC156") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC157") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC158") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC159") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC16") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC160") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC161") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC162") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC163") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC164") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC165") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC166") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC167") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC168") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC169") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC17") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC170") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC171") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC172") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC173") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC174") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC175") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC176") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC177") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC178") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC179") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC18") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC180") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC19") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC2") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC20") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC21") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC22") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC23") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC24") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC25") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC26") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC27") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC28") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC29") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC3") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC30") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC31") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC32") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC33") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC34") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC35") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC36") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC37") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC38") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC39") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC4") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC40") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC41") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC42") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC43") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC44") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC45") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC46") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC47") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC48") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC49") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC5") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC50") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC51") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC52") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC53") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC54") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC55") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC56") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC57") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC58") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC59") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC6") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC60") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC61") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC62") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC63") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC64") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC65") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC66") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC67") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC68") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC69") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC7") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC70") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC71") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC72") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC73") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC74") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC75") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC76") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC77") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC78") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC79") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC8") < 0) TEST_ERROR + if(H5Gunlink(fid,"/ZoneC80") < 0) TEST_ERROR /* Close root group ID */ - if(H5Gclose(rootid)<0) TEST_ERROR; + if(H5Gclose(rootid) < 0) TEST_ERROR /* Free memory */ HDfree(gids); @@ -1845,48 +1797,46 @@ error: *------------------------------------------------------------------------- */ static int -test_resurrect_dataset(void) +test_resurrect_dataset(hid_t fapl) { - hid_t f=-1, s=-1, d=-1, fapl=-1; + hid_t f=-1, s=-1, d=-1; char filename[1024]; TESTING("resurrecting dataset after deletion"); /* Create file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[6], fapl, filename, sizeof filename); /* Create the file */ - if((f = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((f = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a dataset in the file */ - if((s = H5Screate(H5S_SCALAR))<0) TEST_ERROR; - if((d = H5Dcreate(f, DATASETNAME, H5T_NATIVE_INT, s, H5P_DEFAULT))<0) TEST_ERROR; - if(H5Sclose(s)<0) TEST_ERROR; + if((s = H5Screate(H5S_SCALAR)) < 0) TEST_ERROR + if((d = H5Dcreate(f, DATASETNAME, H5T_NATIVE_INT, s, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Sclose(s) < 0) TEST_ERROR /* Unlink the dataset while it's open (will mark it for deletion when closed) */ - if(H5Gunlink(f, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink(f, DATASETNAME) < 0) TEST_ERROR /* Check that dataset name is NULL */ - if(H5Iget_name(d, NULL, 0) != 0) TEST_ERROR; + if(H5Iget_name(d, NULL, (size_t)0) != 0) TEST_ERROR /* Re-link the dataset to the group hierarchy (shouldn't get deleted now) */ - if(H5Glink2(d, ".", H5L_LINK_HARD, f, DATASET2NAME)<0) TEST_ERROR; + if(H5Glink2(d, ".", H5L_TYPE_HARD, f, DATASET2NAME) < 0) TEST_ERROR /* Close things */ - if(H5Dclose(d)<0) TEST_ERROR; - if(H5Fclose(f)<0) TEST_ERROR; + if(H5Dclose(d) < 0) TEST_ERROR + if(H5Fclose(f) < 0) TEST_ERROR /* Re-open the file */ - if((f=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if((f=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Attempt to open the dataset under the new name */ - if((d=H5Dopen(f,DATASET2NAME))<0) TEST_ERROR; + if((d=H5Dopen(f,DATASET2NAME)) < 0) TEST_ERROR /* Close things */ - if(H5Dclose(d)<0) TEST_ERROR; - if(H5Fclose(f)<0) TEST_ERROR; - if(H5Pclose(fapl)<0) TEST_ERROR; + if(H5Dclose(d) < 0) TEST_ERROR + if(H5Fclose(f) < 0) TEST_ERROR PASSED(); return 0; @@ -1896,7 +1846,6 @@ error: H5Sclose(s); H5Dclose(d); H5Fclose(f); - H5Pclose(fapl); } H5E_END_TRY; return 1; } /* end test_resurrect_dataset() */ @@ -1919,46 +1868,45 @@ error: *------------------------------------------------------------------------- */ static int -test_resurrect_datatype(void) +test_resurrect_datatype(hid_t fapl) { - hid_t file=-1, type=-1, fapl=-1; + hid_t file=-1, type=-1; char filename[1024]; TESTING("resurrecting datatype after deletion"); /* Create file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[7], fapl, filename, sizeof filename); /* Create the file */ - if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a named datatype in the file */ - if((type = H5Tcopy (H5T_NATIVE_INT))<0) TEST_ERROR; - if(H5Tcommit (file, TYPENAME, type)<0) TEST_ERROR; + if((type = H5Tcopy (H5T_NATIVE_INT)) < 0) TEST_ERROR + if(H5Tcommit (file, TYPENAME, type) < 0) TEST_ERROR /* Unlink the datatype while it's open (will mark it for deletion when closed) */ - if(H5Gunlink(file, TYPENAME)<0) TEST_ERROR; + if(H5Gunlink(file, TYPENAME) < 0) TEST_ERROR /* Check that datatype name is NULL */ - if(H5Iget_name(type, NULL, 0) != 0) TEST_ERROR; + if(H5Iget_name(type, NULL, (size_t)0) != 0) TEST_ERROR /* Re-link the datatype to the group hierarchy (shouldn't get deleted now) */ - if(H5Glink2(type, ".", H5L_LINK_HARD, file, TYPE2NAME) < 0) TEST_ERROR; + if(H5Glink2(type, ".", H5L_TYPE_HARD, file, TYPE2NAME) < 0) TEST_ERROR /* Close things */ - if(H5Tclose(type)<0) TEST_ERROR; - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Tclose(type) < 0) TEST_ERROR + if(H5Fclose(file) < 0) TEST_ERROR /* Re-open the file */ - if((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Attempt to open the datatype under the new name */ - if((type=H5Topen(file,TYPE2NAME))<0) TEST_ERROR; + if((type=H5Topen(file,TYPE2NAME)) < 0) TEST_ERROR /* Close things */ - if(H5Tclose(type)<0) TEST_ERROR; - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Tclose(type) < 0) TEST_ERROR + if(H5Fclose(file) < 0) TEST_ERROR PASSED(); return 0; @@ -1989,45 +1937,44 @@ error: *------------------------------------------------------------------------- */ static int -test_resurrect_group(void) +test_resurrect_group(hid_t fapl) { - hid_t file=-1, group=-1, fapl=-1; + hid_t file=-1, group=-1; char filename[1024]; TESTING("resurrecting group after deletion"); /* Create file */ - fapl = h5_fileaccess(); h5_fixname(FILENAME[8], fapl, filename, sizeof filename); /* Create the file */ - if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) TEST_ERROR; + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create a group in the file */ - if((group = H5Gcreate (file, GROUPNAME, 0))<0) TEST_ERROR; + if((group = H5Gcreate (file, GROUPNAME, (size_t)0)) < 0) TEST_ERROR /* Unlink the group while it's open (will mark it for deletion when closed) */ - if(H5Gunlink(file, GROUPNAME)<0) TEST_ERROR; + if(H5Gunlink(file, GROUPNAME) < 0) TEST_ERROR /* Check that group's name is NULL */ - if(H5Iget_name(group, NULL, 0) != 0) TEST_ERROR; + if(H5Iget_name(group, NULL, (size_t)0) != 0) TEST_ERROR /* Re-link the group into the group hierarchy (shouldn't get deleted now) */ - if(H5Glink2(group, ".", H5L_LINK_HARD, file, GROUP2NAME)<0) TEST_ERROR; + if(H5Glink2(group, ".", H5L_TYPE_HARD, file, GROUP2NAME) < 0) TEST_ERROR /* Close things */ - if(H5Gclose(group)<0) TEST_ERROR; - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Gclose(group) < 0) TEST_ERROR + if(H5Fclose(file) < 0) TEST_ERROR /* Re-open the file */ - if((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; + if((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR /* Attempt to open the datatype under the new name */ - if((group=H5Gopen(file,GROUP2NAME))<0) TEST_ERROR; + if((group=H5Gopen(file,GROUP2NAME)) < 0) TEST_ERROR /* Close things */ - if(H5Gclose(group)<0) TEST_ERROR; - if(H5Fclose(file)<0) TEST_ERROR; + if(H5Gclose(group) < 0) TEST_ERROR + if(H5Fclose(file) < 0) TEST_ERROR PASSED(); return 0; @@ -2057,9 +2004,8 @@ error: *------------------------------------------------------------------------- */ static int -test_unlink_chunked_dataset(void) +test_unlink_chunked_dataset(hid_t fapl) { - hid_t fapl_id=-1; hid_t file_id=-1; hid_t dset_id=-1; hid_t space_id=-1; @@ -2072,50 +2018,46 @@ test_unlink_chunked_dataset(void) TESTING("unlinking chunked dataset"); /* Create file */ - fapl_id = h5_fileaccess(); - h5_fixname(FILENAME[9], fapl_id, filename, sizeof filename); + h5_fixname(FILENAME[9], fapl, filename, sizeof filename); /* Create the file */ - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id))<0) TEST_ERROR; + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create the dataspace */ - if((space_id=H5Screate_simple(FILESPACE_NDIMS,dims,max_dims))<0) TEST_ERROR; + if((space_id=H5Screate_simple(FILESPACE_NDIMS,dims,max_dims)) < 0) TEST_ERROR /* Create the dataset creation filter */ - if((dcpl_id=H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR; + if((dcpl_id=H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR /* Set to chunked storage */ - if(H5Pset_chunk(dcpl_id,FILESPACE_NDIMS,chunk_dims)<0) TEST_ERROR; + if(H5Pset_chunk(dcpl_id,FILESPACE_NDIMS,chunk_dims) < 0) TEST_ERROR /* Set to early space allocation */ - if(H5Pset_alloc_time(dcpl_id,H5D_ALLOC_TIME_EARLY)<0) TEST_ERROR; + if(H5Pset_alloc_time(dcpl_id,H5D_ALLOC_TIME_EARLY) < 0) TEST_ERROR /* Create the dataset */ - if((dset_id = H5Dcreate(file_id,DATASETNAME,H5T_NATIVE_INT,space_id,dcpl_id))<0) TEST_ERROR; + if((dset_id = H5Dcreate(file_id,DATASETNAME,H5T_NATIVE_INT,space_id,dcpl_id)) < 0) TEST_ERROR /* Close the dataspace */ - if(H5Sclose(space_id)<0) TEST_ERROR; + if(H5Sclose(space_id) < 0) TEST_ERROR /* Close the dataset creation property list */ - if(H5Pclose(dcpl_id)<0) TEST_ERROR; + if(H5Pclose(dcpl_id) < 0) TEST_ERROR /* Close the dataset */ - if(H5Dclose(dset_id)<0) TEST_ERROR; + if(H5Dclose(dset_id) < 0) TEST_ERROR /* Close the file */ - if(H5Fclose(file_id)<0) TEST_ERROR; + if(H5Fclose(file_id) < 0) TEST_ERROR /* Re-open the file */ - if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id))<0) TEST_ERROR; + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Delete the dataset */ - if(H5Gunlink(file_id, DATASETNAME)<0) TEST_ERROR; + if(H5Gunlink(file_id, DATASETNAME) < 0) TEST_ERROR /* Close the file */ - if(H5Fclose(file_id)<0) TEST_ERROR; - - /* Close the file access property list */ - if(H5Pclose(fapl_id)<0) TEST_ERROR; + if(H5Fclose(file_id) < 0) TEST_ERROR PASSED(); return 0; @@ -2126,12 +2068,10 @@ error: H5Sclose(space_id); H5Dclose(dset_id); H5Fclose(file_id); - H5Pclose(fapl_id); } H5E_END_TRY; return 1; } /* end test_unlink_chunked_dataset() */ -#ifdef H5_GROUP_REVISION /*------------------------------------------------------------------------- * Function: test_full_group_compact @@ -2147,9 +2087,8 @@ error: *------------------------------------------------------------------------- */ static int -test_full_group_compact(void) +test_full_group_compact(hid_t fapl) { - hid_t fapl_id = -1; hid_t file_id = -1; hid_t gid = -1, gid2 = -1; /* Group IDs */ H5G_stat_t sb; /* Stat buffer for object */ @@ -2162,12 +2101,11 @@ test_full_group_compact(void) TESTING("unlinking non-empty compact group"); - /* Create file */ - fapl_id = h5_fileaccess(); - h5_fixname(FILENAME[10], fapl_id, filename, sizeof filename); + /* Create filename */ + h5_fixname(FILENAME[10], fapl, filename, sizeof filename); /* Create the file */ - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id))<0) TEST_ERROR + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to link objects to */ if((gid = H5Gcreate(file_id, "/keep", (size_t)0)) < 0) TEST_ERROR @@ -2189,22 +2127,22 @@ test_full_group_compact(void) if((keep_size = h5_get_file_size(filename)) == 0) TEST_ERROR /* Re-open the file */ - if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Create group to delete */ - if((gid = H5Gcreate(file_id, "/delete", (size_t)0)) < 0) goto error; + if((gid = H5Gcreate(file_id, "/delete", (size_t)0)) < 0) TEST_ERROR /* Create external link (doesn't matter if it dangles) */ if(H5Lcreate_external("foo.h5", "/dst", gid, "external", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create soft link (doesn't matter if it dangles) */ - if(H5Glink2(file_id, "/foo", H5L_LINK_SOFT, gid, "soft") < 0) TEST_ERROR + if(H5Glink2(file_id, "/foo", H5L_TYPE_SOFT, gid, "soft") < 0) TEST_ERROR /* Create hard links to objects in group to keep */ for(u = 0; u < FULL_GROUP_NUM_KEEP; u++) { sprintf(objname, "/keep/keep %u\n", u); sprintf(objname2, "keep %u\n", u); - if(H5Glink2(file_id, objname, H5L_LINK_HARD, gid, objname2) < 0) TEST_ERROR + if(H5Glink2(file_id, objname, H5L_TYPE_HARD, gid, objname2) < 0) TEST_ERROR } /* end for */ /* Create several objects to delete */ @@ -2215,9 +2153,9 @@ test_full_group_compact(void) } /* end for */ /* Check on group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) != TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) != TRUE) TEST_ERROR + if(H5G_has_stab_test(gid) == TRUE) TEST_ERROR /* Close group with objects to delete */ if(H5Gclose(gid) < 0) TEST_ERROR @@ -2234,7 +2172,7 @@ test_full_group_compact(void) /* Re-open the file */ - if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Delete the full group */ if(H5Gunlink(file_id, "/delete") < 0) TEST_ERROR @@ -2255,9 +2193,6 @@ test_full_group_compact(void) /* Verify the file is correct size */ if(file_size != keep_size) TEST_ERROR - /* Close the file access property list */ - if(H5Pclose(fapl_id) < 0) TEST_ERROR - PASSED(); return 0; @@ -2266,7 +2201,6 @@ error: H5Gclose(gid2); H5Gclose(gid); H5Fclose(file_id); - H5Pclose(fapl_id); } H5E_END_TRY; return 1; } /* end test_full_group_compact() */ @@ -2286,25 +2220,26 @@ error: *------------------------------------------------------------------------- */ static int -test_full_group_dense(void) +test_full_group_dense(hid_t fapl) { - hid_t fapl_id = -1; hid_t file_id = -1; + hid_t gcpl = (-1); /* Group creation property list ID */ hid_t gid = -1, gid2 = -1; /* Group IDs */ H5G_stat_t sb; /* Stat buffer for object */ char objname[128]; /* Buffer for name of objects to create */ char objname2[128]; /* Buffer for name of objects to create */ char filename[1024]; /* Buffer for filename */ + off_t keep_size; /* Size of the file with objects to keep */ + off_t file_size; /* Size of each file created */ unsigned u; /* Local index variable */ TESTING("unlinking non-empty dense group"); - /* Create file */ - fapl_id = h5_fileaccess(); - h5_fixname(FILENAME[10], fapl_id, filename, sizeof filename); + /* Create filename */ + h5_fixname(FILENAME[10], fapl, filename, sizeof filename); /* Create the file */ - if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id))<0) TEST_ERROR + if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR /* Create group to link objects to */ if((gid = H5Gcreate(file_id, "/keep", (size_t)0)) < 0) TEST_ERROR @@ -2319,20 +2254,42 @@ test_full_group_dense(void) /* Close group with objects to keep */ if(H5Gclose(gid) < 0) TEST_ERROR + /* Close the file */ + if(H5Fclose(file_id) < 0) TEST_ERROR + + /* Get the size of the file with only the objects to keep */ + if((keep_size = h5_get_file_size(filename)) == 0) TEST_ERROR + + /* Re-open the file */ + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR + + /* Set group creation "est. link info" closer to what will actually occur */ + if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR + if(H5Pset_est_link_info(gcpl, FULL_GROUP_EST_NUM_ENTRIES, FULL_GROUP_EST_ENTRY_LEN) < 0) TEST_ERROR + /* Create group to delete */ - if((gid = H5Gcreate(file_id, "/delete", (size_t)0)) < 0) goto error; + /* (use non-default GCPL, in order to make certain that the group's object + * header is large enough to hold the links inserted without allocating + * another object header message chunk - in order to make the file size + * computation below easier/correct - QAK) + */ + if((gid = H5Gcreate_expand(file_id, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR + if(H5Llink(file_id, "/delete", gid, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR + + /* Close GCPL */ + if(H5Pclose(gcpl) < 0) TEST_ERROR /* Create external link (doesn't matter if it dangles) */ if(H5Lcreate_external("foo.h5", "/dst", gid, "external", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR /* Create soft link (doesn't matter if it dangles) */ - if(H5Glink2(file_id, "/foo", H5L_LINK_SOFT, gid, "soft") < 0) TEST_ERROR + if(H5Glink2(file_id, "/foo", H5L_TYPE_SOFT, gid, "soft") < 0) TEST_ERROR /* Create hard links to objects in group to keep */ for(u = 0; u < FULL_GROUP_NUM_KEEP; u++) { sprintf(objname, "/keep/keep %u\n", u); sprintf(objname2, "keep %u\n", u); - if(H5Glink2(file_id, objname, H5L_LINK_HARD, gid, objname2) < 0) TEST_ERROR + if(H5Glink2(file_id, objname, H5L_TYPE_HARD, gid, objname2) < 0) TEST_ERROR } /* end for */ /* Create several objects to delete */ @@ -2343,9 +2300,9 @@ test_full_group_dense(void) } /* end for */ /* Check on group's status */ - if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR; - if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR; - if(H5G_has_stab_test(gid) != TRUE) TEST_ERROR; + if(H5G_is_empty_test(gid) == TRUE) TEST_ERROR + if(H5G_has_links_test(gid, NULL) == TRUE) TEST_ERROR + if(H5G_is_new_dense_test(gid) != TRUE) TEST_ERROR /* Close group with objects to delete */ if(H5Gclose(gid) < 0) TEST_ERROR @@ -2362,7 +2319,7 @@ test_full_group_dense(void) /* Re-open the file */ - if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR + if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0) TEST_ERROR /* Delete the full group */ if(H5Gunlink(file_id, "/delete") < 0) TEST_ERROR @@ -2377,8 +2334,11 @@ test_full_group_dense(void) /* Close the file */ if(H5Fclose(file_id) < 0) TEST_ERROR - /* Close the file access property list */ - if(H5Pclose(fapl_id) < 0) TEST_ERROR + /* Get the size of the file */ + if((file_size = h5_get_file_size(filename)) == 0) TEST_ERROR + + /* Verify the file is correct size */ + if(file_size != keep_size) TEST_ERROR PASSED(); return 0; @@ -2387,12 +2347,11 @@ error: H5E_BEGIN_TRY { H5Gclose(gid2); H5Gclose(gid); + H5Pclose(gcpl); H5Fclose(file_id); - H5Pclose(fapl_id); } H5E_END_TRY; return 1; } /* end test_full_group_dense() */ -#endif /* H5_GROUP_REVISION */ /*------------------------------------------------------------------------- @@ -2414,16 +2373,18 @@ error: int 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) + if(envval == NULL) envval = "nomatch"; - if (HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { + if(HDstrcmp(envval, "core") && HDstrcmp(envval, "split") && HDstrcmp(envval, "multi") && HDstrcmp(envval, "family")) { + hid_t fapl, fapl2, file; + int nerrors = 0; + char filename[1024]; + hbool_t new_format; + /* Metadata cache parameters */ int mdc_nelmts; size_t rdcc_nelmts; @@ -2436,61 +2397,95 @@ main(void) /* 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(); - -#ifdef H5_GROUP_REVISION - /* Test unlinked groups which still have objects in them */ - nerrors += test_full_group_compact(); - nerrors += test_full_group_dense(); -#endif /* H5_GROUP_REVISION */ - - /* Close */ - if (H5Pclose(fapl2)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; + + /* Copy the file access property list */ + if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR + + /* Set the "use the latest version of the format" flag for creating objects in the file */ + if(H5Pset_latest_format(fapl2, TRUE) < 0) TEST_ERROR + + /* Test with old & new format groups */ + for(new_format = FALSE; new_format <= TRUE; new_format++) { + hid_t my_fapl; + + /* Set the FAPL for the type of format */ + if(new_format) { + puts("\nTesting with new group format:"); + my_fapl = fapl2; + } /* end if */ + else { + puts("Testing with old group format:"); + my_fapl = fapl; + } /* end else */ + + h5_fixname(FILENAME[0], my_fapl, filename, sizeof filename); + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, my_fapl)) < 0) TEST_ERROR + + /* Tests */ + nerrors += test_one(file); + nerrors += test_many(file); + nerrors += test_symlink(file); + nerrors += test_rename(file); + + nerrors += test_new_move(my_fapl); + nerrors += check_new_move(my_fapl); + nerrors += test_filespace(my_fapl); + + /* Test creating & unlinking lots of objects with default FAPL */ + nerrors += test_create_unlink("create and unlink large number of objects", my_fapl); + + { + hid_t fapl_small_mdc; + + /* Make copy of regular fapl, to turn down the elements in the metadata cache */ + if((fapl_small_mdc = H5Pcopy(my_fapl)) < 0) + goto error; + + /* Get FAPL cache settings */ + if(H5Pget_cache(fapl_small_mdc, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0) < 0) + printf("H5Pget_cache failed\n"); + + /* Change FAPL cache settings */ + mdc_nelmts=1; + if(H5Pset_cache(fapl_small_mdc, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0) < 0) + printf("H5Pset_cache failed\n"); + + /* 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", fapl_small_mdc); + + if(H5Pclose(fapl_small_mdc) < 0) TEST_ERROR + } /* end block */ + + nerrors += test_link_slashes(my_fapl); + nerrors += test_unlink_slashes(my_fapl); + + /* Test specific B-tree removal issues */ + /* (only for old format groups) */ + if(!new_format) { + nerrors += test_unlink_rightleaf(file); + nerrors += test_unlink_rightnode(file); + nerrors += test_unlink_middlenode(file); + } /* end if */ + + /* Test "resurrecting" objects */ + nerrors += test_resurrect_dataset(my_fapl); + nerrors += test_resurrect_datatype(my_fapl); + nerrors += test_resurrect_group(my_fapl); + + /* Test unlinking chunked datasets */ + nerrors += test_unlink_chunked_dataset(my_fapl); + + /* Test unlinked groups which still have objects in them */ + /* (only for new format groups) */ + if(new_format) { + nerrors += test_full_group_compact(my_fapl); + nerrors += test_full_group_dense(my_fapl); + } /* end if */ + + /* Close */ + if(H5Fclose(file) < 0) TEST_ERROR + } /* end for */ + if (nerrors) { printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S"); exit(1); @@ -2500,11 +2495,11 @@ main(void) h5_cleanup(FILENAME, fapl); } else - { puts("All unlink tests skipped - Incompatible with current Virtual File Driver"); - } + return 0; - error: - return 1; +error: + return 1; } + |