25 Commits

Author SHA1 Message Date
Aleksandr Urakov
6179c0eb0d [Windows] Add support of watchpoints to ProcessWindows
Summary:
This patch adds support of watchpoints to the old `ProcessWindows` plugin.

The `ProcessWindows` plugin uses the `RegisterContext` to set and reset
watchpoints. The `RegisterContext` has some interface to access watchpoints,
but it is very limited (e.g. it is impossible to retrieve the last triggered
watchpoint with it), that's why I have implemented a slightly different
interface in the `RegisterContextWindows`. Moreover, I have made the
`ProcessWindows` plugin responsible for search of a vacant watchpoint slot,
because watchpoints exist per-process (not per-thread), then we can place
the same watchpoint in the same slot in different threads. With this scheme
threads don't need to have their own watchpoint lists, and it simplifies
identifying of the last triggered watchpoint.

Reviewers: asmith, stella.stamenova, amccarth

Reviewed By: amccarth

Subscribers: labath, zturner, leonid.mashinskiy, abidh, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D67168

llvm-svn: 371166
2019-09-06 05:37:03 +00:00
Raphael Isemann
1677301969 [lldb][NFC] Add dimensions to pexpect tests failing on sanitizer bot
I'm still unable to reproduce this locally, so let's see if this
is enough to make the bots happy. The missing dimension parameter
seems to be the biggest difference between these tests and
TestIOHandlerCompletion.py which runs just fine on the same bot,
so that's the motivation for trying this out.

llvm-svn: 371077
2019-09-05 14:51:23 +00:00
Raphael Isemann
cbce3cef52 [lldb][NFC] Stabilize gui/basic test by waiting on prompt
We should wait on the GUI to exit before tearing down the test.

llvm-svn: 371028
2019-09-05 08:45:20 +00:00
Pavel Labath
59a1d998d9 [dotest] Delete trivial inline test makefiles
inline tests are able to generate these automatically

llvm-svn: 371015
2019-09-05 06:55:23 +00:00
Pavel Labath
418a272f4a [dotest] Avoid the need for LEVEL= makefile boilerplate
Summary:
Instead of each test case knowing its depth relative to the test root,
we can just have dotest add the folder containing Makefile.rules to the
include path.

This was motivated by r370616, though I have been wanting to do this
ever since we moved to building tests out-of-tree.

The only manually modified files in this patch are lldbinline.py and
plugins/builder_base.py. The rest of the patch has been produced by this
shell command:
  find . \( -name Makefile -o -name '*.mk' \)  -exec sed --in-place -e '/LEVEL *:\?=/d' -e '1,2{/^$/d}' -e 's,\$(LEVEL)/,,' {} +

Reviewers: teemperor, aprantl, espindola, jfb

Subscribers: emaste, javed.absar, arichardson, christof, arphaman, lldb-commits

Differential Revision: https://reviews.llvm.org/D67083

llvm-svn: 370845
2019-09-04 07:46:25 +00:00
Michal Gorny
3461e3ea8e [lldb] [test] Un-mark two commands/register tests XFAIL
llvm-svn: 370840
2019-09-04 06:10:02 +00:00
Raphael Isemann
f792054fd2 [lldb][NFC] Disable added frame select and all log option test on windows
llvm-svn: 370776
2019-09-03 16:21:57 +00:00
Raphael Isemann
607c92afda [lldb] Test 'frame select -r' and fix that INT32_MIN breaks the option parser
llvm-svn: 370734
2019-09-03 10:15:45 +00:00
Raphael Isemann
99f9f1f2d8 [lldb][NFC] Test 'command delete'
llvm-svn: 370733
2019-09-03 10:13:45 +00:00
Raphael Isemann
07ae1bd711 [lldb][NFC] Test that enabling all log options doesn't crash anything
llvm-svn: 370724
2019-09-03 09:40:25 +00:00
Raphael Isemann
253eecf525 [lldb][NFC] Remove unnecessary constructors from invalid-args tests
llvm-svn: 370719
2019-09-03 09:25:02 +00:00
Raphael Isemann
b78900e0ab [lldb][NFC] Simplify script_alias test
llvm-svn: 370718
2019-09-03 09:21:47 +00:00
Raphael Isemann
e76113347d [lldb][NFC] Also test unaliasing in nested_alias test
llvm-svn: 370717
2019-09-03 09:19:51 +00:00
Raphael Isemann
d77ea5b297 [lldb] Test 'command' commands and fix the found crashes
llvm-svn: 370712
2019-09-03 09:06:12 +00:00
Raphael Isemann
b10a433da8 [lldb][NFC] Unify log files in commands/log/basic
llvm-svn: 370706
2019-09-03 08:30:17 +00:00
Pavel Labath
eafede2afe [dotest] Add @skipIfCursesSupportMissing and annotate the new gui test
Summary:
The gui command requires curses support, which can be disabled at
compile time. This patch adds the ability to detect this situation in
the test suite and skip the test accordingly.

Reviewers: teemperor, jankratochvil

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D67073

llvm-svn: 370658
2019-09-02 13:33:12 +00:00
Raphael Isemann
9bc338b89e [lldb][NFC] Add test for invalid gui command
llvm-svn: 370647
2019-09-02 12:10:16 +00:00
Raphael Isemann
1aab62762f [lldb][NFC] Add test for source info
llvm-svn: 370638
2019-09-02 10:55:52 +00:00
Raphael Isemann
254150982b [lldb][NFC] Add basic test for GUI command
Summary:
This adds a basic test for the GUI command. Just tests that it starts up, that we can quit the gui
and help window, and that the basic UI elements are rendered. Mostly testing the waters how
testing this command will do on the bots or if that will cause some serious issues when we do
fancy ncurses stuff.

Reviewers: labath, clayborg

Reviewed By: labath

Subscribers: JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D67018

llvm-svn: 370625
2019-09-02 08:00:59 +00:00
Raphael Isemann
250c495a7c [lldb][NFC] Remove unnecessary lldb_enable_attach in TestMultilineCompletion
We don't actually need to call this for this test.

llvm-svn: 370623
2019-09-02 07:40:06 +00:00
Raphael Isemann
434b81d0a2 [lldb] Test and fix invalid log command invocations
llvm-svn: 370619
2019-09-01 19:29:01 +00:00
Raphael Isemann
d63ddee5ab [lldb][NFC] Add test for invalid expression command args
llvm-svn: 370618
2019-09-01 18:59:40 +00:00
Raphael Isemann
c98fc5a793 [lldb][NFC] Fix failing tests on macOS after restructuring test folder
llvm-svn: 370616
2019-09-01 16:30:06 +00:00
Raphael Isemann
3e15a7a147 [lldb][NFC] Fix failing tests after restructuring test folder
Just adjusts all the relative paths in the Makefiles (and
the breakpoint test which seems to rely on the name of its
folder).

llvm-svn: 370611
2019-09-01 13:36:44 +00:00
Raphael Isemann
29872606d2 [lldb] Restructure test folders to match LLDB command hierarchy
Summary:
As discussed on lldb-dev, this patch moves some LLDB tests into a hierarchy that more closely
resembles the commands we use in the LLDB interpreter. This patch should only move tests
that use the command interpreter and shouldn't touch any tests that primarily test the SB API.

Reviewers: #lldb, jfb, JDevlieghere

Reviewed By: #lldb, JDevlieghere

Subscribers: dexonsmith, arphaman, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D67033

llvm-svn: 370605
2019-09-01 09:12:37 +00:00