summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-09-01 15:01:56 (GMT)
committerGitHub <noreply@github.com>2023-09-01 15:01:56 (GMT)
commit3cfdca6dc9d9f255f1e51c1718f811aa960bfc07 (patch)
tree06ef740622a1f8e22f5dda3e74339708ec023dd6
parentfdeac5309eceeed5159dcbc60de4161f144593ef (diff)
downloadhdf5-3cfdca6dc9d9f255f1e51c1718f811aa960bfc07.zip
hdf5-3cfdca6dc9d9f255f1e51c1718f811aa960bfc07.tar.gz
hdf5-3cfdca6dc9d9f255f1e51c1718f811aa960bfc07.tar.bz2
Fix ph5diff tests for MPIEXEC_MAX_NUMPROCS=1 (#3407) (#3468)
-rw-r--r--examples/CMakeTests.cmake4
-rw-r--r--tools/src/h5diff/ph5diff_main.c10
-rw-r--r--tools/test/h5diff/CMakeTests.cmake8
3 files changed, 13 insertions, 9 deletions
diff --git a/examples/CMakeTests.cmake b/examples/CMakeTests.cmake
index e3552a2..449bc44 100644
--- a/examples/CMakeTests.cmake
+++ b/examples/CMakeTests.cmake
@@ -122,8 +122,8 @@ if (H5_HAVE_PARALLEL AND HDF5_TEST_PARALLEL AND NOT WIN32)
add_test (NAME MPI_TEST_EXAMPLES-${parallel_example} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:${parallel_example}> ${MPIEXEC_POSTFLAGS})
else ()
add_test (NAME MPI_TEST_EXAMPLES-${parallel_example} COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE};${MPIEXEC_NUMPROC_FLAG};${NUMPROCS};${MPIEXEC_PREFLAGS};$<TARGET_FILE:${parallel_example}>;${MPIEXEC_POSTFLAGS}"
- -D "TEST_ARGS:STRING="
+ -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE}"
+ -D "TEST_ARGS:STRING=${MPIEXEC_NUMPROC_FLAG};${NUMPROCS};${MPIEXEC_PREFLAGS};$<TARGET_FILE:${parallel_example}>;${MPIEXEC_POSTFLAGS}"
-D "TEST_EXPECT=0"
-D "TEST_SKIP_COMPARE=TRUE"
-D "TEST_OUTPUT=${parallel_example}.out"
diff --git a/tools/src/h5diff/ph5diff_main.c b/tools/src/h5diff/ph5diff_main.c
index efac3cb..c5f97df 100644
--- a/tools/src/h5diff/ph5diff_main.c
+++ b/tools/src/h5diff/ph5diff_main.c
@@ -63,7 +63,7 @@ main(int argc, char *argv[])
MPI_Comm_size(MPI_COMM_WORLD, &g_nTasks);
if (g_nTasks == 1) {
- printf("Only 1 task available...doing serial diff\n");
+ fprintf(stderr, "Only 1 task available...doing serial diff\n");
g_Parallel = 0;
@@ -279,11 +279,13 @@ h5diff_exit(int status)
phdiff_dismiss_workers();
MPI_Barrier(MPI_COMM_WORLD);
}
- MPI_Finalize();
- status = EXIT_SUCCESS; /* Reset exit status, since some mpiexec commands generate output on failure
- status */
}
+ MPI_Finalize();
+
+ status =
+ EXIT_SUCCESS; /* Reset exit status, since some mpiexec commands generate output on failure status */
+
h5tools_close();
/* Always exit(0), since MPI implementations do weird stuff when they
diff --git a/tools/test/h5diff/CMakeTests.cmake b/tools/test/h5diff/CMakeTests.cmake
index 73d435f..b23f885 100644
--- a/tools/test/h5diff/CMakeTests.cmake
+++ b/tools/test/h5diff/CMakeTests.cmake
@@ -432,11 +432,13 @@
add_test (
NAME MPI_TEST_H5DIFF-${resultfile}
COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE};${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_PREFLAGS};$<TARGET_FILE:ph5diff${tgt_file_ext}>;${MPIEXEC_POSTFLAGS}"
- -D "TEST_ARGS:STRING=${ARGN}"
+ -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE}"
+ -D "TEST_ARGS:STRING=${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_PREFLAGS};$<TARGET_FILE:ph5diff${tgt_file_ext}>;${MPIEXEC_POSTFLAGS};${ARGN}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/PAR/testfiles"
-D "TEST_OUTPUT=${resultfile}.out"
- -D "TEST_EXPECT=0"
+ #-D "TEST_EXPECT=${resultcode}"
+ -D "TEST_EXPECT=0" # ph5diff currently always exits with a zero status code due to
+ # output from some MPI implementations from a non-zero exit code
-D "TEST_REFERENCE=${resultfile}.txt"
-D "TEST_APPEND=EXIT CODE:"
-D "TEST_REF_APPEND=EXIT CODE: [0-9]"