[lldb] [test] Avoid double negation in llgs/debugserver logic
authorMichał Górny <mgorny@moritz.systems>
Thu, 5 Nov 2020 20:24:56 +0000 (21:24 +0100)
committerMichał Górny <mgorny@moritz.systems>
Fri, 6 Nov 2020 13:34:12 +0000 (14:34 +0100)
Use positive logic (i.e. llgs_platform/debugserver_platform) for
indicating which platforms use the particular server variant.
Deduplicate the lists — it is rather expected that none of the platforms
using LLGS would use debugserver.

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

lldb/packages/Python/lldbsuite/test/decorators.py
lldb/packages/Python/lldbsuite/test/dotest.py

index 358005d..4dfc7b1 100644 (file)
@@ -375,14 +375,18 @@ def apple_simulator_test(platform):
 def debugserver_test(func):
     """Decorate the item as a debugserver test."""
     def should_skip_debugserver_test():
-        return "debugserver tests" if configuration.dont_do_debugserver_test else None
+        return ("debugserver tests"
+                if not configuration.debugserver_platform
+                else None)
     return skipTestIfFn(should_skip_debugserver_test)(func)
 
 
 def llgs_test(func):
     """Decorate the item as a lldb-server test."""
     def should_skip_llgs_tests():
-        return "llgs tests" if configuration.dont_do_llgs_test else None
+        return ("llgs tests"
+                if not configuration.llgs_platform
+                else None)
     return skipTestIfFn(should_skip_llgs_tests)(func)
 
 
index 420c52a..5a81011 100644 (file)
@@ -938,26 +938,20 @@ def run_suite():
     # Note that it's not dotest's job to clean this directory.
     lldbutil.mkdir_p(configuration.test_build_dir)
 
-    target_platform = lldb.selected_platform.GetTriple().split('-')[2]
+    from . import lldbplatformutil
+    target_platform = lldbplatformutil.getPlatform()
 
     checkLibcxxSupport()
     checkLibstdcxxSupport()
     checkWatchpointSupport()
     checkDebugInfoSupport()
 
-    # Don't do debugserver tests on anything except OS X.
-    configuration.dont_do_debugserver_test = (
-            "linux" in target_platform or
-            "freebsd" in target_platform or
-            "netbsd" in target_platform or
-            "windows" in target_platform)
-
-    # Don't do lldb-server (llgs) tests on platforms not supporting it.
-    configuration.dont_do_llgs_test = not (
-            "freebsd" in target_platform or
-            "linux" in target_platform or
-            "netbsd" in target_platform or
-            "windows" in target_platform)
+    # Perform LLGS tests only on platforms using it.
+    configuration.llgs_platform = (
+        target_platform in ["freebsd", "linux", "netbsd", "windows"])
+
+    # Perform debugserver tests elsewhere (i.e. on Darwin platforms).
+    configuration.debugserver_platform = not configuration.llgs_platform
 
     for testdir in configuration.testdirs:
         for (dirpath, dirnames, filenames) in os.walk(testdir):