code: def testIReadIWrite(self):
      comm = self.COMM
      size = comm.Get_size()
      rank = comm.Get_rank()
      fh = self.FILE
      for array, typecode in arrayimpl_loop_io():
          with arrayimpl.test(self):
              etype = array.TypeMap[typecode]
              fh.Set_size(0)
              fh.Set_view(0, etype)
              count = 13
              wbuf = array(42, typecode, count)
              for r in range(size):
                  if r == rank:
                      fh.Seek(0, MPI.SEEK_SET)
                      fh.Iwrite(wbuf.as_raw()).Wait()
                  fh.Sync()
                  comm.Barrier()
                  fh.Sync()
                  for n in range(0, len(wbuf)):
                      rbuf = array(-1, typecode, n + 1)
                      fh.Seek(0, MPI.SEEK_SET)
                      fh.Iread(rbuf.as_mpi_c(n)).Wait()
                      for value in rbuf[:-1]:
                          self.assertEqual(value, scalar(42))
                      self.assertEqual(rbuf[-1], scalar(-1))
                  comm.Barrier()
  
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
  import os, tempfile
  import platform
label_desc: Use image node_id 4 for calling the BaseTestIOBasic obj's underlying member method code with example usage: obj.testIReadIWrite() without return types