diff options
author | Larry Knox <lrknox@hdfgroup.org> | 2023-08-08 20:33:00 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-08 20:33:00 (GMT) |
commit | 5da94865761e9298ca6062b50f525f3a5ba713ef (patch) | |
tree | 7906f52d1dffa2a4601c551495421c4284b33401 | |
parent | f43d301f633b5e2cd9cde160ddb2c13578f9231f (diff) | |
download | hdf5-5da94865761e9298ca6062b50f525f3a5ba713ef.zip hdf5-5da94865761e9298ca6062b50f525f3a5ba713ef.tar.gz hdf5-5da94865761e9298ca6062b50f525f3a5ba713ef.tar.bz2 |
Work around a testphdf5 failure on Cray MPICH machines (#3361) (#3362)
-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 3934fd9..4d1b1a8 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -260,6 +260,17 @@ Bug Fixes since HDF5-1.14.1 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); |