This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 66119f1fe341d34bec41dd5e81e18c759d2f9ad5 (commit) from 117a24f5bc55ba13ca643903b5a64469d5ac946c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/66119f1fe341d34bec41dd5e81e18c759d... commit 66119f1fe341d34bec41dd5e81e18c759d2f9ad5 Author: Ken Raffenetti <[email protected]> Date: Wed Jul 31 12:51:11 2013 -0500 Add FT test with communication. Tweak other FT tests. Adds an FT test that attempts communication without touching a failed process. Other changes are to use SIGKILL to simulate failures and also to flush all output to stdout. Signed-off-by: Wesley Bland <[email protected]> diff --git a/test/mpi/ft/Makefile.am b/test/mpi/ft/Makefile.am index 40061d3..03e7578 100644 --- a/test/mpi/ft/Makefile.am +++ b/test/mpi/ft/Makefile.am @@ -10,4 +10,4 @@ include $(top_srcdir)/Makefile.mtest ## for all programs that are just built from the single corresponding source ## file, we don't need per-target _SOURCES rules, automake will infer them ## correctly -noinst_PROGRAMS = die abort +noinst_PROGRAMS = die abort send diff --git a/test/mpi/ft/abort.c b/test/mpi/ft/abort.c index 0578fd4..de299a8 100644 --- a/test/mpi/ft/abort.c +++ b/test/mpi/ft/abort.c @@ -15,6 +15,7 @@ int main(int argc, char **argv) MPI_Comm_rank(MPI_COMM_WORLD, &rank); printf("No Errors\n"); + fflush( stdout ); if (rank == 0) MPI_Abort(MPI_COMM_WORLD, MPI_SUCCESS); diff --git a/test/mpi/ft/die.c b/test/mpi/ft/die.c index 337f14b..c9d658d 100644 --- a/test/mpi/ft/die.c +++ b/test/mpi/ft/die.c @@ -20,14 +20,17 @@ int main(int argc, char **argv) if (rank == 1) { pid = getpid(); - kill(pid, SIGSTOP); + kill(pid, SIGKILL); } - MPI_Finalize(); + MTestSleep(1); if (rank == 0) { printf("No Errors\n"); + fflush( stdout ); } + MPI_Finalize(); + return 0; } diff --git a/test/mpi/ft/send.c b/test/mpi/ft/send.c new file mode 100644 index 0000000..8a5b5c3 --- /dev/null +++ b/test/mpi/ft/send.c @@ -0,0 +1,46 @@ +/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */ +/* + * + * (C) 2003 by Argonne National Laboratory. + * See COPYRIGHT in top-level directory. + */ +#include <mpi.h> +#include <stdio.h> +#include <sys/types.h> +#include <unistd.h> +#include <signal.h> + +/* + * This test attempts communication between 2 running processes + * after another process has failed. + */ +int main(int argc, char **argv) +{ + int rank, size, err; + char buf[10]; + pid_t pid; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + if (rank == 1) { + pid = getpid(); + kill(pid, SIGKILL); + } + + MTestSleep(1); + + if (rank == 0) { + err = MPI_Send("No Errors", 10, MPI_CHAR, 2, 0, MPI_COMM_WORLD); + } + + if (rank == 2) { + MPI_Recv(buf, 10, MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + printf("%s\n", buf); + fflush( stdout ); + } + + MPI_Finalize(); + + return 0; +} diff --git a/test/mpi/ft/testlist b/test/mpi/ft/testlist index 00187ae..6622554 100644 --- a/test/mpi/ft/testlist +++ b/test/mpi/ft/testlist @@ -1,2 +1,3 @@ die 4 mpiexecarg=-disable-auto-cleanup timeLimit=10 abort 2 mpiexecarg=-disable-auto-cleanup timeLimit=10 +send 4 mpiexecarg=-disable-auto-cleanup timeLimit=10 ----------------------------------------------------------------------- Summary of changes: test/mpi/ft/Makefile.am | 2 +- test/mpi/ft/abort.c | 1 + test/mpi/ft/die.c | 7 +++++-- test/mpi/ft/send.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ test/mpi/ft/testlist | 1 + 5 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 test/mpi/ft/send.c hooks/post-receive -- MPICH primary repository