-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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
[lldb][test] Remove reason
from unittest2.expectedFailure
usage
#73028
Conversation
When switching to the standard `unittest` library, various unittests fail because we provide a "bugnumber" (a github issue/rdar link), but there is no longer a way to provide an xfail reason. See: https://docs.python.org/3/library/unittest.html?highlight=unittest#unittest.expectedFailure
@llvm/pr-subscribers-lldb Author: Jordan Rupprecht (rupprecht) ChangesFull diff: https://github.com/llvm/llvm-project/pull/73028.diff 7 Files Affected:
diff --git a/lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py b/lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
index e93f566ea7ea63c..409dcf8e19d383b 100644
--- a/lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
+++ b/lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
@@ -13,7 +13,7 @@ class JITLoaderGDBTestCase(TestBase):
lambda: "Skipped because the test crashes the test runner",
bugnumber="llvm.org/pr24702",
)
- @expectedFailure("llvm.org/pr24702")
+ @expectedFailure # llvm.org/pr24702
def test_bogus_values(self):
"""Test that we handle inferior misusing the GDB JIT interface"""
self.build()
diff --git a/lldb/test/API/functionalities/thread/state/TestThreadStates.py b/lldb/test/API/functionalities/thread/state/TestThreadStates.py
index ad1edff6ae3f354..8e937d6c22a6758 100644
--- a/lldb/test/API/functionalities/thread/state/TestThreadStates.py
+++ b/lldb/test/API/functionalities/thread/state/TestThreadStates.py
@@ -40,14 +40,14 @@ def test_state_after_continue(self):
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24660")
@expectedFailureNetBSD
# thread states not properly maintained
- @expectedFailure("llvm.org/pr16712")
+ @expectedFailure # llvm.org/pr16712
def test_state_after_expression(self):
"""Test thread state after expression."""
self.build()
self.thread_state_after_expression_test()
# thread states not properly maintained
- @expectedFailure("llvm.org/pr15824 and <rdar://problem/28557237>")
+ @expectedFailure # llvm.org/pr15824 and <rdar://problem/28557237>
@expectedFailureAll(
oslist=["windows"],
bugnumber="llvm.org/pr24668: Breakpoints not resolved correctly",
diff --git a/lldb/test/API/lang/c/shared_lib/TestSharedLib.py b/lldb/test/API/lang/c/shared_lib/TestSharedLib.py
index b375aa6a86e14fb..39f5a144703763e 100644
--- a/lldb/test/API/lang/c/shared_lib/TestSharedLib.py
+++ b/lldb/test/API/lang/c/shared_lib/TestSharedLib.py
@@ -34,7 +34,7 @@ def test_expr_no_preload(self):
"""Test that types work when defined in a shared library and forward-declared in the main executable, but with preloading disabled"""
self.common_test_expr(False)
- @expectedFailure("llvm.org/PR36712")
+ @expectedFailure # llvm.org/PR36712
def test_frame_variable(self):
"""Test that types work when defined in a shared library and forward-declared in the main executable"""
self.build()
diff --git a/lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py b/lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
index f7035edddaf09b8..5fd6cc1a3172f48 100644
--- a/lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
+++ b/lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
@@ -27,7 +27,7 @@ def test_expr(self):
)
@expectedFailureAll(oslist=["windows"])
- @expectedFailure("llvm.org/PR36712")
+ @expectedFailure # llvm.org/PR36712
def test_frame_variable(self):
"""Test that types work when defined in a shared library and forward-declared in the main executable"""
self.build()
diff --git a/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py b/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
index f88667b9dfa2ae9..1803fdcd4d87956 100644
--- a/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
+++ b/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
@@ -40,7 +40,7 @@ def runToBkpt(self, command):
)
@skipIfWindows # This is flakey on Windows: llvm.org/pr38373
- @expectedFailure("CU-local objects incorrectly scoped")
+ @expectedFailure # CU-local objects incorrectly scoped
def test_scope_lookup_with_run_command_globals(self):
"""Test scope lookup of functions in lldb."""
self.build()
@@ -210,7 +210,7 @@ def test_scope_lookup_with_run_command(self):
# Evaluate B::func() - should call B::func()
self.expect_expr("B::func()", result_type="int", result_value="4")
- @expectedFailure("lldb scope lookup of functions bugs")
+ @expectedFailure # lldb scope lookup of functions bugs
def test_function_scope_lookup_with_run_command(self):
"""Test scope lookup of functions in lldb."""
self.build()
@@ -271,7 +271,7 @@ def test_scope_after_using_directive_lookup_with_run_command(self):
# Evaluate func2() - should call A::func2()
self.expect_expr("func2()", result_type="int", result_value="3")
- @expectedFailure("lldb scope lookup after using declaration bugs")
+ @expectedFailure # lldb scope lookup after using declaration bugs
# NOTE: this test may fail on older systems that don't emit import
# emtries in DWARF - may need to add checks for compiler versions here.
def test_scope_after_using_declaration_lookup_with_run_command(self):
@@ -293,7 +293,7 @@ def test_scope_after_using_declaration_lookup_with_run_command(self):
# Evaluate func() - should call A::func()
self.expect_expr("func()", result_type="int", result_value="3")
- @expectedFailure("lldb scope lookup ambiguity after using bugs")
+ @expectedFailure # lldb scope lookup ambiguity after using bugs
def test_scope_ambiguity_after_using_lookup_with_run_command(self):
"""Test scope lookup ambiguity after using in lldb."""
self.build()
diff --git a/lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py b/lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
index a7b02baeb13c58d..cbabce41b58f973 100644
--- a/lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
+++ b/lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
@@ -5,7 +5,7 @@
class TestCase(TestBase):
- @expectedFailure("The fix for this was reverted due to llvm.org/PR52257")
+ @expectedFailure # The fix for this was reverted due to llvm.org/PR52257
def test(self):
self.build()
self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
diff --git a/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py b/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
index 8153376b4c6feea..ead4d00c46c767b 100644
--- a/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
+++ b/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
@@ -57,7 +57,7 @@ def test_frame_variable(self):
self.build()
self.frame_var(False)
- @expectedFailure("rdar://18683637")
+ @expectedFailure # rdar://18683637
def test_frame_variable_across_modules(self):
if self.getArchitecture() == "i386":
self.skipTest("requires modern objc runtime")
|
This cleanup isn't strictly required to proceed w/ unittest2->unittest; we already have a wrapper in decorators.py that we could update, from: def expectedFailure(func):
return unittest2.expectedFailure(func) To: def expectedFailure(func):
if callable(func):
return unittest.expectedFailure(func)
return unittest.expectedFailure IMHO, better to just start dropping the reason field to be more uniform; one should not have to decipher whether |
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.
I suppose we don't really lose anything by moving away from expectedFailure
from decorators?
Is it worth deleting the custom decorator that we have as well? 😄
Someone filed a FR ages ago for the standard unittest to take a reason for xfail: https://bugs.python.org/issue12681 tl;dr good idea but that ship has sailed. So, this PR isn't really "better", it's just more compatible.
Yeah, it's not holding its own weight. Tests can just write |
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.
Awesome!
No description provided.