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(): _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits