From: Ross Burton Date: Wed, 9 Nov 2022 19:31:22 +0000 (+0000) Subject: oeqa/core/decorator: add decorators to skip based on HOST_ARCH X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~2543 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0c21ff0a92906b6b4820eb8beddf8762fe70653d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git oeqa/core/decorator: add decorators to skip based on HOST_ARCH There are already decorators to skip on the value of MACHINE, but for flexibility it's better to skip based on the target architecture. This means, for example, the ISO image tests could skip if the architecture isn't x86. Signed-off-by: Ross Burton Signed-off-by: Alexandre Belloni --- diff --git a/meta/lib/oeqa/core/decorator/data.py b/meta/lib/oeqa/core/decorator/data.py index 3ce10e54999..de881e097ab 100644 --- a/meta/lib/oeqa/core/decorator/data.py +++ b/meta/lib/oeqa/core/decorator/data.py @@ -194,3 +194,27 @@ class skipIfQemu(OETestDecorator): self.logger.debug("Checking if qemu MACHINE") if self.case.td.get('MACHINE', '').startswith('qemu'): self.case.skipTest('Test only runs on real hardware') + +@registerDecorator +class skipIfArch(OETestDecorator): + """ + Skip test if HOST_ARCH is present in the tuple specified. + """ + + attrs = ('archs',) + def setUpDecorator(self): + arch = self.case.td['HOST_ARCH'] + if arch in self.archs: + self.case.skipTest('Test skipped on %s' % arch) + +@registerDecorator +class skipIfNotArch(OETestDecorator): + """ + Skip test if HOST_ARCH is not present in the tuple specified. + """ + + attrs = ('archs',) + def setUpDecorator(self): + arch = self.case.td['HOST_ARCH'] + if arch not in self.archs: + self.case.skipTest('Test skipped on %s' % arch)