code: def testGatherInter(self):
      comm, COLOR = self.make_intercomm(self.COMM)
      rank = comm.Get_rank()
      size = comm.Get_size()
      rsize = comm.Get_remote_size()
      for smess in messages:
          for color in [0, 1]:
              if color == COLOR:
                  for root in range(size):
                      if root == rank:
                          rmess = comm.gather(smess, root=MPI.ROOT)
                          self.assertEqual(rmess, [smess] * rsize)
                      else:
                          rmess = comm.gather(None, root=MPI.PROC_NULL)
                          self.assertIsNone(rmess)
              else:
                  for root in range(rsize):
                      rmess = comm.gather(smess, root=root)
                      self.assertIsNone(rmess)
      self.assertRaises(
          MPI.Exception, comm.gather, None, root=max(size, rsize)
      )
      self.assertRaises(
          MPI.Exception, comm.gather, None, root=max(size, rsize)
      )
      comm.Free()
  
imports: from mpi4py import MPI
  from mpi4py.util import pkl5
  import sys, os
label_desc: Use image node_id 27 for calling the BaseTest obj's underlying member method code with example usage: obj.testGatherInter() without return types