MPI_Topo_test and MPI_COMM_NULL

MPI_COMM_NULL is not a valid argument for MPI_Topo_test. 
But it is used to indicated leftover processes when creating graph communicator or cartesians grids (for exampl, when you create a 2X2 grid from a 5 process communicator).

So we need to deal with it as a special case.