Summary: This patch includes following changes: * split lldb-mi tests into separate folders. It will make our life simpler because we can modify a test program of certain test and don't worry about other tests * a bit refactoring * fix comments * improve some tests Reviewers: emaste, clayborg, abidh Reviewed By: clayborg, abidh Subscribers: clayborg, lldb-commits, emaste, abidh Differential Revision: http://reviews.llvm.org/D7762 llvm-svn: 230022
64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
"""
|
|
Test that the lldb-mi driver exits properly.
|
|
"""
|
|
|
|
import lldbmi_testcase
|
|
from lldbtest import *
|
|
import unittest2
|
|
|
|
class MiExitTestCase(lldbmi_testcase.MiTestCaseBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
@lldbmi_test
|
|
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
|
|
@skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread races
|
|
def test_lldbmi_gdb_exit(self):
|
|
"""Test that '-gdb-exit' terminates local debug session and exits."""
|
|
|
|
self.spawnLldbMi(args = None)
|
|
|
|
# Load executable
|
|
self.runCmd("-file-exec-and-symbols %s" % self.myexe)
|
|
self.expect("\^done")
|
|
|
|
# Run to main
|
|
self.runCmd("-break-insert -f main")
|
|
self.expect("\^done,bkpt={number=\"1\"")
|
|
self.runCmd("-exec-run")
|
|
self.expect("\^running")
|
|
self.expect("\*stopped,reason=\"breakpoint-hit\"")
|
|
|
|
# Test -gdb-exit: try to exit and check that program is finished
|
|
self.runCmd("-gdb-exit")
|
|
self.expect("\^exit")
|
|
import pexpect
|
|
self.expect(pexpect.EOF)
|
|
|
|
@lldbmi_test
|
|
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
|
|
@skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread races
|
|
def test_lldbmi_quit(self):
|
|
"""Test that 'quit' exits immediately."""
|
|
|
|
self.spawnLldbMi(args = None)
|
|
|
|
# Load executable
|
|
self.runCmd("-file-exec-and-symbols %s" % self.myexe)
|
|
self.expect("\^done")
|
|
|
|
# Run to main
|
|
self.runCmd("-break-insert -f main")
|
|
self.expect("\^done,bkpt={number=\"1\"")
|
|
self.runCmd("-exec-run")
|
|
self.expect("\^running")
|
|
self.expect("\*stopped,reason=\"breakpoint-hit\"")
|
|
|
|
# Test quit: try to exit and check that program is finished
|
|
self.runCmd("quit")
|
|
import pexpect
|
|
self.expect(pexpect.EOF)
|
|
|
|
if __name__ == '__main__':
|
|
unittest2.main()
|