-
Notifications
You must be signed in to change notification settings - Fork 15.3k
[lldb] skip unnamed symbol test on arm 32 architecture #141407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@llvm/pr-subscribers-lldb Author: Ely Ronnen (eronnen) ChangesThe test fails because LLDB does not recognize any function which is not in the symbol table on armv7 Full diff: https://github.com/llvm/llvm-project/pull/141407.diff 2 Files Affected:
diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py
index 868e9f7e5eca0..e87e8d662e4ae 100644
--- a/lldb/packages/Python/lldbsuite/test/decorators.py
+++ b/lldb/packages/Python/lldbsuite/test/decorators.py
@@ -799,6 +799,20 @@ def arch_doesnt_match():
return skipTestIfFn(arch_doesnt_match)
+def skipIfArch(arch):
+ """Decorate the item to skip tests if running on the specified architecture."""
+
+ def arch_matches():
+ target_arch = lldbplatformutil.getArchitecture()
+ if arch == target_arch:
+ return (
+ "Test does not run on " + arch + ", but target arch is " + target_arch
+ )
+ return None
+
+ return skipTestIfFn(arch_matches)
+
+
def skipIfTargetAndroid(bugnumber=None, api_levels=None, archs=None):
"""Decorator to skip tests when the target is Android.
diff --git a/lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py b/lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
index c0438f77fb1d1..f798ec342e41b 100644
--- a/lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
+++ b/lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
@@ -10,6 +10,8 @@
# --keep-symbol causes error on Windows: llvm-strip.exe: error: option is not supported for COFF
@skipIfWindows
+# Unnamed symbols don't get into the .eh_frame section on ARM, so LLDB can't find them.
+@skipIfArch("arm")
class TestUnnamedSymbolLookup(TestBase):
def test_unnamed_symbol_lookup(self):
"""Test looking up unnamed symbol synthetic name"""
|
|
The reasoning is fine but I'm pretty sure there's an existing way to write this skipif, let me look for it. |
Same purpose as #141407, comitting this directly to get the bot green sooner. Co-authored-by: Ely Ronnen <[email protected]>
|
I've pushed it directly to get the bot green: Thanks for figuring out the reason for the failure. |
Same purpose as llvm/llvm-project#141407, comitting this directly to get the bot green sooner. Co-authored-by: Ely Ronnen <[email protected]>
JDevlieghere
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Skipping the test is fine, but we don't need a new decorator for this. You can do this with:
@skipIf(archs=["arm"])
If we thought this was important enough or a dedicated decorator, it should be implemented in terms of the generic one. @eronnen can you please revert this part of the change and update the decorator?
|
I see it was already done by @DavidSpickett |
The test fails because LLDB does not recognize any function which is not in the symbol table on armv7
https://lab.llvm.org/buildbot/#/builders/18/builds/16431