[Lldb-commits] [lldb] be09f83 - Revert "[lldb/test] Make category-skipping logic "platform"-independent"
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 15 08:25:41 PDT 2022
Author: Pavel Labath
Date: 2022-03-15T16:23:43+01:00
New Revision: be09f83760ebe7cf698746d5504976ad82679815
URL: https://github.com/llvm/llvm-project/commit/be09f83760ebe7cf698746d5504976ad82679815
DIFF: https://github.com/llvm/llvm-project/commit/be09f83760ebe7cf698746d5504976ad82679815.diff
LOG: Revert "[lldb/test] Make category-skipping logic "platform"-independent"
This reverts commit dddf4ce034a8e06cc1351492dceece3fa2344c14. It breaks
a couple of tests on macos.
Added:
Modified:
lldb/packages/Python/lldbsuite/test/dotest.py
lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Removed:
################################################################################
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index 2d8bf5311a699..ce01146055b2c 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -822,9 +822,9 @@ def checkObjcSupport():
configuration.skip_categories.append("objc")
def checkDebugInfoSupport():
- from lldbsuite.test import lldbplatformutil
+ import lldb
- platform = lldbplatformutil.getPlatform()
+ platform = lldb.selected_platform.GetTriple().split('-')[2]
compiler = configuration.compiler
for cat in test_categories.debug_info_categories:
if cat in configuration.categories_list:
@@ -840,14 +840,14 @@ def checkDebugServerSupport():
skip_msg = "Skipping %s tests, as they are not compatible with remote testing on this platform"
if lldbplatformutil.platformIsDarwin():
configuration.skip_categories.append("llgs")
- if configuration.lldb_platform_name:
+ if lldb.remote_platform:
# <rdar://problem/34539270>
configuration.skip_categories.append("debugserver")
if configuration.verbose:
print(skip_msg%"debugserver");
else:
configuration.skip_categories.append("debugserver")
- if configuration.lldb_platform_name and lldbplatformutil.getPlatform() == "windows":
+ if lldb.remote_platform and lldbplatformutil.getPlatform() == "windows":
configuration.skip_categories.append("llgs")
if configuration.verbose:
print(skip_msg%"lldb-server");
@@ -881,16 +881,7 @@ def run_suite():
import lldb
lldb.SBDebugger.Initialize()
- checkLibcxxSupport()
- checkLibstdcxxSupport()
- checkWatchpointSupport()
- checkDebugInfoSupport()
- checkDebugServerSupport()
- checkObjcSupport()
- checkForkVForkSupport()
-
# Use host platform by default.
- lldb.remote_platform = None
lldb.selected_platform = lldb.SBPlatform.GetHostPlatform()
# Now we can also import lldbutil
@@ -901,7 +892,6 @@ def run_suite():
(configuration.lldb_platform_name))
lldb.remote_platform = lldb.SBPlatform(
configuration.lldb_platform_name)
- lldb.selected_platform = lldb.remote_platform
if not lldb.remote_platform.IsValid():
print(
"error: unable to create the LLDB platform named '%s'." %
@@ -948,6 +938,14 @@ def run_suite():
# Note that it's not dotest's job to clean this directory.
lldbutil.mkdir_p(configuration.test_build_dir)
+ checkLibcxxSupport()
+ checkLibstdcxxSupport()
+ checkWatchpointSupport()
+ checkDebugInfoSupport()
+ checkDebugServerSupport()
+ checkObjcSupport()
+ checkForkVForkSupport()
+
print("Skipping the following test categories: {}".format(configuration.skip_categories))
for testdir in configuration.testdirs:
diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
index 6b93dcf38bbe6..94b133589dcc5 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -57,7 +57,12 @@ def _run_adb_command(cmd, device_id):
def target_is_android():
- return configuration.lldb_platform_name == "remote-android"
+ if not hasattr(target_is_android, 'result'):
+ triple = lldb.selected_platform.GetTriple()
+ match = re.match(".*-.*-.*-android", triple)
+ target_is_android.result = match is not None
+ return target_is_android.result
+
def android_device_api():
if not hasattr(android_device_api, 'result'):
@@ -134,16 +139,18 @@ def getPlatform():
platform = 'ios'
return platform
- platform = configuration.lldb_platform_name
- if platform is None:
- platform = "host"
- if platform == "qemu-user":
- platform = "host"
- if platform == "host":
- return getHostPlatform()
- if platform.startswith("remote-"):
- return platform[7:]
- return platform
+ # Use the triple to determine the platform if set.
+ triple = lldb.selected_platform.GetTriple()
+ if triple:
+ platform = triple.split('-')[2]
+ if platform.startswith('freebsd'):
+ platform = 'freebsd'
+ elif platform.startswith('netbsd'):
+ platform = 'netbsd'
+ return platform
+
+ # It still might be an unconnected remote platform.
+ return ''
def platformIsDarwin():
More information about the lldb-commits
mailing list