Skip to content

Commit

Permalink
tests/lvm: make the tests re-usable for other drivers
Browse files Browse the repository at this point in the history
in particular for the callback driver tests
  • Loading branch information
3hhh committed Jul 16, 2020
1 parent 43fca80 commit fe27b2a
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions qubes/tests/storage_lvm.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ def skipUnlessLvmPoolExists(test_item): # pylint: disable=invalid-name
return unittest.skipUnless(result, msg)(test_item)


POOL_CLASS = ThinPool
VOLUME_CLASS = ThinVolume
POOL_CONF = {'name': 'test-lvm',
'driver': 'lvm_thin',
'volume_group': DEFAULT_LVM_POOL.split('/')[0],
Expand Down Expand Up @@ -107,7 +109,7 @@ def _find_pool(self, volume_group, thin_pool):
``thin_pool``, or None.
'''
pools = [p for p in self.app.pools.values()
if issubclass(p.__class__, ThinPool)]
if issubclass(p.__class__, POOL_CLASS)]
for pool in pools:
if pool.volume_group == volume_group \
and pool.thin_pool == thin_pool:
Expand Down Expand Up @@ -155,7 +157,7 @@ def test_001_origin_volume(self):
}
vm = qubes.tests.storage.TestVM(self)
volume = self.app.get_pool(self.pool.name).init_volume(vm, config)
self.assertIsInstance(volume, ThinVolume)
self.assertIsInstance(volume, VOLUME_CLASS)
self.assertEqual(volume.name, 'root')
self.assertEqual(volume.pool, self.pool.name)
self.assertEqual(volume.size, qubes.config.defaults['root_img_size'])
Expand All @@ -175,7 +177,7 @@ def test_003_read_write_volume(self):
}
vm = qubes.tests.storage.TestVM(self)
volume = self.app.get_pool(self.pool.name).init_volume(vm, config)
self.assertIsInstance(volume, ThinVolume)
self.assertIsInstance(volume, VOLUME_CLASS)
self.assertEqual(volume.name, 'root')
self.assertEqual(volume.pool, self.pool.name)
self.assertEqual(volume.size, qubes.config.defaults['root_img_size'])
Expand Down Expand Up @@ -790,7 +792,8 @@ def test_032_import_volume_same_pool(self):

# also should be different than source volume (clone, not the same LV)
self.assertNotEqual(uuid_after, source_uuid)
self.assertEqual(self._get_lv_origin_uuid(volume.path), source_uuid)
if VOLUME_CLASS == ThinVolume:
self.assertEqual(self._get_lv_origin_uuid(volume.path), source_uuid)

expected_revisions = {
'1521065906-back': '2018-03-14T22:18:26',
Expand Down Expand Up @@ -952,7 +955,7 @@ def test_050_snapshot_volume(self):
}
volume = self.app.get_pool(self.pool.name).init_volume(
vm, config_snapshot)
self.assertIsInstance(volume, ThinVolume)
self.assertIsInstance(volume, VOLUME_CLASS)
self.assertEqual(volume.name, 'root2')
self.assertEqual(volume.pool, self.pool.name)
self.assertEqual(volume.size, qubes.config.defaults['root_img_size'])
Expand Down

0 comments on commit fe27b2a

Please sign in to comment.