When running tests clean up and remove qubesd.socket
Changed the inheritance hierarchy: 1. Renamed `SystemTestsMixin` to `SystemTestCase` 2. `SystemTestCase` is a child of `QubesTestCase` 3. All classes extending the prior `SystemTestsMixin` now just extend `object`
This commit is contained in:
parent
a936b07d7b
commit
3be7b23f46
@ -235,7 +235,7 @@ class _AssertNotRaisesContext(object):
|
|||||||
self.exception = exc_value # store for later retrieval
|
self.exception = exc_value # store for later retrieval
|
||||||
|
|
||||||
class _QrexecPolicyContext(object):
|
class _QrexecPolicyContext(object):
|
||||||
'''Context manager for SystemTestsMixin.qrexec_policy'''
|
'''Context manager for SystemTestCase.qrexec_policy'''
|
||||||
|
|
||||||
def __init__(self, service, source, destination, allow=True):
|
def __init__(self, service, source, destination, allow=True):
|
||||||
try:
|
try:
|
||||||
@ -365,8 +365,6 @@ class QubesTestCase(unittest.TestCase):
|
|||||||
asyncio.set_event_loop(self.loop)
|
asyncio.set_event_loop(self.loop)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
super(QubesTestCase, self).tearDown()
|
|
||||||
|
|
||||||
# The loop, when closing, throws a warning if there is
|
# The loop, when closing, throws a warning if there is
|
||||||
# some unfinished bussiness. Let's catch that.
|
# some unfinished bussiness. Let's catch that.
|
||||||
with warnings.catch_warnings():
|
with warnings.catch_warnings():
|
||||||
@ -555,18 +553,18 @@ class QubesTestCase(unittest.TestCase):
|
|||||||
return VMPREFIX + name
|
return VMPREFIX + name
|
||||||
|
|
||||||
|
|
||||||
class SystemTestsMixin(object):
|
class SystemTestCase(QubesTestCase):
|
||||||
"""
|
"""
|
||||||
Mixin for integration tests. All the tests here should use self.app
|
Mixin for integration tests. All the tests here should use self.app
|
||||||
object and when need qubes.xml path - should use :py:data:`XMLPATH`
|
object and when need qubes.xml path - should use :py:data:`XMLPATH`
|
||||||
defined in this file.
|
defined in this file.
|
||||||
Every VM created by test, must use :py:meth:`SystemTestsMixin.make_vm_name`
|
Every VM created by test, must use :py:meth:`SystemTestCase.make_vm_name`
|
||||||
for VM name.
|
for VM name.
|
||||||
By default self.app represents empty collection, if anything is needed
|
By default self.app represents empty collection, if anything is needed
|
||||||
there from the real collection it can be imported from self.host_app in
|
there from the real collection it can be imported from self.host_app in
|
||||||
:py:meth:`SystemTestsMixin.setUp`. But *can not be modified* in any way -
|
:py:meth:`SystemTestCase.setUp`. But *can not be modified* in any way -
|
||||||
this include both changing attributes in
|
this include both changing attributes in
|
||||||
:py:attr:`SystemTestsMixin.host_app` and modifying files of such imported
|
:py:attr:`SystemTestCase.host_app` and modifying files of such imported
|
||||||
VM. If test need to make some modification, it must clone the VM first.
|
VM. If test need to make some modification, it must clone the VM first.
|
||||||
|
|
||||||
If some group of tests needs class-wide initialization, first of all the
|
If some group of tests needs class-wide initialization, first of all the
|
||||||
@ -579,7 +577,7 @@ class SystemTestsMixin(object):
|
|||||||
def setUp(self):
|
def setUp(self):
|
||||||
if not in_dom0:
|
if not in_dom0:
|
||||||
self.skipTest('outside dom0')
|
self.skipTest('outside dom0')
|
||||||
super(SystemTestsMixin, self).setUp()
|
super(SystemTestCase, self).setUp()
|
||||||
self.remove_test_vms()
|
self.remove_test_vms()
|
||||||
|
|
||||||
# need some information from the real qubes.xml - at least installed
|
# need some information from the real qubes.xml - at least installed
|
||||||
@ -656,11 +654,11 @@ class SystemTestsMixin(object):
|
|||||||
for sock in server.sockets:
|
for sock in server.sockets:
|
||||||
os.unlink(sock.getsockname())
|
os.unlink(sock.getsockname())
|
||||||
server.close()
|
server.close()
|
||||||
|
|
||||||
self.loop.run_until_complete(asyncio.wait([
|
self.loop.run_until_complete(asyncio.wait([
|
||||||
server.wait_closed() for server in self.qubesd]))
|
server.wait_closed() for server in self.qubesd]))
|
||||||
|
|
||||||
super(SystemTestsMixin, self).tearDown()
|
super(SystemTestCase, self).tearDown()
|
||||||
|
|
||||||
# remove all references to VM objects, to release resources - most
|
# remove all references to VM objects, to release resources - most
|
||||||
# importantly file descriptors; this object will live
|
# importantly file descriptors; this object will live
|
||||||
# during the whole test run, but all the file descriptors would be
|
# during the whole test run, but all the file descriptors would be
|
||||||
@ -673,7 +671,7 @@ class SystemTestsMixin(object):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def tearDownClass(cls):
|
def tearDownClass(cls):
|
||||||
super(SystemTestsMixin, cls).tearDownClass()
|
super(SystemTestCase, cls).tearDownClass()
|
||||||
if not in_dom0:
|
if not in_dom0:
|
||||||
return
|
return
|
||||||
cls.remove_test_vms(xmlpath=CLASS_XMLPATH, prefix=CLSVMPREFIX)
|
cls.remove_test_vms(xmlpath=CLASS_XMLPATH, prefix=CLSVMPREFIX)
|
||||||
|
@ -26,7 +26,7 @@ import qubes.vm.appvm
|
|||||||
import qubes.vm.templatevm
|
import qubes.vm.templatevm
|
||||||
|
|
||||||
|
|
||||||
class ExtraTestCase(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class ExtraTestCase(qubes.tests.SystemTestCase):
|
||||||
|
|
||||||
template = None
|
template = None
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ import qubes.vm.templatevm
|
|||||||
import qubes.vm.qubesvm
|
import qubes.vm.qubesvm
|
||||||
|
|
||||||
# noinspection PyAttributeOutsideInit
|
# noinspection PyAttributeOutsideInit
|
||||||
class BackupTestsMixin(qubes.tests.SystemTestsMixin):
|
class BackupTestsMixin(object):
|
||||||
class BackupErrorHandler(logging.Handler):
|
class BackupErrorHandler(logging.Handler):
|
||||||
def __init__(self, errors_queue, level=logging.NOTSET):
|
def __init__(self, errors_queue, level=logging.NOTSET):
|
||||||
super(BackupTestsMixin.BackupErrorHandler, self).__init__(level)
|
super(BackupTestsMixin.BackupErrorHandler, self).__init__(level)
|
||||||
@ -281,7 +281,7 @@ class BackupTestsMixin(qubes.tests.SystemTestsMixin):
|
|||||||
vm.name))
|
vm.name))
|
||||||
|
|
||||||
|
|
||||||
class TC_00_Backup(BackupTestsMixin, qubes.tests.QubesTestCase):
|
class TC_00_Backup(BackupTestsMixin, qubes.tests.SystemTestCase):
|
||||||
def test_000_basic_backup(self):
|
def test_000_basic_backup(self):
|
||||||
vms = self.create_backup_vms()
|
vms = self.create_backup_vms()
|
||||||
orig_hashes = self.vm_checksum(vms)
|
orig_hashes = self.vm_checksum(vms)
|
||||||
|
@ -143,7 +143,7 @@ compression-filter=gzip
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
class TC_00_BackupCompatibility(
|
class TC_00_BackupCompatibility(
|
||||||
qubes.tests.integ.backup.BackupTestsMixin, qubes.tests.QubesTestCase):
|
qubes.tests.integ.backup.BackupTestsMixin, qubes.tests.SystemTestCase):
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.remove_test_vms(prefix="test-")
|
self.remove_test_vms(prefix="test-")
|
||||||
|
@ -42,7 +42,7 @@ import qubes.vm.templatevm
|
|||||||
import libvirt # pylint: disable=import-error
|
import libvirt # pylint: disable=import-error
|
||||||
|
|
||||||
|
|
||||||
class TC_00_Basic(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_00_Basic(qubes.tests.SystemTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_00_Basic, self).setUp()
|
super(TC_00_Basic, self).setUp()
|
||||||
self.init_default_template()
|
self.init_default_template()
|
||||||
@ -66,7 +66,7 @@ class TC_00_Basic(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|||||||
vm.storage.verify()
|
vm.storage.verify()
|
||||||
|
|
||||||
|
|
||||||
class TC_01_Properties(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_01_Properties(qubes.tests.SystemTestCase):
|
||||||
# pylint: disable=attribute-defined-outside-init
|
# pylint: disable=attribute-defined-outside-init
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_01_Properties, self).setUp()
|
super(TC_01_Properties, self).setUp()
|
||||||
@ -75,7 +75,6 @@ class TC_01_Properties(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|||||||
self.vm = self.app.add_new_vm(qubes.vm.appvm.AppVM, name=self.vmname,
|
self.vm = self.app.add_new_vm(qubes.vm.appvm.AppVM, name=self.vmname,
|
||||||
template=self.app.default_template,
|
template=self.app.default_template,
|
||||||
label='red')
|
label='red')
|
||||||
self.loop.run_until_complete(self.vm.create_on_disk())
|
|
||||||
|
|
||||||
@unittest.expectedFailure
|
@unittest.expectedFailure
|
||||||
def test_030_clone(self):
|
def test_030_clone(self):
|
||||||
@ -185,13 +184,12 @@ class TC_01_Properties(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|||||||
|
|
||||||
self.vm2 = self.app.add_new_vm(qubes.vm.appvm.AppVM,
|
self.vm2 = self.app.add_new_vm(qubes.vm.appvm.AppVM,
|
||||||
name=vm2name, template=self.app.default_template, label='red')
|
name=vm2name, template=self.app.default_template, label='red')
|
||||||
self.loop.run_until_complete(self.vm2.create_on_disk())
|
|
||||||
|
|
||||||
with self.assertNotRaises(OSError):
|
with self.assertNotRaises(OSError):
|
||||||
with self.assertRaises(qubes.exc.QubesException):
|
with self.assertRaises(qubes.exc.QubesException):
|
||||||
self.vm2.name = self.vmname
|
self.vm2.name = self.vmname
|
||||||
|
|
||||||
class TC_02_QvmPrefs(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_02_QvmPrefs(qubes.tests.SystemTestCase):
|
||||||
# pylint: disable=attribute-defined-outside-init
|
# pylint: disable=attribute-defined-outside-init
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -302,8 +300,7 @@ class TC_02_QvmPrefs(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|||||||
self.execute_tests('kernel', [('default', '', False)])
|
self.execute_tests('kernel', [('default', '', False)])
|
||||||
self.execute_tests('kernelopts', [('default', '', False)])
|
self.execute_tests('kernelopts', [('default', '', False)])
|
||||||
|
|
||||||
class TC_03_QvmRevertTemplateChanges(qubes.tests.SystemTestsMixin,
|
class TC_03_QvmRevertTemplateChanges(qubes.tests.SystemTestCase):
|
||||||
qubes.tests.QubesTestCase):
|
|
||||||
# pylint: disable=attribute-defined-outside-init
|
# pylint: disable=attribute-defined-outside-init
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -371,7 +368,7 @@ class TC_03_QvmRevertTemplateChanges(qubes.tests.SystemTestsMixin,
|
|||||||
self.setup_hvm_template()
|
self.setup_hvm_template()
|
||||||
self._do_test()
|
self._do_test()
|
||||||
|
|
||||||
class TC_30_Gui_daemon(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_30_Gui_daemon(qubes.tests.SystemTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_30_Gui_daemon, self).setUp()
|
super(TC_30_Gui_daemon, self).setUp()
|
||||||
self.init_default_template()
|
self.init_default_template()
|
||||||
@ -448,7 +445,7 @@ class TC_30_Gui_daemon(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|||||||
self.assertEqual(clipboard_source, "",
|
self.assertEqual(clipboard_source, "",
|
||||||
"Clipboard not wiped after paste - owner")
|
"Clipboard not wiped after paste - owner")
|
||||||
|
|
||||||
class TC_05_StandaloneVM(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_05_StandaloneVM(qubes.tests.SystemTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_05_StandaloneVM, self).setUp()
|
super(TC_05_StandaloneVM, self).setUp()
|
||||||
self.init_default_template()
|
self.init_default_template()
|
||||||
|
@ -31,8 +31,7 @@ import qubes.ext.pci
|
|||||||
import qubes.tests
|
import qubes.tests
|
||||||
|
|
||||||
|
|
||||||
class TC_00_Devices_PCI(qubes.tests.SystemTestsMixin,
|
class TC_00_Devices_PCI(qubes.tests.SystemTestCase):
|
||||||
qubes.tests.QubesTestCase):
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_00_Devices_PCI, self).setUp()
|
super(TC_00_Devices_PCI, self).setUp()
|
||||||
if self._testMethodName not in ['test_000_list']:
|
if self._testMethodName not in ['test_000_list']:
|
||||||
|
@ -27,8 +27,7 @@ import unittest
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
||||||
class TC_04_DispVM(qubes.tests.SystemTestsMixin,
|
class TC_04_DispVM(qubes.tests.SystemTestCase):
|
||||||
qubes.tests.QubesTestCase):
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_04_DispVM, self).setUp()
|
super(TC_04_DispVM, self).setUp()
|
||||||
@ -91,7 +90,7 @@ class TC_04_DispVM(qubes.tests.SystemTestsMixin,
|
|||||||
|
|
||||||
self.assertNotIn(dispvm_name, self.app.domains)
|
self.assertNotIn(dispvm_name, self.app.domains)
|
||||||
|
|
||||||
class TC_20_DispVMMixin(qubes.tests.SystemTestsMixin):
|
class TC_20_DispVMMixin(object):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_20_DispVMMixin, self).setUp()
|
super(TC_20_DispVMMixin, self).setUp()
|
||||||
@ -265,7 +264,7 @@ def load_tests(loader, tests, pattern):
|
|||||||
tests.addTests(loader.loadTestsFromTestCase(
|
tests.addTests(loader.loadTestsFromTestCase(
|
||||||
type(
|
type(
|
||||||
'TC_20_DispVM_' + template,
|
'TC_20_DispVM_' + template,
|
||||||
(TC_20_DispVMMixin, qubes.tests.QubesTestCase),
|
(TC_20_DispVMMixin, qubes.tests.SystemTestCase),
|
||||||
{'template': template})))
|
{'template': template})))
|
||||||
|
|
||||||
return tests
|
return tests
|
||||||
|
@ -32,7 +32,7 @@ VM_PREFIX = "test-"
|
|||||||
@unittest.skipUnless(os.path.exists('/usr/bin/rpmsign') and
|
@unittest.skipUnless(os.path.exists('/usr/bin/rpmsign') and
|
||||||
os.path.exists('/usr/bin/rpmbuild'),
|
os.path.exists('/usr/bin/rpmbuild'),
|
||||||
'rpm-sign and/or rpm-build not installed')
|
'rpm-sign and/or rpm-build not installed')
|
||||||
class TC_00_Dom0UpgradeMixin(qubes.tests.SystemTestsMixin):
|
class TC_00_Dom0UpgradeMixin(object):
|
||||||
"""
|
"""
|
||||||
Tests for downloading dom0 updates using VMs based on different templates
|
Tests for downloading dom0 updates using VMs based on different templates
|
||||||
"""
|
"""
|
||||||
@ -369,7 +369,7 @@ def load_tests(loader, tests, pattern):
|
|||||||
tests.addTests(loader.loadTestsFromTestCase(
|
tests.addTests(loader.loadTestsFromTestCase(
|
||||||
type(
|
type(
|
||||||
'TC_00_Dom0Upgrade_' + template,
|
'TC_00_Dom0Upgrade_' + template,
|
||||||
(TC_00_Dom0UpgradeMixin, qubes.tests.QubesTestCase),
|
(TC_00_Dom0UpgradeMixin, qubes.tests.SystemTestCase),
|
||||||
{'template': template})))
|
{'template': template})))
|
||||||
|
|
||||||
return tests
|
return tests
|
||||||
|
@ -37,7 +37,7 @@ class NcVersion:
|
|||||||
Nmap = 2
|
Nmap = 2
|
||||||
|
|
||||||
# noinspection PyAttributeOutsideInit
|
# noinspection PyAttributeOutsideInit
|
||||||
class VmNetworkingMixin(qubes.tests.SystemTestsMixin):
|
class VmNetworkingMixin(object):
|
||||||
test_ip = '192.168.123.45'
|
test_ip = '192.168.123.45'
|
||||||
test_name = 'test.example.com'
|
test_name = 'test.example.com'
|
||||||
|
|
||||||
@ -645,7 +645,7 @@ class VmNetworkingMixin(qubes.tests.SystemTestsMixin):
|
|||||||
|
|
||||||
|
|
||||||
# noinspection PyAttributeOutsideInit
|
# noinspection PyAttributeOutsideInit
|
||||||
class VmUpdatesMixin(qubes.tests.SystemTestsMixin):
|
class VmUpdatesMixin(object):
|
||||||
"""
|
"""
|
||||||
Tests for VM updates
|
Tests for VM updates
|
||||||
"""
|
"""
|
||||||
@ -944,11 +944,11 @@ def load_tests(loader, tests, pattern):
|
|||||||
tests.addTests(loader.loadTestsFromTestCase(
|
tests.addTests(loader.loadTestsFromTestCase(
|
||||||
type(
|
type(
|
||||||
'VmNetworking_' + template,
|
'VmNetworking_' + template,
|
||||||
(VmNetworkingMixin, qubes.tests.QubesTestCase),
|
(VmNetworkingMixin, qubes.tests.SystemTestCase),
|
||||||
{'template': template})))
|
{'template': template})))
|
||||||
tests.addTests(loader.loadTestsFromTestCase(
|
tests.addTests(loader.loadTestsFromTestCase(
|
||||||
type(
|
type(
|
||||||
'VmUpdates_' + template,
|
'VmUpdates_' + template,
|
||||||
(VmUpdatesMixin, qubes.tests.QubesTestCase),
|
(VmUpdatesMixin, qubes.tests.SystemTestCase),
|
||||||
{'template': template})))
|
{'template': template})))
|
||||||
return tests
|
return tests
|
||||||
|
@ -29,7 +29,7 @@ import qubes.tests.storage_lvm
|
|||||||
import qubes.vm.appvm
|
import qubes.vm.appvm
|
||||||
|
|
||||||
|
|
||||||
class StorageTestMixin(qubes.tests.SystemTestsMixin):
|
class StorageTestMixin(object):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(StorageTestMixin, self).setUp()
|
super(StorageTestMixin, self).setUp()
|
||||||
self.init_default_template()
|
self.init_default_template()
|
||||||
@ -254,7 +254,7 @@ class StorageTestMixin(qubes.tests.SystemTestsMixin):
|
|||||||
user='root')
|
user='root')
|
||||||
|
|
||||||
|
|
||||||
class StorageFile(StorageTestMixin, qubes.tests.QubesTestCase):
|
class StorageFile(StorageTestMixin, qubes.tests.SystemTestCase):
|
||||||
def init_pool(self):
|
def init_pool(self):
|
||||||
self.dir_path = '/var/tmp/test-pool'
|
self.dir_path = '/var/tmp/test-pool'
|
||||||
self.pool = self.app.add_pool(dir_path=self.dir_path,
|
self.pool = self.app.add_pool(dir_path=self.dir_path,
|
||||||
@ -269,7 +269,7 @@ class StorageFile(StorageTestMixin, qubes.tests.QubesTestCase):
|
|||||||
|
|
||||||
|
|
||||||
@qubes.tests.storage_lvm.skipUnlessLvmPoolExists
|
@qubes.tests.storage_lvm.skipUnlessLvmPoolExists
|
||||||
class StorageLVM(StorageTestMixin, qubes.tests.QubesTestCase):
|
class StorageLVM(StorageTestMixin, qubes.tests.SystemTestCase):
|
||||||
def init_pool(self):
|
def init_pool(self):
|
||||||
# check if the default LVM Thin pool qubes_dom0/pool00 exists
|
# check if the default LVM Thin pool qubes_dom0/pool00 exists
|
||||||
volume_group, thin_pool = \
|
volume_group, thin_pool = \
|
||||||
|
@ -25,8 +25,7 @@ import qubes.tools.qubes_create
|
|||||||
import qubes.tests
|
import qubes.tests
|
||||||
|
|
||||||
@qubes.tests.skipUnlessDom0
|
@qubes.tests.skipUnlessDom0
|
||||||
class TC_00_qubes_create(
|
class TC_00_qubes_create(qubes.tests.SystemTestCase):
|
||||||
qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
|
||||||
def test_000_basic(self):
|
def test_000_basic(self):
|
||||||
self.assertEqual(0, qubes.tools.qubes_create.main([
|
self.assertEqual(0, qubes.tools.qubes_create.main([
|
||||||
'--qubesxml', qubes.tests.XMLPATH]))
|
'--qubesxml', qubes.tests.XMLPATH]))
|
||||||
|
@ -35,7 +35,7 @@ import qubes.vm.templatevm
|
|||||||
TEST_DATA = b"0123456789" * 1024
|
TEST_DATA = b"0123456789" * 1024
|
||||||
|
|
||||||
|
|
||||||
class TC_00_AppVMMixin(qubes.tests.SystemTestsMixin):
|
class TC_00_AppVMMixin(object):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_00_AppVMMixin, self).setUp()
|
super(TC_00_AppVMMixin, self).setUp()
|
||||||
self.init_default_template(self.template)
|
self.init_default_template(self.template)
|
||||||
@ -959,7 +959,7 @@ int main(int argc, char **argv) {
|
|||||||
if vm_image != dom0_image:
|
if vm_image != dom0_image:
|
||||||
self.fail("Dom0 window doesn't match VM window content")
|
self.fail("Dom0 window doesn't match VM window content")
|
||||||
|
|
||||||
class TC_10_Generic(qubes.tests.SystemTestsMixin, qubes.tests.QubesTestCase):
|
class TC_10_Generic(qubes.tests.SystemTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TC_10_Generic, self).setUp()
|
super(TC_10_Generic, self).setUp()
|
||||||
self.init_default_template()
|
self.init_default_template()
|
||||||
@ -1011,7 +1011,7 @@ def load_tests(loader, tests, pattern):
|
|||||||
tests.addTests(loader.loadTestsFromTestCase(
|
tests.addTests(loader.loadTestsFromTestCase(
|
||||||
type(
|
type(
|
||||||
'TC_00_AppVM_' + template,
|
'TC_00_AppVM_' + template,
|
||||||
(TC_00_AppVMMixin, qubes.tests.QubesTestCase),
|
(TC_00_AppVMMixin, qubes.tests.SystemTestCase),
|
||||||
{'template': template})))
|
{'template': template})))
|
||||||
|
|
||||||
return tests
|
return tests
|
||||||
|
@ -22,7 +22,7 @@ import qubes.log
|
|||||||
from qubes.exc import QubesException
|
from qubes.exc import QubesException
|
||||||
from qubes.storage import pool_drivers
|
from qubes.storage import pool_drivers
|
||||||
from qubes.storage.file import FilePool
|
from qubes.storage.file import FilePool
|
||||||
from qubes.tests import QubesTestCase
|
from qubes.tests import SystemTestCase
|
||||||
|
|
||||||
# :pylint: disable=invalid-name
|
# :pylint: disable=invalid-name
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ class TestApp(qubes.Qubes):
|
|||||||
load=False, offline_mode=True, **kwargs)
|
load=False, offline_mode=True, **kwargs)
|
||||||
self.load_initial_values()
|
self.load_initial_values()
|
||||||
|
|
||||||
class TC_00_Pool(QubesTestCase):
|
class TC_00_Pool(SystemTestCase):
|
||||||
""" This class tests the utility methods from :mod:``qubes.storage`` """
|
""" This class tests the utility methods from :mod:``qubes.storage`` """
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -160,7 +160,7 @@ class TC_00_ThinPool(ThinPoolBase):
|
|||||||
volume.remove()
|
volume.remove()
|
||||||
|
|
||||||
@skipUnlessLvmPoolExists
|
@skipUnlessLvmPoolExists
|
||||||
class TC_01_ThinPool(qubes.tests.SystemTestsMixin, ThinPoolBase):
|
class TC_01_ThinPool(qubes.tests.SystemTestCase, ThinPoolBase):
|
||||||
''' Sanity tests for :py:class:`qubes.storage.lvm.ThinPool` '''
|
''' Sanity tests for :py:class:`qubes.storage.lvm.ThinPool` '''
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user