llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Alex Langford (bulbazord) <details> <summary>Changes</summary> It does not make sense to run the libc++ tests when the libc++ dylib has an architecture that does not match the test binary. I ran into this when running the test suite with arm64e test binaries and the locally-built libc++ is built arm64. --- Full diff: https://github.com/llvm/llvm-project/pull/204267.diff 1 Files Affected: - (modified) lldb/packages/Python/lldbsuite/test/dotest.py (+16) ``````````diff diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index b1857780f1680..e630db7bca7e5 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -814,6 +814,22 @@ def canRunLibcxxTests(): if lldbplatformutil.platformIsDarwin(): if not configuration.libcxx_include_dir or not configuration.libcxx_library_dir: return False, "libc++ tests require a locally built libc++" + + # Check that the libc++ architecture matches the test architecture. + test_architecture = lldbplatformutil.getArchitecture() + + libcxx_dylib_path = os.path.join( + configuration.libcxx_library_dir, "libc++.dylib" + ) + try: + libcxx_arch_list = subprocess.check_output( + ["lipo", "-archs", libcxx_dylib_path], encoding="utf-8" + ).split(" ") + if test_architecture not in libcxx_arch_list: + return False, f"libc++ dylib missing {test_architecture} slice" + except subprocess.CalledProcessError: + return False, "libc++ dylib is not present" + return True, "libc++ present" if platform == "linux": `````````` </details> https://github.com/llvm/llvm-project/pull/204267 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
