summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2022-03-31 19:29:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-04-01 23:11:37 +0100
commitfcc9c0ab37d1280538490a8069baf94984b38853 (patch)
treec70166d56bdbfdddce182ce9c55880b85dfcf977 /meta/lib
parent416cce968d3abb85177287cc1e497867d0472755 (diff)
downloadpoky-fcc9c0ab37d1280538490a8069baf94984b38853.tar.gz
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>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/core/decorator/data.py44
-rw-r--r--meta/lib/oeqa/runtime/cases/boot.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py3
-rw-r--r--meta/lib/oeqa/runtime/cases/ltp_stress.py3
-rw-r--r--meta/lib/oeqa/runtime/cases/storage.py16
-rw-r--r--meta/lib/oeqa/runtime/cases/suspend.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/usb_hid.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/runtime_test.py4
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):
27 return True 27 return True
28 return False 28 return False
29 29
30def is_qemu(td, qemu):
31 """
32 Checks if MACHINE is qemu.
33 """
34
35 machine = td.get('MACHINE', '')
36 if (qemu in td.get('MACHINE', '') or
37 machine.startswith('qemu')):
38 return True
39 return False
40
41@registerDecorator 30@registerDecorator
42class skipIfDataVar(OETestDecorator): 31class skipIfDataVar(OETestDecorator):
43 """ 32 """
@@ -189,34 +178,19 @@ class skipIfMachine(OETestDecorator):
189@registerDecorator 178@registerDecorator
190class skipIfNotQemu(OETestDecorator): 179class skipIfNotQemu(OETestDecorator):
191 """ 180 """
192 Skip test based on MACHINE. 181 Skip test if MACHINE is not qemu*
193
194 value must be a qemu MACHINE or it will skip the test
195 with msg as the reason.
196 """ 182 """
197
198 attrs = ('value', 'msg')
199
200 def setUpDecorator(self): 183 def setUpDecorator(self):
201 msg = ('Checking if %s is not this MACHINE' % self.value) 184 self.logger.debug("Checking if not qemu MACHINE")
202 self.logger.debug(msg) 185 if not self.case.td.get('MACHINE', '').startswith('qemu'):
203 if not is_qemu(self.case.td, self.value): 186 self.case.skipTest('Test only runs on qemu machines')
204 self.case.skipTest(self.msg)
205 187
206@registerDecorator 188@registerDecorator
207class skipIfQemu(OETestDecorator): 189class skipIfQemu(OETestDecorator):
208 """ 190 """
209 Skip test based on Qemu Machine. 191 Skip test if MACHINE is qemu*
210 192 """
211 value must not be a qemu machine or it will skip the test
212 with msg as the reason.
213 """
214
215 attrs = ('value', 'msg')
216
217 def setUpDecorator(self): 193 def setUpDecorator(self):
218 msg = ('Checking if %s is this MACHINE' % self.value) 194 self.logger.debug("Checking if qemu MACHINE")
219 self.logger.debug(msg) 195 if self.case.td.get('MACHINE', '').startswith('qemu'):
220 if is_qemu(self.case.td, self.value): 196 self.case.skipTest('Test only runs on real hardware')
221 self.case.skipTest(self.msg)
222
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
13class BootTest(OERuntimeTestCase): 13class BootTest(OERuntimeTestCase):
14 14
15 @OETimeout(120) 15 @OETimeout(120)
16 @skipIfQemu('qemuall', 'Test only runs on real hardware') 16 @skipIfQemu()
17 @OETestDepends(['ssh.SSHTest.test_ssh']) 17 @OETestDepends(['ssh.SSHTest.test_ssh'])
18 def test_reboot(self): 18 def test_reboot(self):
19 output = '' 19 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):
11 x = '.'.join(x) 11 x = '.'.join(x)
12 return x 12 return x
13 13
14 @skipIfQemu('qemuall', 'Test only runs on real hardware') 14 @skipIfQemu()
15 @OETestDepends(['ssh.SSHTest.test_ssh']) 15 @OETestDepends(['ssh.SSHTest.test_ssh'])
16 def test_set_virtual_ip(self): 16 def test_set_virtual_ip(self):
17 (status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'") 17 (status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'")
@@ -22,6 +22,7 @@ class Ethernet_Test(OERuntimeTestCase):
22 (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)) 22 (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))
23 self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output) 23 self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output)
24 24
25 @skipIfQemu()
25 @OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip']) 26 @OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip'])
26 def test_get_ip_from_dhcp(self): 27 def test_get_ip_from_dhcp(self):
27 (status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'") 28 (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):
89 89
90 # LTP stress runtime tests 90 # LTP stress runtime tests
91 # 91 #
92 @skipIfQemu('qemuall', 'Test only runs on real hardware') 92 @skipIfQemu()
93
94 @OETestDepends(['ssh.SSHTest.test_ssh']) 93 @OETestDepends(['ssh.SSHTest.test_ssh'])
95 @OEHasPackage(["ltp"]) 94 @OEHasPackage(["ltp"])
96 def test_ltp_stress(self): 95 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):
91 self.test_file = "usb.tst" 91 self.test_file = "usb.tst"
92 self.test_dir = os.path.join(self.mount_point, "oeqa") 92 self.test_dir = os.path.join(self.mount_point, "oeqa")
93 93
94 @skipIfQemu('qemuall', 'Test only runs on real hardware') 94 @skipIfQemu()
95 @OETestDepends(['ssh.SSHTest.test_ssh']) 95 @OETestDepends(['ssh.SSHTest.test_ssh'])
96 def test_usb_mount(self): 96 def test_usb_mount(self):
97 self.storage_umount(2) 97 self.storage_umount(2)
98 self.storage_mount(5) 98 self.storage_mount(5)
99 99
100 @skipIfQemu('qemuall', 'Test only runs on real hardware') 100 @skipIfQemu()
101 @OETestDepends(['storage.UsbTest.test_usb_mount']) 101 @OETestDepends(['storage.UsbTest.test_usb_mount'])
102 def test_usb_basic_operations(self): 102 def test_usb_basic_operations(self):
103 self.storage_basic() 103 self.storage_basic()
104 104
105 @skipIfQemu('qemuall', 'Test only runs on real hardware') 105 @skipIfQemu()
106 @OETestDepends(['storage.UsbTest.test_usb_basic_operations']) 106 @OETestDepends(['storage.UsbTest.test_usb_basic_operations'])
107 def test_usb_basic_rw(self): 107 def test_usb_basic_rw(self):
108 self.storage_write() 108 self.storage_write()
109 self.storage_read() 109 self.storage_read()
110 110
111 @skipIfQemu('qemuall', 'Test only runs on real hardware') 111 @skipIfQemu()
112 @OETestDepends(['storage.UsbTest.test_usb_mount']) 112 @OETestDepends(['storage.UsbTest.test_usb_mount'])
113 def test_usb_umount(self): 113 def test_usb_umount(self):
114 self.storage_umount(2) 114 self.storage_umount(2)
@@ -126,24 +126,24 @@ class MMCTest(StorageBase):
126 self.test_file = "mmc.tst" 126 self.test_file = "mmc.tst"
127 self.test_dir = os.path.join(self.mount_point, "oeqa") 127 self.test_dir = os.path.join(self.mount_point, "oeqa")
128 128
129 @skipIfQemu('qemuall', 'Test only runs on real hardware') 129 @skipIfQemu()
130 @OETestDepends(['ssh.SSHTest.test_ssh']) 130 @OETestDepends(['ssh.SSHTest.test_ssh'])
131 def test_mmc_mount(self): 131 def test_mmc_mount(self):
132 self.storage_umount(2) 132 self.storage_umount(2)
133 self.storage_mount() 133 self.storage_mount()
134 134
135 @skipIfQemu('qemuall', 'Test only runs on real hardware') 135 @skipIfQemu()
136 @OETestDepends(['storage.MMCTest.test_mmc_mount']) 136 @OETestDepends(['storage.MMCTest.test_mmc_mount'])
137 def test_mmc_basic_operations(self): 137 def test_mmc_basic_operations(self):
138 self.storage_basic() 138 self.storage_basic()
139 139
140 @skipIfQemu('qemuall', 'Test only runs on real hardware') 140 @skipIfQemu()
141 @OETestDepends(['storage.MMCTest.test_mmc_basic_operations']) 141 @OETestDepends(['storage.MMCTest.test_mmc_basic_operations'])
142 def test_mmc_basic_rw(self): 142 def test_mmc_basic_rw(self):
143 self.storage_write() 143 self.storage_write()
144 self.storage_read() 144 self.storage_read()
145 145
146 @skipIfQemu('qemuall', 'Test only runs on real hardware') 146 @skipIfQemu()
147 @OETestDepends(['storage.MMCTest.test_mmc_mount']) 147 @OETestDepends(['storage.MMCTest.test_mmc_mount'])
148 def test_mmc_umount(self): 148 def test_mmc_umount(self):
149 self.storage_umount(2) 149 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):
23 (status, output) = self.target.run('sudo rtcwake -m mem -s 10') 23 (status, output) = self.target.run('sudo rtcwake -m mem -s 10')
24 self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output) 24 self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
25 25
26 @skipIfQemu('qemuall', 'Test only runs on real hardware') 26 @skipIfQemu()
27 @OETestDepends(['ssh.SSHTest.test_ssh']) 27 @OETestDepends(['ssh.SSHTest.test_ssh'])
28 def test_suspend(self): 28 def test_suspend(self):
29 self.test_date() 29 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):
14 return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output) 14 return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
15 15
16 @OEHasPackage(['xdotool']) 16 @OEHasPackage(['xdotool'])
17 @skipIfQemu('qemuall', 'Test only runs on real hardware') 17 @skipIfQemu()
18 @OETestDepends(['ssh.SSHTest.test_ssh']) 18 @OETestDepends(['ssh.SSHTest.test_ssh'])
19 def test_USB_Hid_input(self): 19 def test_USB_Hid_input(self):
20 self.keyboard_mouse_simulation() 20 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):
281 281
282 282
283 283
284 @skipIfNotQemu('qemuall', 'Test only runs in qemu') 284 @skipIfNotQemu()
285 def test_postinst_rootfs_and_boot_sysvinit(self): 285 def test_postinst_rootfs_and_boot_sysvinit(self):
286 """ 286 """
287 Summary: The purpose of this test case is to verify Post-installation 287 Summary: The purpose of this test case is to verify Post-installation
@@ -302,7 +302,7 @@ class Postinst(OESelftestTestCase):
302 self.init_manager_loop("sysvinit") 302 self.init_manager_loop("sysvinit")
303 303
304 304
305 @skipIfNotQemu('qemuall', 'Test only runs in qemu') 305 @skipIfNotQemu()
306 def test_postinst_rootfs_and_boot_systemd(self): 306 def test_postinst_rootfs_and_boot_systemd(self):
307 """ 307 """
308 Summary: The purpose of this test case is to verify Post-installation 308 Summary: The purpose of this test case is to verify Post-installation