oeqa/core: Add qemu checks

Some test should not be run in QEMU systems so
add some checks to make that easier

(From OE-Core rev: 1b1e53c4ad33a71d526887d1133598f255a476ec)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Armin Kuster
2019-11-11 20:33:21 -08:00
committed by Richard Purdie
parent 1351614b8d
commit 97c2021b8a

View File

@@ -27,6 +27,16 @@ def has_machine(td, machine):
return True
return False
def is_qemu(td, qemu):
"""
Checks if MACHINE is qemu.
"""
machine = td.get('MACHINE', '')
if (qemu in td.get('MACHINE', '') or
machine.startswith('qemu')):
return True
return False
@registerDecorator
class skipIfDataVar(OETestDecorator):
@@ -175,3 +185,38 @@ class skipIfMachine(OETestDecorator):
self.logger.debug(msg)
if has_machine(self.case.td, self.value):
self.case.skipTest(self.msg)
@registerDecorator
class skipIfNotQemu(OETestDecorator):
"""
Skip test based on MACHINE.
value must be a qemu MACHINE or it will skip the test
with msg as the reason.
"""
attrs = ('value', 'msg')
def setUpDecorator(self):
msg = ('Checking if %s is not this MACHINE' % self.value)
self.logger.debug(msg)
if not is_qemu(self.case.td, self.value):
self.case.skipTest(self.msg)
@registerDecorator
class skipIfQemu(OETestDecorator):
"""
Skip test based on Qemu Machine.
value must not be a qemu machine or it will skip the test
with msg as the reason.
"""
attrs = ('value', 'msg')
def setUpDecorator(self):
msg = ('Checking if %s is this MACHINE' % self.value)
self.logger.debug(msg)
if is_qemu(self.case.td, self.value):
self.case.skipTest(self.msg)