[Lldb-commits] [lldb] [lldb][test] Switch LLDB API tests from vendored unittest2 to unittest (PR #79945)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 30 03:14:29 PST 2024


DavidSpickett wrote:

I ran this on Arm and AArch64 Linux. One test `lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py` was xfailed on AArch64 is now not. Before:
```
PASS: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_breakpoint (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
XFAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_out (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
XFAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_over (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
XFAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_range (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
XFAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_until (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
```
After:
```
PASS: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_breakpoint (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
FAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_out (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
FAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_over (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
FAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_range (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
FAIL: LLDB (/home/david.spickett/build-llvm-aarch64/bin/clang-aarch64) :: test_step_until (TestRequireHWBreakpoints.BreakpointLocationsTestCase)
```
To be honest, the way the XFAIL is written is very strange. We wrap a `skipIf` around `supports_hw_breakpoints` then we `expectedFailureIfFn` on that. Which sounds like we expect failure if we support hardware breakpoints, but that can't be how that works.

Also, I think the XFAIL was added for Arm (32 bit) (30308d1eb966afa35ee2fd5c5b47b17eb0382896) and did not intend to include AArch64. Whatever the intent was, this now fails on AArch64 so it should be both.

I will see if I can just rewrite the xfail here, because we're definitely doing something weird at the moment.

https://github.com/llvm/llvm-project/pull/79945


More information about the lldb-commits mailing list