diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 3934fd9e72c..4d1b1a8e1a7 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 3264ad58526..314a60c74cb 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);