Author: David Spickett Date: 2024-01-30T13:46:09Z New Revision: 7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
URL: https://github.com/llvm/llvm-project/commit/7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe DIFF: https://github.com/llvm/llvm-project/commit/7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe.diff LOG: [lldb][test][NFC] Refactor xfails in TestRequireHWBreakpoints.py This file used a strange, multi-level setup where we skipped on a function we used for xfailing. Let's not do that, just skip the one test we care about. Also added a comment to explain how this file works. The tests *want* calls to fail when we ask for only hardware breaks but have none to use. If you don't know that, it all seems backwards. Added: Modified: lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py Removed: ################################################################################ diff --git a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py index 6d7719af8d69..ae4f7ea071ed 100644 --- a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py +++ b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py @@ -1,5 +1,8 @@ """ Test require hardware breakpoints. + +Some of these tests require a target that does not have hardware breakpoints. +So that we can check we fail when required to use them. """ @@ -12,10 +15,6 @@ class BreakpointLocationsTestCase(HardwareBreakpointTestBase): - @skipIf(oslist=["linux"], archs=["arm"]) - def supports_hw_breakpoints(self): - return super().supports_hw_breakpoints() - def test_breakpoint(self): """Test regular breakpoints when hardware breakpoints are required.""" self.build() @@ -27,7 +26,7 @@ def test_breakpoint(self): breakpoint = target.BreakpointCreateByLocation("main.c", 1) self.assertTrue(breakpoint.IsHardware()) - @expectedFailureIfFn(supports_hw_breakpoints) + @expectedFailureIfFn(HardwareBreakpointTestBase.supports_hw_breakpoints) def test_step_range(self): """Test stepping when hardware breakpoints are required.""" self.build() @@ -50,7 +49,7 @@ def test_step_range(self): "Could not create hardware breakpoint for thread plan" in error.GetCString() ) - @expectedFailureIfFn(supports_hw_breakpoints) + @expectedFailureIfFn(HardwareBreakpointTestBase.supports_hw_breakpoints) def test_step_out(self): """Test stepping out when hardware breakpoints are required.""" self.build() @@ -72,7 +71,7 @@ def test_step_out(self): "Could not create hardware breakpoint for thread plan" in error.GetCString() ) - @expectedFailureIfFn(supports_hw_breakpoints) + @expectedFailureIfFn(HardwareBreakpointTestBase.supports_hw_breakpoints) def test_step_over(self): """Test stepping over when hardware breakpoints are required.""" self.build() @@ -90,7 +89,9 @@ def test_step_over(self): substrs=["error: Could not create hardware breakpoint for thread plan."], ) - @expectedFailureIfFn(supports_hw_breakpoints) + # Was reported to sometimes pass on certain hardware. + @skipIf(oslist=["linux"], archs=["arm"]) + @expectedFailureIfFn(HardwareBreakpointTestBase.supports_hw_breakpoints) def test_step_until(self): """Test stepping until when hardware breakpoints are required.""" self.build() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits