code: def testMessageProbeIProbe(self):
      comm = self.COMM.Dup()
      try:
          status = MPI.Status()
          for smess in messages:
              request = comm.issend(smess, comm.rank, 123)
              message = self.MessageType.probe(
                  comm, MPI.ANY_SOURCE, MPI.ANY_TAG, status
              )
              self.assertEqual(status.source, comm.rank)
              self.assertEqual(status.tag, 123)
              self.assertTrue(message)
              rmess = message.recv()
              self.assertFalse(message)
              self.assertEqual(rmess, smess)
              self.assertTrue(request)
              request.wait()
              self.assertFalse(request)
          for smess in messages:
              message = self.MessageType.iprobe(comm, comm.rank, 123)
              self.assertIsNone(message)
              request = comm.issend(smess, comm.rank, 123)
              while not comm.iprobe(comm.rank, 123):
                  pass
              message = self.MessageType.iprobe(
                  comm, MPI.ANY_SOURCE, MPI.ANY_TAG, status
              )
              self.assertEqual(status.source, comm.rank)
              self.assertEqual(status.tag, 123)
              self.assertTrue(message)
              rmess = message.recv()
              self.assertFalse(message)
              self.assertEqual(rmess, smess)
              self.assertTrue(request)
              request.wait()
              self.assertFalse(request)
      finally:
          comm.Free()
  
imports: from mpi4py import MPI
  from mpi4py.util import pkl5
  import sys, os
label_desc: Use image node_id 19 for calling the BaseTest obj's underlying member method code with example usage: obj.testMessageProbeIProbe() without return types