code: def testProbe(self):
      comm = self.COMM.Dup()
      try:
          status = MPI.Status()
          flag = comm.iprobe(MPI.ANY_SOURCE, MPI.ANY_TAG, status)
          self.assertFalse(flag)
          for smess in messages:
              request = comm.issend(smess, comm.rank, 123)
              self.assertTrue(request)
              while not comm.iprobe(
                  MPI.ANY_SOURCE, MPI.ANY_TAG, status
              ):
                  pass
              self.assertEqual(status.source, comm.rank)
              self.assertEqual(status.tag, 123)
              comm.probe(MPI.ANY_SOURCE, MPI.ANY_TAG, status)
              self.assertEqual(status.source, comm.rank)
              self.assertEqual(status.tag, 123)
              self.assertTrue(request)
              flag, obj = request.test()
              self.assertTrue(request)
              self.assertFalse(flag)
              self.assertIsNone(obj)
              obj = comm.recv(None, comm.rank, 123)
              self.assertEqual(obj, smess)
              self.assertTrue(request)
              obj = request.wait()
              self.assertFalse(request)
              self.assertIsNone(obj)
      finally:
          comm.Free()
  
imports: from mpi4py import MPI
  import mpiunittest
  import threading
  import warnings
  import sys
label_desc: Use image node_id 17 for calling the BaseTestP2PObj obj's underlying member method code with example usage: obj.testProbe() without return types