Author: Pavel Labath Date: 2021-02-10T21:01:26+01:00 New Revision: d77b04e4edc00da3be2e0d2c8a0c80ae3ce0d829
URL: https://github.com/llvm/llvm-project/commit/d77b04e4edc00da3be2e0d2c8a0c80ae3ce0d829 DIFF: https://github.com/llvm/llvm-project/commit/d77b04e4edc00da3be2e0d2c8a0c80ae3ce0d829.diff LOG: [lldb/test] Move and improve TestPlatformProcessConnect.py Although it is located under tools/lldb-server, this test is very different that other lldb-server tests. The most important distinction is that it does not test lldb-server directly, but rather interacts with it through the lldb client. It also tests the relevant client functionality (the platform connect command, which is even admitted in the test name). The fact that this test is structured as a lldb-server test means it cannot access most of the goodies available to the "normal" lldb tests (the runCmd function, which it reimplements; the run_break_set_by_symbol utility function; etc.). This patch makes it a full-fledged lldb this, and rewrites the relevant bits to make use of the standard features. I also move the test into the "commands" subtree to better reflect its new status. Added: lldb/test/API/commands/platform/connect/Makefile lldb/test/API/commands/platform/connect/TestPlatformConnect.py lldb/test/API/commands/platform/connect/main.cpp Modified: Removed: lldb/test/API/tools/lldb-server/platform-process-connect/Makefile lldb/test/API/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py lldb/test/API/tools/lldb-server/platform-process-connect/main.cpp ################################################################################ diff --git a/lldb/test/API/tools/lldb-server/platform-process-connect/Makefile b/lldb/test/API/commands/platform/connect/Makefile similarity index 100% rename from lldb/test/API/tools/lldb-server/platform-process-connect/Makefile rename to lldb/test/API/commands/platform/connect/Makefile diff --git a/lldb/test/API/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py b/lldb/test/API/commands/platform/connect/TestPlatformConnect.py similarity index 70% rename from lldb/test/API/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py rename to lldb/test/API/commands/platform/connect/TestPlatformConnect.py index 74b5f2e16eeb..cc9726ad303a 100644 --- a/lldb/test/API/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py +++ b/lldb/test/API/commands/platform/connect/TestPlatformConnect.py @@ -5,14 +5,16 @@ from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil -class TestPlatformProcessConnect(gdbremote_testcase.GdbRemoteTestCaseBase): +class TestPlatformProcessConnect(TestBase): mydir = TestBase.compute_mydir(__file__) + NO_DEBUG_INFO_TESTCASE = True @skipIfRemote @expectedFailureAll(hostoslist=["windows"], triple='.*-android') @skipIfWindows # lldb-server does not terminate correctly @skipIfDarwin # lldb-server not found correctly @skipIf(oslist=["linux"], archs=["arm", "aarch64"]) # Fails randomly + @add_test_categories(["lldb-server"]) def test_platform_process_connect(self): self.build() @@ -35,28 +37,18 @@ def test_platform_process_connect(self): socket_id = lldbutil.wait_for_file_on_target(self, port_file) - self.dbg.SetAsync(False) new_platform = lldb.SBPlatform("remote-" + self.getPlatform()) self.dbg.SetSelectedPlatform(new_platform) connect_url = "connect://[%s]:%s" % (hostname, socket_id) + self.runCmd("platform connect %s" % connect_url) - command = "platform connect %s" % (connect_url) - result = lldb.SBCommandReturnObject() - self.dbg.GetCommandInterpreter().HandleCommand(command, result) - self.assertTrue( - result.Succeeded(), - "platform process connect failed: %s" % - result.GetError()) + lldbutil.run_break_set_by_symbol(self, "main") + process = self.process() - target = self.dbg.GetSelectedTarget() - process = target.GetProcess() - thread = process.GetThreadAtIndex(0) - - breakpoint = target.BreakpointCreateByName("main") process.Continue() - frame = thread.GetFrameAtIndex(0) + frame = self.frame() self.assertEqual(frame.GetFunction().GetName(), "main") self.assertEqual(frame.FindVariable("argc").GetValueAsSigned(), 2) process.Continue() diff --git a/lldb/test/API/tools/lldb-server/platform-process-connect/main.cpp b/lldb/test/API/commands/platform/connect/main.cpp similarity index 100% rename from lldb/test/API/tools/lldb-server/platform-process-connect/main.cpp rename to lldb/test/API/commands/platform/connect/main.cpp _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits