[Lldb-commits] [lldb] d4b08cc - [lldb] Replace TestAbortExitCode with a debugserver specific test
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 12 08:34:09 PST 2020
Author: Raphael Isemann
Date: 2020-11-12T17:33:21+01:00
New Revision: d4b08ccb87944ec6c647f02b536a40922ec2dd73
URL: https://github.com/llvm/llvm-project/commit/d4b08ccb87944ec6c647f02b536a40922ec2dd73
DIFF: https://github.com/llvm/llvm-project/commit/d4b08ccb87944ec6c647f02b536a40922ec2dd73.diff
LOG: [lldb] Replace TestAbortExitCode with a debugserver specific test
When I added TestAbortExitCode I actually planned this to be a generic test for the
exit code functionality on POSIX systems. However due to all the different test setups we
can have I don't think this worked out. Right now the test had to be made so permissive
that it pretty much can't fail.
Just to summarize, we would need to support the following situations:
1. ToT debugserver (on macOS)
2. lldb-server (on other platforms)
3. Any old debugserver version when using the system debugserver (on macOS)
This patch is removing TestAbortExitCode and adds a ToT debugserver specific test
that checks the patch that motivated the whole exit code testing. There is already
an exit-code test for lldb-server from what I can see and 3) is pretty much untestable
as we don't know anything about the system debugserver.
Reviewed By: kastiglione
Differential Revision: https://reviews.llvm.org/D89305
Added:
lldb/test/API/macosx/debugserver-exit-code/Makefile
lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
lldb/test/API/macosx/debugserver-exit-code/main.c
Modified:
Removed:
lldb/test/Shell/Process/Inputs/abort.c
lldb/test/Shell/Process/TestAbortExitCode.test
################################################################################
diff --git a/lldb/test/API/macosx/debugserver-exit-code/Makefile b/lldb/test/API/macosx/debugserver-exit-code/Makefile
new file mode 100644
index 000000000000..10495940055b
--- /dev/null
+++ b/lldb/test/API/macosx/debugserver-exit-code/Makefile
@@ -0,0 +1,3 @@
+C_SOURCES := main.c
+
+include Makefile.rules
diff --git a/lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py b/lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
new file mode 100644
index 000000000000..d80c2dd4eba9
--- /dev/null
+++ b/lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
@@ -0,0 +1,27 @@
+"""
+Tests the exit code/description coming from the debugserver.
+"""
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+class TestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @no_debug_info_test
+ @skipUnlessDarwin
+ @skipIfOutOfTreeDebugserver
+ def test_abort(self):
+ self.build()
+ target = self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
+ process = target.LaunchSimple(None, None, None)
+ # Continue until process is terminated.
+ process.Continue()
+ # Test for the abort signal code.
+ self.assertEqual(process.GetExitStatus(), 6)
+ # Test for the exit code description.
+ self.assertEqual(process.GetExitDescription(),
+ "Terminated due to signal 6")
diff --git a/lldb/test/Shell/Process/Inputs/abort.c b/lldb/test/API/macosx/debugserver-exit-code/main.c
similarity index 100%
rename from lldb/test/Shell/Process/Inputs/abort.c
rename to lldb/test/API/macosx/debugserver-exit-code/main.c
diff --git a/lldb/test/Shell/Process/TestAbortExitCode.test b/lldb/test/Shell/Process/TestAbortExitCode.test
deleted file mode 100644
index 746bc915897e..000000000000
--- a/lldb/test/Shell/Process/TestAbortExitCode.test
+++ /dev/null
@@ -1,6 +0,0 @@
-UNSUPPORTED: system-windows
-
-RUN: %clang_host %p/Inputs/abort.c -o %t
-RUN: %lldb %t -o run -o continue | FileCheck %s
-
-CHECK: {{status = 6 \(0x00000006\)|status = 0 \(0x00000000\) Terminated due to signal 6}}
More information about the lldb-commits
mailing list