Beispiel #1
0
 def create_context(self):
     try:
         self.ctx = Context(cmd_fd=self.cmd_fd)
     except u.PyverbsRDMAError as ex:
         if ex.error_code in [errno.EOPNOTSUPP, errno.EPROTONOSUPPORT]:
             raise unittest.SkipTest(
                 'Importing a device is not supported')
         raise ex
Beispiel #2
0
 def __init__(self, dev_name, ib_port, gid_index):
     """
     Initializes a BaseResources object.
     :param dev_name: Device name to be used (default: 'ibp0s8f0')
     :param ib_port: IB port of the device to use (default: 1)
     :param gid_index: Which GID index to use (default: 0)
     """
     self.ctx = Context(name=dev_name)
     self.gid_index = gid_index
     self.pd = PD(self.ctx)
     self.ib_port = ib_port
 def test_import_dm(self):
     """
     Creates a DM and imports it from a different (duplicated) Context.
     Then writes some data to the original DM, reads it from the imported DM
     and verifies that the read data is as expected.
     """
     with d.DM(self.ctx, d.AllocDmAttr(length=self.dm_size)) as dm:
         cmd_fd_dup = os.dup(self.ctx.cmd_fd)
         try:
             imported_ctx = Context(cmd_fd=cmd_fd_dup)
             imported_dm = DM(imported_ctx, handle=dm.handle)
         except PyverbsRDMAError as ex:
             if ex.error_code in [errno.EOPNOTSUPP, errno.EPROTONOSUPPORT]:
                 raise unittest.SkipTest('Some object imports are not supported')
             raise ex
         original_data = b'\xab' * self.dm_size
         dm.copy_to_dm(0, original_data, self.dm_size)
         read_data = imported_dm.copy_from_dm(0, self.dm_size)
         self.assertEqual(original_data, read_data)
         imported_dm.unimport()
Beispiel #4
0
 def create_context(self):
     self.ctx = Context(name=self.dev_name)