code: def testFromBufferBytes(self):
      buffer = MPI.buffer
      buf = buffer.frombuffer(b"abc", readonly=True)
      self.assertNotEqual(buf.address, 0)
      self.assertEqual(type(buf.obj), bytes)
      self.assertEqual(buf.obj, b"abc")
      self.assertEqual(buf.nbytes, 3)
      self.assertTrue(buf.readonly)
      self.assertEqual(buf.format, "B")
      self.assertEqual(buf.itemsize, 1)
      self.assertEqual(len(buf), 3)
      m = memoryview(buf)
      self.assertEqual(m.format, "B")
      self.assertEqual(m.itemsize, 1)
      self.assertEqual(m.ndim, 1)
      self.assertTrue(m.readonly)
      self.assertEqual(m.shape, (3,))
      self.assertEqual(m.strides, (1,))
      self.assertEqual(m.tobytes(), b"abc")
      self.assertEqual(m.tolist(), [ord(c) for c in "abc"])
      buf.release()
      self.assertEqual(buf.address, 0)
      self.assertEqual(buf.nbytes, 0)
      self.assertFalse(buf.readonly)
  
file_path: mpi4py/test/test_buffer.py
imports: from mpi4py import MPI
  import mpiunittest
label_desc: Use image node_id 8 for calling the TestBuffer obj's underlying member method code with example usage: obj.testFromBufferBytes() without return types