[lldb/test] Fix TestAppleSimulatorOSType when multiple runtimes are installed
authorFred Riss <friss@apple.com>
Fri, 29 May 2020 15:29:11 +0000 (08:29 -0700)
committerFred Riss <friss@apple.com>
Fri, 29 May 2020 15:30:04 +0000 (08:30 -0700)
One can have multiple simulator runtimes installed, supporting
various generations of OSs. The logic in TestAppleSimulatorOSType
might select a rnutime older than the one targeted by the current
tools, preventing the executable from running. This commit changes
the test to look for the most recent runtime available instead.

lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py

index 86b54dd..a259ef6 100644 (file)
@@ -18,6 +18,7 @@ class TestAppleSimulatorOSType(gdbremote_testcase.GdbRemoteTestCaseBase):
         sim_devices = json.loads(sim_devices_str)['devices']
         # Find an available simulator for the requested platform
         deviceUDID = None
+        deviceRuntime = None
         for simulator in sim_devices:
             if isinstance(simulator,dict):
                 runtime = simulator['name']
@@ -32,9 +33,11 @@ class TestAppleSimulatorOSType(gdbremote_testcase.GdbRemoteTestCaseBase):
                     continue
                 if 'isAvailable' in device and device['isAvailable'] != True:
                     continue
+                if deviceRuntime and runtime < deviceRuntime:
+                    continue
                 deviceUDID = device['udid']
-                break
-            if deviceUDID != None:
+                deviceRuntime = runtime
+                # Stop searching in this runtime
                 break
 
         # Launch the process using simctl