From fcc9c0ab37d1280538490a8069baf94984b38853 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 31 Mar 2022 19:29:09 +0100 Subject: oeqa: rationalise skipifqemu decorators (From OE-Core rev: 1a3a37cc2b16a8d5cd2258b0b35be43baa363f67) Signed-off-by: Ross Burton Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/lib/oeqa/core/decorator/data.py | 44 +++++----------------- meta/lib/oeqa/runtime/cases/boot.py | 2 +- meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py | 3 +- meta/lib/oeqa/runtime/cases/ltp_stress.py | 3 +- meta/lib/oeqa/runtime/cases/storage.py | 16 ++++---- meta/lib/oeqa/runtime/cases/suspend.py | 2 +- meta/lib/oeqa/runtime/cases/usb_hid.py | 2 +- meta/lib/oeqa/selftest/cases/runtime_test.py | 4 +- 8 files changed, 25 insertions(+), 51 deletions(-) diff --git a/meta/lib/oeqa/core/decorator/data.py b/meta/lib/oeqa/core/decorator/data.py index 12197be246..3ce10e5499 100644 --- a/meta/lib/oeqa/core/decorator/data.py +++ b/meta/lib/oeqa/core/decorator/data.py @@ -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') diff --git a/meta/lib/oeqa/runtime/cases/boot.py b/meta/lib/oeqa/runtime/cases/boot.py index 2142f400a0..e1ad88a174 100644 --- a/meta/lib/oeqa/runtime/cases/boot.py +++ b/meta/lib/oeqa/runtime/cases/boot.py @@ -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 = '' diff --git a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py index e010612838..b93ee29941 100644 --- a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py +++ b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py @@ -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}'") diff --git a/meta/lib/oeqa/runtime/cases/ltp_stress.py b/meta/lib/oeqa/runtime/cases/ltp_stress.py index 2445ffbc93..ce6f4bf59d 100644 --- a/meta/lib/oeqa/runtime/cases/ltp_stress.py +++ b/meta/lib/oeqa/runtime/cases/ltp_stress.py @@ -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): diff --git a/meta/lib/oeqa/runtime/cases/storage.py b/meta/lib/oeqa/runtime/cases/storage.py index 166d26b252..972ef8210c 100644 --- a/meta/lib/oeqa/runtime/cases/storage.py +++ b/meta/lib/oeqa/runtime/cases/storage.py @@ -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) diff --git a/meta/lib/oeqa/runtime/cases/suspend.py b/meta/lib/oeqa/runtime/cases/suspend.py index 67b6f7e56f..0382d48f45 100644 --- a/meta/lib/oeqa/runtime/cases/suspend.py +++ b/meta/lib/oeqa/runtime/cases/suspend.py @@ -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() diff --git a/meta/lib/oeqa/runtime/cases/usb_hid.py b/meta/lib/oeqa/runtime/cases/usb_hid.py index 3c292cf661..8743174370 100644 --- a/meta/lib/oeqa/runtime/cases/usb_hid.py +++ b/meta/lib/oeqa/runtime/cases/usb_hid.py @@ -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() diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 7b7371b6e0..2ad89490fc 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -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 -- cgit v1.2.3-54-g00ecf