Work around a testphdf5 failure on Cray MPICH machines (#3361) (#3362)

This commit is contained in:
Larry Knox 2023-08-08 13:33:00 -07:00 committed by GitHub
parent f43d301f63
commit 5da9486576
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 7 deletions

View File

@ -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

View File

@ -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);