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
28 lines
848 B
Python
28 lines
848 B
Python
"""
|
|
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")
|