13 Commits

Author SHA1 Message Date
Michał Górny
45f9795085 [lldb] [test] Terminate "process connect" connections via kill
Fix the termination of "process connect" (and "gdb-remote") to kill
the process rather than attempting to disconnect the platform.
The latter only results in an error since we did not use "platform
connect", and apparently process-level connections (at least via
gdb-remote) do not really support disconnecting.

Differential Revision: https://reviews.llvm.org/D110996
2021-10-04 12:29:06 +02:00
Michał Górny
8fa2394bad [lldb] Add a gdb_remote_client test for connecting to pty
Add a minimal mock server utilizing a pty, and add a client test
connecting to that server.

Differential Revision: https://reviews.llvm.org/D110878
2021-10-01 14:31:40 +02:00
Jonas Devlieghere
b505ed9d31 [lldb] Remove support for replaying the test suite from a reproducer
This patch removes the infrastructure to replay the test suite from a
reproducer, as well as the modifications made to the individual tests.
2021-09-30 10:47:19 -07:00
Jonas Devlieghere
b20f3cc5b5 [lldb] Add platform select to TestProcessConnect.py
Extend TestProcessConnect to cover the scenario fixed by
6c0cd5676e0a0feaf836e0399023a6e21224467b. This replaces
command-process-connect.test which would fail if port 4321
was open.
2020-11-23 18:02:00 -08:00
Michał Górny
a8f6f4e873 [lldb] [test] Restore Windows-skip on 'process connect' tests 2020-11-23 14:27:32 +01:00
Michał Górny
18e4272a4f [lldb] Prevent 'process connect' from using local-only plugins
Add a 'can_connect' parameter to Process plugin initialization, and use
it to filter plugins to these capable of remote connections.  This is
used to prevent 'process connect' from picking up a plugin that can only
be used locally, e.g. the legacy FreeBSD plugin.

Differential Revision: https://reviews.llvm.org/D91810
2020-11-23 09:48:55 +01:00
Michał Górny
2c2eb5e670 [lldb] Enable FreeBSDRemote plugin by default and update test status
The new FreeBSDRemote plugin has reached feature parity on i386
and amd64 targets.  Use it by default on these architectures, while
allowing the use of the legacy plugin via FREEBSD_LEGACY_PLUGIN envvar.

Revisit the method of switching plugins.  Apparently, the return value
of PlatformFreeBSD::CanDebugProcess() is what really decides whether
the legacy or the new plugin is used.

Update the test status.  Reenable the tests that were previously
disabled on FreeBSD and do not cause hangs or are irrelevant to FreeBSD.
Mark all tests that fail reliably as expectedFailure.  For now, tests
that are flaky (i.e. produce unstable results) are left enabled
and cause unpredictable test failures.

Differential Revision: https://reviews.llvm.org/D90757
2020-11-05 17:49:46 +01:00
Pavel Labath
1695c8420a [lldb] Generalize an deflake gdb-remote *client* tests
This is similar in spirit to what D90313 did for server tests.
2020-11-02 16:34:25 +01:00
Jonas Devlieghere
31137b87ef [lldb] Skip TestProcessConnect when running remotely
This test doesn't make much sense when already running remotely.
2020-08-05 15:27:34 -07:00
Jonas Devlieghere
c14e11b0bb [lldb/Test] Skip async process connect tests with reproducers
Reproducers only support synchronous mode.
2020-07-15 15:39:44 -07:00
Jonas Devlieghere
c6e8bf7287 [lldb/Test] Skip TestProcessConnect.py on Windows
Remote connections are not supported on Windows.
2020-07-14 14:07:06 -07:00
Jonas Devlieghere
f5f15acebb [lldb/Test] Skip TestProcessConnect.py on Windows
Skip TestProcessConnect.py on Windows and Android (the same platforms as
TestPlatformProcessConnect.py) and mark it as a NO_DEBUG_INFO test so we
don't run all the variants.
2020-07-14 10:12:40 -07:00
Jonas Devlieghere
706cccb889 [lldb] Make process connect blocking in synchronous mode.
In synchronous mode, the process connect command and its aliases should
wait for the stop event before claiming the command is complete.
Currently, the stop event is always handled asynchronously by the
debugger.

The implementation takes the same approach as Process::ResumeSynchronous
which hijacks the event and handles it on the current thread. Similarly,
after this patch, the stop event is part of the command return object,
which is the property used by the test case.

Differential revision: https://reviews.llvm.org/D83728
2020-07-14 08:45:34 -07:00