oeqa: rationalise skipifqemu decorators

(From OE-Core rev: 1a3a37cc2b16a8d5cd2258b0b35be43baa363f67)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2022-03-31 19:29:09 +01:00
committed by Richard Purdie
parent 416cce968d
commit fcc9c0ab37
8 changed files with 25 additions and 51 deletions

View File

@@ -27,17 +27,6 @@ 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):
"""
@@ -189,34 +178,19 @@ class skipIfMachine(OETestDecorator):
@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.
Skip test if MACHINE is not qemu*
"""
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)
self.logger.debug("Checking if not qemu MACHINE")
if not self.case.td.get('MACHINE', '').startswith('qemu'):
self.case.skipTest('Test only runs on qemu machines')
@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')
Skip test if MACHINE is qemu*
"""
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)
self.logger.debug("Checking if qemu MACHINE")
if self.case.td.get('MACHINE', '').startswith('qemu'):
self.case.skipTest('Test only runs on real hardware')

View File

@@ -13,7 +13,7 @@ from oeqa.core.decorator.data import skipIfQemu
class BootTest(OERuntimeTestCase):
@OETimeout(120)
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_reboot(self):
output = ''

View File

@@ -11,7 +11,7 @@ class Ethernet_Test(OERuntimeTestCase):
x = '.'.join(x)
return x
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_set_virtual_ip(self):
(status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'")
@@ -22,6 +22,7 @@ class Ethernet_Test(OERuntimeTestCase):
(status, output) = self.target.run("ifconfig eth0:1 %s netmask 255.255.255.0 && sleep 2 && ping -c 5 %s && ifconfig eth0:1 down" % (virtual_ip,virtual_ip))
self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output)
@skipIfQemu()
@OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip'])
def test_get_ip_from_dhcp(self):
(status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'")

View File

@@ -89,8 +89,7 @@ class LtpStressTest(LtpStressBase):
# LTP stress runtime tests
#
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(["ltp"])
def test_ltp_stress(self):

View File

@@ -91,24 +91,24 @@ class UsbTest(StorageBase):
self.test_file = "usb.tst"
self.test_dir = os.path.join(self.mount_point, "oeqa")
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_usb_mount(self):
self.storage_umount(2)
self.storage_mount(5)
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.UsbTest.test_usb_mount'])
def test_usb_basic_operations(self):
self.storage_basic()
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.UsbTest.test_usb_basic_operations'])
def test_usb_basic_rw(self):
self.storage_write()
self.storage_read()
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.UsbTest.test_usb_mount'])
def test_usb_umount(self):
self.storage_umount(2)
@@ -126,24 +126,24 @@ class MMCTest(StorageBase):
self.test_file = "mmc.tst"
self.test_dir = os.path.join(self.mount_point, "oeqa")
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_mmc_mount(self):
self.storage_umount(2)
self.storage_mount()
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.MMCTest.test_mmc_mount'])
def test_mmc_basic_operations(self):
self.storage_basic()
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.MMCTest.test_mmc_basic_operations'])
def test_mmc_basic_rw(self):
self.storage_write()
self.storage_read()
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['storage.MMCTest.test_mmc_mount'])
def test_mmc_umount(self):
self.storage_umount(2)

View File

@@ -23,7 +23,7 @@ class Suspend_Test(OERuntimeTestCase):
(status, output) = self.target.run('sudo rtcwake -m mem -s 10')
self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_suspend(self):
self.test_date()

View File

@@ -14,7 +14,7 @@ class USB_HID_Test(OERuntimeTestCase):
return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
@OEHasPackage(['xdotool'])
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@skipIfQemu()
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_USB_Hid_input(self):
self.keyboard_mouse_simulation()

View File

@@ -281,7 +281,7 @@ class Postinst(OESelftestTestCase):
@skipIfNotQemu('qemuall', 'Test only runs in qemu')
@skipIfNotQemu()
def test_postinst_rootfs_and_boot_sysvinit(self):
"""
Summary: The purpose of this test case is to verify Post-installation
@@ -302,7 +302,7 @@ class Postinst(OESelftestTestCase):
self.init_manager_loop("sysvinit")
@skipIfNotQemu('qemuall', 'Test only runs in qemu')
@skipIfNotQemu()
def test_postinst_rootfs_and_boot_systemd(self):
"""
Summary: The purpose of this test case is to verify Post-installation