diff options
Diffstat (limited to 'unittests/Process/gdb-remote/GDBRemoteTestUtils.h')
-rw-r--r-- | unittests/Process/gdb-remote/GDBRemoteTestUtils.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/unittests/Process/gdb-remote/GDBRemoteTestUtils.h b/unittests/Process/gdb-remote/GDBRemoteTestUtils.h new file mode 100644 index 000000000000..d7700f23e5ab --- /dev/null +++ b/unittests/Process/gdb-remote/GDBRemoteTestUtils.h @@ -0,0 +1,51 @@ +//===-- GDBRemoteTestUtils.h ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef lldb_unittests_Process_gdb_remote_GDBRemoteTestUtils_h +#define lldb_unittests_Process_gdb_remote_GDBRemoteTestUtils_h + +#include "gtest/gtest.h" + +#include "Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h" + +namespace lldb_private { +namespace process_gdb_remote { + +class GDBRemoteTest : public testing::Test { +public: + static void SetUpTestCase(); + + static void TearDownTestCase(); +}; + +void Connect(GDBRemoteCommunication &client, GDBRemoteCommunication &server); + +struct MockServer : public GDBRemoteCommunicationServer { + MockServer() + : GDBRemoteCommunicationServer("mock-server", "mock-server.listener") { + m_send_acks = false; + } + + PacketResult SendPacket(llvm::StringRef payload) { + return GDBRemoteCommunicationServer::SendPacketNoLock(payload); + } + + PacketResult GetPacket(StringExtractorGDBRemote &response) { + const bool sync_on_timeout = false; + return WaitForPacketNoLock(response, std::chrono::seconds(1), + sync_on_timeout); + } + + using GDBRemoteCommunicationServer::SendOKResponse; + using GDBRemoteCommunicationServer::SendUnimplementedResponse; +}; + +} // namespace process_gdb_remote +} // namespace lldb_private + +#endif // lldb_unittests_Process_gdb_remote_GDBRemoteTestUtils_h |