jankratochvil created this revision.
jankratochvil added reviewers: mgorny, labath, JDevlieghere.
jankratochvil added a project: LLDB.
Herald added subscribers: steven.zhang, shchenz.
jankratochvil requested review of this revision.
Hardware watchpoints availability differs between hardware (and it also depends
on Linux kernel version).
On `POWER9, altivec supported, 2.2 (pvr 004e 1202)` the testsuite had 67 FAILs,
with this patch it has 23 FAILs (probably no longer watchpoint related).
The problem is UNSUPPORTED keyword can list only a triple and some PowerPC
hardware can do hw watchpoints. Therefore I had to implement the UNSUPPORTED
category in code.
67 FAILs:
https://people.redhat.com/jkratoch/lldb-4b8962940322fe732126ec583013ecb5b6a1112e-ppc64le.log
23 FAILs:
https://people.redhat.com/jkratoch/lldb-4b8962940322fe732126ec583013ecb5b6a1112e-fix-ppc64le.log
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D102140
Files:
lldb/packages/Python/lldbsuite/test/concurrent_base.py
lldb/test/API/commands/watchpoints/hello_watchpoint/TestMyFirstWatchpoint.py
lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
lldb/test/API/commands/watchpoints/watchpoint_commands/TestWatchpointCommands.py
lldb/test/API/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandLLDB.py
lldb/test/API/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandPython.py
lldb/test/API/commands/watchpoints/watchpoint_commands/condition/TestWatchpointConditionCmd.py
lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
lldb/test/API/commands/watchpoints/watchpoint_disable/TestWatchpointDisable.py
lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
lldb/test/API/commands/watchpoints/watchpoint_on_vectors/TestValueOfVectorVariable.py
lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
lldb/test/API/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
lldb/test/API/functionalities/completion/TestCompletion.py
lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
lldb/test/API/python_api/watchpoint/TestWatchpointIgnoreCount.py
lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
lldb/test/Shell/Subprocess/Inputs/check-follow-parent-wp.lldbinit
lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
Index: lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
===
--- lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
+++ lldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
@@ -2,7 +2,9 @@
# UNSUPPORTED: system-windows
# UNSUPPORTED: system-darwin
# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_FORK=vfork -o %t
-# RUN: %lldb -b -s %s %t | FileCheck %s
+# RUN: (%lldb -b -s %p/Inputs/check-follow-parent-wp.lldbinit %t || true) 2>&1 \
+# RUN: | FileCheck %p/Inputs/check-follow-parent-wp.lldbinit \
+# RUN: || %lldb -b -s %s %t | FileCheck %s
process launch -s
watchpoint set variable -w write g_val
# CHECK: Watchpoint created:
Index: lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
===
--- lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
+++ lldb/test/Shell/Subprocess/fork-follow-parent-wp.test
@@ -1,7 +1,9 @@
# REQUIRES: native && dbregs-set
# UNSUPPORTED: system-windows
# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_FORK=fork -o %t
-# RUN: %lldb -b -s %s %t | FileCheck %s
+# RUN: (%lldb -b -s %p/Inputs/check-follow-parent-wp.lldbinit %t || true) 2>&1 \
+# RUN: | FileCheck %p/Inputs/check-follow-parent-wp.lldbinit \
+# RUN: || %lldb -b -s %s %t | FileCheck %s
process launch -s
watchpoint set variable -w write g_val
# CHECK: Watchpoint created:
Index: lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
===
--- lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
+++ lldb/test/Shell/Subprocess/clone-follow-parent-wp.test
@@ -2,7 +2,9 @@
# clone() tests fails on arm64 Linux, PR #49899
# UNSUPPORTED: system-linux && target-aarch64
# RUN: %clangxx_host -g %p/Inputs/fork.cpp -DTEST_CLONE -o %t
-# RUN: %lldb -b -s %s %t | FileCheck %s
+# RUN: (%lldb -b -s %p/Inputs/check-follow-parent-wp.lldbinit %t || true) 2>&1 \
+# RUN: | FileCheck %p/Inputs/check-follow-parent-wp.lldbinit \
+# RUN: || %lldb -b -s %s %t | FileCheck %s
process launch -s
watchpoint set variable