code: def testAttrNoCopy(self):
      cls, obj = type(self.obj), self.obj
  
      def copy_fn(o, k, v):
          assert k == self.keyval
          assert v is attrval
          return NotImplemented
  
      self.keyval = cls.Create_keyval(copy_fn, None)
      self.assertNotEqual(self.keyval, MPI.KEYVAL_INVALID)
      attr = obj.Get_attr(self.keyval)
      self.assertIsNone(attr)
      attrval = [1, 2, 3]
      obj.Set_attr(self.keyval, attrval)
      attr = obj.Get_attr(self.keyval)
      self.assertIs(attr, attrval)
      if hasattr(obj, "Dup"):
          dup = obj.Dup()
          attr = dup.Get_attr(self.keyval)
          self.assertIsNone(attr)
          dup.Free()
      obj.Delete_attr(self.keyval)
      attr = obj.Get_attr(self.keyval)
      self.assertIsNone(attr)
  
imports: from mpi4py import MPI
  import mpiunittest
label_desc: Use image node_id 5 for calling the BaseTestAttr obj's underlying member method code with example usage: obj.testAttrNoCopy() and returns: NotImplemented