code: def testSendrecv(self):
      size = self.COMM.Get_size()
      rank = self.COMM.Get_rank()
      for smess in messages:
          rmess = self.COMM.sendrecv(
              smess, MPI.PROC_NULL, 0, None, MPI.PROC_NULL, 0
          )
          self.assertIsNone(rmess)
      if isinstance(self.COMM, pkl5.Comm):
          rbuf = MPI.Alloc_mem(32)
      else:
          rbuf = None
      for smess in messages:
          dest = (rank + 1) % size
          source = (rank - 1) % size
          rmess = self.COMM.sendrecv(None, dest, 0, None, source, 0)
          self.assertIsNone(rmess)
          rmess = self.COMM.sendrecv(smess, dest, 0, None, source, 0)
          self.assertEqual(rmess, smess)
          status = MPI.Status()
          rmess = self.COMM.sendrecv(
              smess, dest, 42, rbuf, source, 42, status
          )
          self.assertEqual(status.source, source)
          self.assertEqual(status.tag, 42)
          self.assertEqual(status.error, 0)
      if rbuf is not None:
          MPI.Free_mem(rbuf)
  
imports: from mpi4py import MPI
  from mpi4py.util import pkl5
  import sys, os
label_desc: Use image node_id 13 for calling the BaseTest obj's underlying member method code with example usage: obj.testSendrecv() without return types