From 341ec564182161861ec4415cdee1f4f3a0527e97 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Mon, 13 Jul 2020 13:09:53 -0700 Subject: [PATCH] Add a decorator to skip tests when running under Rosetta This allows skipping a test when running the testsuite on macOS under the Rosetta translation layer. Differential Revision: https://reviews.llvm.org/D83600 --- lldb/packages/Python/lldbsuite/test/decorators.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index ec084184cd65..be282f6db32c 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -552,6 +552,14 @@ def skipIfNoSBHeaders(func): return skipTestIfFn(are_sb_headers_missing)(func) +def skipIfRosetta(func, bugnumber=None): + """Skip a test when running the testsuite on macOS under the Rosetta translation layer.""" + def is_running_rosetta(self): + if not lldbplatformutil.getPlatform() in ['darwin', 'macosx']: + return False + return platform.uname()[5] == "arm" and self.getArchitecture() == "x86_64" + return skipTestIfFn(is_running_rosetta, bugnumber)(func) + def skipIfiOSSimulator(func): """Decorate the item to skip tests that should be skipped on the iOS Simulator.""" def is_ios_simulator():