1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

lvmdbustest.py: Add func. _pv_scan

This commit is contained in:
Tony Asleson 2019-10-03 16:11:18 -05:00
parent 69d4847975
commit c5f4f2efb6

View File

@ -1314,75 +1314,36 @@ class TestDbusService(unittest.TestCase):
context = pyudev.Context()
return context.list_devices(subsystem='block', MAJOR='8')
def _pv_scan(self, activate, cache, device_paths, major_minors):
mgr = self._manager().Manager
return self.handle_return(
mgr.PvScan(
dbus.Boolean(activate),
dbus.Boolean(cache),
dbus.Array(device_paths, 's'),
dbus.Array(major_minors, '(ii)'),
dbus.Int32(g_tmo),
EOD))
def test_pv_scan(self):
devices = TestDbusService._get_devices()
mgr = self._manager().Manager
self.assertEqual(
self.handle_return(
mgr.PvScan(
dbus.Boolean(False),
dbus.Boolean(True),
dbus.Array([], 's'),
dbus.Array([], '(ii)'),
dbus.Int32(g_tmo),
EOD)), '/')
self.assertEqual(self._pv_scan(False, True, [], []), '/')
self._check_consistency()
self.assertEqual(
self.handle_return(
mgr.PvScan(
dbus.Boolean(False),
dbus.Boolean(False),
dbus.Array([], 's'),
dbus.Array([], '(ii)'),
dbus.Int32(g_tmo),
EOD)), '/')
self.assertEqual(self._pv_scan(False, False, [], []), '/')
self._check_consistency()
block_path = []
for d in devices:
block_path.append(d.properties['DEVNAME'])
self.assertEqual(
self.handle_return(
mgr.PvScan(
dbus.Boolean(False),
dbus.Boolean(True),
dbus.Array(block_path, 's'),
dbus.Array([], '(ii)'),
dbus.Int32(g_tmo),
EOD)), '/')
block_path = [d.properties['DEVNAME'] for d in devices]
self.assertEqual(self._pv_scan(False, True, block_path, []), '/')
self._check_consistency()
mm = []
for d in devices:
mm.append((int(d.properties['MAJOR']), int(d.properties['MINOR'])))
self.assertEqual(
self.handle_return(
mgr.PvScan(
dbus.Boolean(False),
dbus.Boolean(True),
dbus.Array(block_path, 's'),
dbus.Array(mm, '(ii)'),
dbus.Int32(g_tmo),
EOD)), '/')
mm = [(int(d.properties['MAJOR']), int(d.properties['MINOR']))
for d in devices]
self.assertEqual(self._pv_scan(False, True, block_path, mm), '/')
self._check_consistency()
self.assertEqual(
self.handle_return(
mgr.PvScan(
dbus.Boolean(False),
dbus.Boolean(True),
dbus.Array([], 's'),
dbus.Array(mm, '(ii)'),
dbus.Int32(g_tmo),
EOD)), '/')
self.assertEqual(self._pv_scan(False, True, [], mm), '/')
self._check_consistency()
@staticmethod