README
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.