Skip to content

Commit a7fdefc

Browse files
authored
Resolve VOL CI h5dump/h5repack failures (#6054)
* Replace filter change with format change
1 parent 083eb93 commit a7fdefc

File tree

3 files changed

+65
-15
lines changed

3 files changed

+65
-15
lines changed

tools/test/h5dump/CMakeTests.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1124,7 +1124,8 @@ ADD_H5_TEST (tgrp_comments RESULT_CODE 0 --enable-error-stack TARGET_FILE tgrp_c
11241124
# test the --filedriver flag
11251125
ADD_H5_TEST (tsplit_file RESULT_CODE 0 --enable-error-stack --filedriver=split TARGET_FILE tsplit_file)
11261126
ADD_H5_TEST (tfamily RESULT_CODE 0 --enable-error-stack --filedriver=family TARGET_FILE tfamily%05d.h5)
1127-
ADD_H5_TEST (tmulti RESULT_CODE 0 --enable-error-stack --filedriver=multi TARGET_FILE tmulti)
1127+
# Flagged as NATIVE_ONLY because the Cache VOL interacts badly with the multi VFD's EOA tracking
1128+
ADD_H5_TEST (tmulti RESULT_CODE 0 --enable-error-stack --filedriver=multi TARGET_FILE tmulti NATIVE_ONLY)
11281129

11291130
# test for files with group names which reach > 1024 bytes in size
11301131
ADD_H5_TEST (tlarge_objname RESULT_CODE 0 --enable-error-stack -w157 TARGET_FILE tlarge_objname.h5)

tools/test/h5dump/h5dumpgentest.c

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5725,10 +5725,11 @@ make_external(hid_t fid)
57255725
void
57265726
gent_filters(void)
57275727
{
5728-
hid_t fid; /* file id */
5729-
hid_t dcpl; /* dataset creation property list */
5730-
hid_t sid; /* dataspace ID */
5731-
hid_t tid; /* datatype ID */
5728+
hid_t fid; /* file id */
5729+
hid_t dcpl; /* dataset creation property list */
5730+
hid_t sid; /* dataspace ID */
5731+
hid_t tid; /* datatype ID */
5732+
hid_t fapl_id; /* file access property list */
57325733
#ifdef H5_HAVE_FILTER_SZIP
57335734
unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK;
57345735
unsigned szip_pixels_per_block = 4;
@@ -5746,8 +5747,14 @@ gent_filters(void)
57465747
}
57475748
}
57485749

5750+
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
5751+
assert(fapl_id >= 0);
5752+
5753+
ret = H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
5754+
assert(ret >= 0);
5755+
57495756
/* create a file */
5750-
fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
5757+
fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
57515758
assert(fid >= 0);
57525759

57535760
/* Check if we support comments in the current VOL connector */
@@ -6030,6 +6037,9 @@ gent_filters(void)
60306037
ret = H5Pclose(dcpl);
60316038
assert(ret >= 0);
60326039

6040+
ret = H5Pclose(fapl_id);
6041+
assert(ret >= 0);
6042+
60336043
ret = H5Fclose(fid);
60346044
assert(ret >= 0);
60356045
}
@@ -6087,15 +6097,23 @@ set_local_myfilter(hid_t dcpl_id, hid_t H5_ATTR_UNUSED tid, hid_t H5_ATTR_UNUSED
60876097
void
60886098
gent_fcontents(void)
60896099
{
6090-
hid_t fid; /* file id */
6091-
hid_t gid1; /* group ID */
6092-
hid_t tid; /* datatype ID */
6100+
hid_t fid; /* file id */
6101+
hid_t gid1; /* group ID */
6102+
hid_t tid; /* datatype ID */
6103+
hid_t fapl_id; /* file access property list */
60936104
hsize_t dims[1] = {4};
60946105
int buf[4] = {1, 2, 3, 4};
60956106
int H5_ATTR_NDEBUG_UNUSED ret;
60966107

6108+
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
6109+
assert(fapl_id >= 0);
6110+
6111+
/* reference file has superblock version 0 */
6112+
ret = H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
6113+
assert(ret >= 0);
6114+
60976115
/* create a file */
6098-
fid = H5Fcreate(FILE46, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
6116+
fid = H5Fcreate(FILE46, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
60996117
assert(fid >= 0);
61006118

61016119
write_dset(fid, 1, dims, "dset", H5T_STD_I32BE, H5T_NATIVE_INT, buf);
@@ -6173,11 +6191,14 @@ gent_fcontents(void)
61736191
assert(ret >= 0);
61746192

61756193
/* create a file for the bootblock test */
6176-
fid = H5Fcreate(FILE47, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
6194+
fid = H5Fcreate(FILE47, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
61776195
assert(fid >= 0);
61786196

61796197
ret = H5Fclose(fid);
61806198
assert(ret >= 0);
6199+
6200+
ret = H5Pclose(fapl_id);
6201+
assert(ret >= 0);
61816202
}
61826203

61836204
/*-------------------------------------------------------------------------
@@ -11175,6 +11196,7 @@ void
1117511196
gent_floatsattrs(void)
1117611197
{
1117711198
hid_t fid = H5I_INVALID_HID;
11199+
hid_t fapl_id = H5I_INVALID_HID;
1117811200
hid_t tid = H5I_INVALID_HID;
1117911201
hid_t attr = H5I_INVALID_HID;
1118011202
hid_t dataset = H5I_INVALID_HID;
@@ -11211,7 +11233,11 @@ gent_floatsattrs(void)
1121111233
aset64 = calloc(F89_XDIM * F89_YDIM64, sizeof(double));
1121211234
aset128 = calloc(F89_XDIM * F89_YDIM128, sizeof(long double));
1121311235

11214-
fid = H5Fcreate(FILE89, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
11236+
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
11237+
11238+
H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
11239+
11240+
fid = H5Fcreate(FILE89, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
1121511241

1121611242
if ((tid = H5Tcopy(H5T_NATIVE_FLOAT)) < 0)
1121711243
goto error;
@@ -11308,6 +11334,7 @@ gent_floatsattrs(void)
1130811334
H5Sclose(aspace);
1130911335
H5Sclose(space);
1131011336
H5Dclose(dataset);
11337+
H5Pclose(fapl_id);
1131111338

1131211339
error:
1131311340
H5Fclose(fid);
@@ -13017,6 +13044,7 @@ gent_complex(void)
1301713044
hsize_t varlen_dims[1] = {F95_XDIM};
1301813045
hsize_t single_dims[2] = {1, 1};
1301913046
hid_t fid = H5I_INVALID_HID;
13047+
hid_t fapl_id = H5I_INVALID_HID;
1302013048
hid_t dcpl_id = H5I_INVALID_HID;
1302113049
hid_t tid = H5I_INVALID_HID;
1302213050
hid_t complex_tid = H5I_INVALID_HID;
@@ -13043,7 +13071,11 @@ gent_complex(void)
1304313071
hvl_t arr[F95_XDIM];
1304413072
} *dset_var_fc;
1304513073

13046-
fid = H5Fcreate(FILE95, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
13074+
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
13075+
13076+
H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
13077+
13078+
fid = H5Fcreate(FILE95, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
1304713079

1304813080
dims[0] = F95_XDIM;
1304913081
dims[1] = F95_YDIM;
@@ -13264,6 +13296,7 @@ gent_complex(void)
1326413296
H5Dclose(dataset);
1326513297

1326613298
H5Sclose(space);
13299+
H5Pclose(fapl_id);
1326713300
H5Fclose(fid);
1326813301
}
1326913302

@@ -13280,6 +13313,7 @@ gent_complex_be(void)
1328013313
hsize_t varlen_dims[1] = {F96_XDIM};
1328113314
hsize_t single_dims[2] = {1, 1};
1328213315
hid_t fid = H5I_INVALID_HID;
13316+
hid_t fapl_id = H5I_INVALID_HID;
1328313317
hid_t dcpl_id = H5I_INVALID_HID;
1328413318
hid_t tid = H5I_INVALID_HID;
1328513319
hid_t complex_tid = H5I_INVALID_HID;
@@ -13306,7 +13340,11 @@ gent_complex_be(void)
1330613340
hvl_t arr[F96_XDIM];
1330713341
} *dset_var_fc;
1330813342

13309-
fid = H5Fcreate(FILE96, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
13343+
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
13344+
13345+
H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
13346+
13347+
fid = H5Fcreate(FILE96, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
1331013348

1331113349
dims[0] = F96_XDIM;
1331213350
dims[1] = F96_YDIM;
@@ -13523,6 +13561,7 @@ gent_complex_be(void)
1352313561
H5Dclose(dataset);
1352413562

1352513563
H5Sclose(space);
13564+
H5Pclose(fapl_id);
1352613565
H5Fclose(fid);
1352713566
}
1352813567
#endif

tools/test/h5repack/h5repackgentest.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5781,6 +5781,7 @@ gen_filespaces(void)
57815781
{
57825782
hid_t fid = H5I_INVALID_HID; /* File ID */
57835783
hid_t fcpl = H5I_INVALID_HID; /* File creation property list */
5784+
hid_t fapl = H5I_INVALID_HID; /* File access property list */
57845785
hid_t did = H5I_INVALID_HID; /* Dataset ID */
57855786
hid_t sid = H5I_INVALID_HID; /* Dataspace ID */
57865787
hsize_t dim[1]; /* Dimension sizes */
@@ -5801,11 +5802,17 @@ gen_filespaces(void)
58015802
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
58025803
goto error;
58035804

5805+
if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
5806+
goto error;
5807+
5808+
if ((H5Pset_libver_bounds(fapl, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST)) < 0)
5809+
goto error;
5810+
58045811
if (H5Pset_file_space_strategy(fcpl, fs_strategy, fs_persist, (hsize_t)1) < 0)
58055812
goto error;
58065813

58075814
/* Create the file with the file space info */
5808-
if ((fid = H5Fcreate(FILENAMES[j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0)
5815+
if ((fid = H5Fcreate(FILENAMES[j], H5F_ACC_TRUNC, fcpl, fapl)) < 0)
58095816
goto error;
58105817

58115818
/* Create the dataset */
@@ -5832,6 +5839,8 @@ gen_filespaces(void)
58325839
goto error;
58335840
if (H5Pclose(fcpl) < 0)
58345841
goto error;
5842+
if (H5Pclose(fapl) < 0)
5843+
goto error;
58355844
++j;
58365845
}
58375846
}
@@ -5845,6 +5854,7 @@ gen_filespaces(void)
58455854
H5Sclose(sid);
58465855
H5Sclose(did);
58475856
H5Pclose(fcpl);
5857+
H5Pclose(fapl);
58485858
H5Fclose(fid);
58495859
}
58505860
H5E_END_TRY

0 commit comments

Comments
 (0)