diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-08-08 18:02:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-08 18:02:19 (GMT) |
commit | 14eb8f87f4bb4de52a633dec6427a0b75118c33b (patch) | |
tree | 7ddb602808ba08abc0ffee6459d45b149a45b147 | |
parent | 291b2f7ae42958aa60b84a67a93eeca563a1d089 (diff) | |
download | hdf5-14eb8f87f4bb4de52a633dec6427a0b75118c33b.zip hdf5-14eb8f87f4bb4de52a633dec6427a0b75118c33b.tar.gz hdf5-14eb8f87f4bb4de52a633dec6427a0b75118c33b.tar.bz2 |
Work around a testphdf5 failure on Cray MPICH machines (#3361)
-rw-r--r-- | release_docs/RELEASE.txt | 11 | ||||
-rw-r--r-- | testpar/t_file.c | 17 |
2 files changed, 21 insertions, 7 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 320d3b1..8b27f9c 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -689,6 +689,17 @@ Bug Fixes since HDF5-1.14.0 release Testing ------- + - Fixed a testing failure in testphdf5 on Cray machines + + On some Cray machines, what appears to be a bug in Cray MPICH was causing + calls to H5Fis_accessible to create a 0-byte file with strange Unix + permissions. This was causing an H5Fdelete file deletion test in the + testphdf5 program to fail due to a just-deleted HDF5 file appearing to + still be accessible on the file system. The issue in Cray MPICH has been + worked around for the time being by resetting the MPI_Info object on the + File Access Property List used to MPI_INFO_NULL before passing it to the + H5Fis_accessible call. + - A bug was fixed in the HDF5 API test random datatype generation code A bug in the random datatype generation code could cause test failures diff --git a/testpar/t_file.c b/testpar/t_file.c index 3264ad5..314a60c 100644 --- a/testpar/t_file.c +++ b/testpar/t_file.c @@ -986,6 +986,15 @@ test_delete(void) ret = H5Fdelete(filename, fapl_id); VRFY((SUCCEED == ret), "H5Fdelete"); + /* + * Work around a Cray MPICH bug that causes + * H5Fis_accessible to re-create the just-deleted + * file as a 0-byte file with strange Unix + * permissions, causing the routine to return + * false here instead of FAIL. + */ + H5Pset_fapl_mpio(fapl_id, comm, info); + /* Verify that the file is NO LONGER an HDF5 file */ /* This should fail since there is no file */ H5E_BEGIN_TRY @@ -993,13 +1002,7 @@ test_delete(void) is_accessible = H5Fis_accessible(filename, fapl_id); } H5E_END_TRY - - if (FALSE == is_accessible) { - VRFY((FALSE == is_accessible), "H5Fis_accessible returned FALSE"); - } - if (FAIL == is_accessible) { - VRFY((FAIL == is_accessible), "H5Fis_accessible failed"); - } + VRFY((FAIL == is_accessible), "H5Fis_accessible failed as expected"); /* Release file-access plist */ ret = H5Pclose(fapl_id); |