[lldb] Add Apple simulator platforms to lldbplatform.py
authorRaphael Isemann <teemperor@gmail.com>
Thu, 5 Nov 2020 14:32:03 +0000 (15:32 +0100)
committerRaphael Isemann <teemperor@gmail.com>
Thu, 5 Nov 2020 14:34:42 +0000 (15:34 +0100)
This just adds the simulator platforms to the lldbplatform enumerations
and the respective test decorator.

The platform names for the simulator are just the SDK names since D85537, so
that's why we are not using LLDB's usual platform names here (e.g., SDK =
"iphonesimulator" vs LLDB platform ="ios-simulator").

Also removes the duplicate platform enumaration in lldbplatformutil.py.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89694

lldb/packages/Python/lldbsuite/test/decorators.py
lldb/packages/Python/lldbsuite/test/lldbplatform.py
lldb/packages/Python/lldbsuite/test/lldbplatformutil.py

index 1775c07..358005d 100644 (file)
@@ -551,16 +551,16 @@ def skipIfiOSSimulator(func):
     return skipTestIfFn(is_ios_simulator)(func)
 
 def skipIfiOS(func):
-    return skipIfPlatform(["ios"])(func)
+    return skipIfPlatform(lldbplatform.translate(lldbplatform.ios))(func)
 
 def skipIftvOS(func):
-    return skipIfPlatform(["tvos"])(func)
+    return skipIfPlatform(lldbplatform.translate(lldbplatform.tvos))(func)
 
 def skipIfwatchOS(func):
-    return skipIfPlatform(["watchos"])(func)
+    return skipIfPlatform(lldbplatform.translate(lldbplatform.watchos))(func)
 
 def skipIfbridgeOS(func):
-    return skipIfPlatform(["bridgeos"])(func)
+    return skipIfPlatform(lldbplatform.translate(lldbplatform.bridgeos))(func)
 
 def skipIfDarwinEmbedded(func):
     """Decorate the item to skip tests that should be skipped on Darwin armv7/arm64 targets."""
@@ -568,6 +568,12 @@ def skipIfDarwinEmbedded(func):
         lldbplatform.translate(
             lldbplatform.darwin_embedded))(func)
 
+def skipIfDarwinSimulator(func):
+    """Decorate the item to skip tests that should be skipped on Darwin simulator targets."""
+    return skipIfPlatform(
+        lldbplatform.translate(
+            lldbplatform.darwin_simulator))(func)
+
 def skipIfFreeBSD(func):
     """Decorate the item to skip tests that should be skipped on FreeBSD."""
     return skipIfPlatform(["freebsd"])(func)
index 365c752..18a4fe5 100644 (file)
@@ -11,20 +11,25 @@ import six
 # LLDB modules
 import lldb
 
-windows, linux, macosx, darwin, ios, tvos, watchos, bridgeos, darwin_all, darwin_embedded, freebsd, netbsd, bsd_all, android = range(
-    14)
+windows, linux, macosx, darwin, ios, tvos, watchos, bridgeos, darwin_all, \
+    darwin_embedded, darwin_simulator, freebsd, netbsd, bsd_all, android \
+    = range(15)
+
+__darwin_embedded = ["ios", "tvos", "watchos", "bridgeos"]
+__darwin_simulators = ["iphonesimulator", "watchsimulator", "appletvsimulator"]
 
 __name_lookup = {
     windows: ["windows"],
     linux: ["linux"],
     macosx: ["macosx"],
     darwin: ["darwin"],
-    ios: ["ios"],
-    tvos: ["tvos"],
-    watchos: ["watchos"],
+    ios: ["ios", "iphonesimulator"],
+    tvos: ["tvos", "appletvsimulator"],
+    watchos: ["watchos", "watchsimulator"],
     bridgeos: ["bridgeos"],
-    darwin_all: ["macosx", "darwin", "ios", "tvos", "watchos", "bridgeos"],
-    darwin_embedded: ["ios", "tvos", "watchos", "bridgeos"],
+    darwin_all: ["macosx", "darwin"] + __darwin_embedded + __darwin_simulators,
+    darwin_embedded: __darwin_embedded + __darwin_simulators,
+    darwin_simulator: __darwin_simulators,
     freebsd: ["freebsd"],
     netbsd: ["netbsd"],
     bsd_all: ["freebsd", "netbsd"],
index cc21865..3d6402c 100644 (file)
@@ -124,8 +124,7 @@ def getHostPlatform():
 
 
 def getDarwinOSTriples():
-    return ['darwin', 'macosx', 'ios', 'watchos', 'tvos', 'bridgeos']
-
+    return lldbplatform.translate(lldbplatform.darwin_all)
 
 def getPlatform():
     """Returns the target platform which the tests are running on."""