pFUnit creates an MPI communicator for each MPI test case. These are not free'd. This appears to cause some problems in MPI_Finalize() for some MPI flavors/platforms.
To do this, we should add a deferred TPB free() to ParallelContext()`. Each subclass will need to implement the appropriate logic. Then wherever parallel contexts are created, there should be a companion call to free(). It is really not very many places.
pFUnit creates an MPI communicator for each MPI test case. These are not free'd. This appears to cause some problems in MPI_Finalize() for some MPI flavors/platforms.
To do this, we should add a deferred TPB
free()to ParallelContext()`. Each subclass will need to implement the appropriate logic. Then wherever parallel contexts are created, there should be a companion call to free(). It is really not very many places.