[Lldb-commits] [lldb] 47dd1f6 - [lldb] Skip TestAppleSimulatorOSType if json parsing fails
Augusto Noronha via lldb-commits
lldb-commits at lists.llvm.org
Thu Sep 16 12:39:29 PDT 2021
Author: Augusto Noronha
Date: 2021-09-16T16:38:20-03:00
New Revision: 47dd1f642846d476e3d789f4aa941699dc0ed3fe
URL: https://github.com/llvm/llvm-project/commit/47dd1f642846d476e3d789f4aa941699dc0ed3fe
DIFF: https://github.com/llvm/llvm-project/commit/47dd1f642846d476e3d789f4aa941699dc0ed3fe.diff
LOG: [lldb] Skip TestAppleSimulatorOSType if json parsing fails
xcodebuild, which is invoked by the apple_simulator_test decorator, may
may return a successful status even if it was unable to run due to the
authorization agent denying it. This causes the TestAppleSimulatorOSType
to run when it shouldn't, and throw an excpection when parsing the JSON
that lists the simulators available. Wrap the json parsing in a
try/except block and if it fails, skip the ttest.
Differential Revision: https://reviews.llvm.org/D109336
Added:
Modified:
lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
Removed:
################################################################################
diff --git a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
index 01942344e0e10..1230af95a9a33 100644
--- a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
+++ b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
@@ -20,7 +20,16 @@ def check_simulator_ostype(self, sdk, platform_name, arch=platform.machine()):
cmd = ['xcrun', 'simctl', 'list', '-j', 'devices']
self.trace(' '.join(cmd))
sim_devices_str = subprocess.check_output(cmd).decode("utf-8")
- sim_devices = json.loads(sim_devices_str)['devices']
+
+ # xcodebuild, which is invoked by the apple_simulator_test decorator,
+ # may return a successful status even if it was unable to run due to
+ # the authorization agent denying it. Try to parse the json that lists
+ # the simulators but if that fails skip the test.
+ try:
+ sim_devices = json.loads(sim_devices_str)['devices']
+ except json.decoder.JSONDecodeError:
+ self.skipTest("Could not parse JSON of simulators available")
+
# Find an available simulator for the requested platform
deviceUDID = None
deviceRuntime = None
More information about the lldb-commits
mailing list