qubes/tests: skipping tests outside dom0
New variable and decorator enable skipping tests outside dom0, that is, without connection to libvirtd.
This commit is contained in:
parent
613b03d277
commit
8ace0fa634
@ -3,8 +3,31 @@
|
|||||||
import collections
|
import collections
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
import qubes.config
|
||||||
import qubes.events
|
import qubes.events
|
||||||
|
|
||||||
|
|
||||||
|
#: :py:obj:`True` if running in dom0, :py:obj:`False` otherwise
|
||||||
|
in_dom0 = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
import libvirt
|
||||||
|
libvirt.openReadOnly(qubes.config.defaults['libvirt_uri']).close()
|
||||||
|
in_dom0 = True
|
||||||
|
del libvirt
|
||||||
|
except libvirt.libvirtError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def skipUnlessDom0(test_item):
|
||||||
|
'''Decorator that skips test outside dom0.
|
||||||
|
|
||||||
|
Some tests (especially integration tests) have to be run in more or less
|
||||||
|
working dom0. This is checked by connecting to libvirt.
|
||||||
|
'''
|
||||||
|
return unittest.skipUnless(in_dom0, 'outside dom0')(test_item)
|
||||||
|
|
||||||
|
|
||||||
class TestEmitter(qubes.events.Emitter):
|
class TestEmitter(qubes.events.Emitter):
|
||||||
'''Dummy event emitter which records events fired on it.
|
'''Dummy event emitter which records events fired on it.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user