From f61522ec4d080c6a62285bd530b4851e03771014 Mon Sep 17 00:00:00 2001 From: jhendersonHDF Date: Tue, 22 Aug 2023 11:03:04 -0500 Subject: Fix ph5diff tests for MPIEXEC_MAX_NUMPROCS=1 (#3407) --- examples/CMakeTests.cmake | 4 ++-- tools/src/h5diff/ph5diff_main.c | 10 ++++++---- tools/test/h5diff/CMakeTests.cmake | 8 +++++--- 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} $ ${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};$;${MPIEXEC_POSTFLAGS}" - -D "TEST_ARGS:STRING=" + -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE}" + -D "TEST_ARGS:STRING=${MPIEXEC_NUMPROC_FLAG};${NUMPROCS};${MPIEXEC_PREFLAGS};$;${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};$;${MPIEXEC_POSTFLAGS}" - -D "TEST_ARGS:STRING=${ARGN}" + -D "TEST_PROGRAM=${MPIEXEC_EXECUTABLE}" + -D "TEST_ARGS:STRING=${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_PREFLAGS};$;${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]" -- cgit v0.12