This directory contains programs and tests that need to be run by
a human being rather than a script. Instructions on running each test
are in the test file at the top.
singjoin - A test of Comm_join, including a test of comm_join by singleton
processes
testconnect - A test of Comm_connect and Comm_accept, with many processes.
Use the script manyconnect to run them, as in
make testconnect
./manyconnect
dimsbalanced - A test of MPI_Dims_create; this checks that Dims_create
produces well-balanced results. Since there are no
requirements on the "balance" of the output of Dims_create,
this is a test of the quality of implementation of the
default MPI_Dims_create when there is no underlying
network topology.
spawntest_master, spawntest_child - A test of MPI_Comm_disconnect to ensure
that once processes are disconnected, one can proceed
through MPI_Finalize without waiting for the other to
also proceed through MPI_Finalize. This test is
designed to succeed even if either the child or master
waits for the other in MPI_Finalize. If MPI_Comm_disconnect
works correctly, the spawned children (4 by default),
should exit roughly 30 seconds before the master.
segfault - a simple test that intentionally segfaults if its rank is 0,
otherwise does nothing. The output from mpiexec should make it clear
that one of the processes segfaulted (not just terminated badly), and
ideally indicate which process. Make sure to run it with a range of
comm_world sizes, including 1 and 2.