2010-06-26 07:15:47 +08:00
|
|
|
"""Test lldb help command."""
|
|
|
|
|
2010-06-30 07:10:39 +08:00
|
|
|
import os
|
2010-06-26 07:15:47 +08:00
|
|
|
import lldb
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
class TestHelpCommand(unittest.TestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
2010-06-30 07:10:39 +08:00
|
|
|
# Save old working directory.
|
|
|
|
self.oldcwd = os.getcwd()
|
|
|
|
# Change current working directory if ${LLDB_TEST} is defined.
|
|
|
|
if ("LLDB_TEST" in os.environ):
|
|
|
|
os.chdir(os.path.join(os.environ["LLDB_TEST"], "help"));
|
|
|
|
self.dbg = lldb.SBDebugger.Create()
|
|
|
|
self.dbg.SetAsync(False)
|
|
|
|
self.ci = self.dbg.GetCommandInterpreter()
|
2010-06-26 07:15:47 +08:00
|
|
|
if not self.ci:
|
|
|
|
raise Exception('Could not get the command interpreter')
|
|
|
|
|
|
|
|
def tearDown(self):
|
2010-06-30 07:10:39 +08:00
|
|
|
# Restore old working directory.
|
|
|
|
os.chdir(self.oldcwd)
|
2010-06-26 07:15:47 +08:00
|
|
|
|
|
|
|
def test_simplehelp(self):
|
|
|
|
"""A simple test of 'help' command and its output."""
|
|
|
|
res = lldb.SBCommandReturnObject()
|
2010-06-29 04:55:57 +08:00
|
|
|
self.ci.HandleCommand("help", res)
|
|
|
|
self.assertTrue(res.Succeeded())
|
|
|
|
self.assertTrue(res.GetOutput().startswith(
|
|
|
|
'The following is a list of built-in, permanent debugger commands'))
|
|
|
|
|
|
|
|
def test_help_should_not_hang_emacsshell(self):
|
2010-06-30 07:17:15 +08:00
|
|
|
"""Command 'set term-width 0' should not hang the help command."""
|
2010-06-29 04:55:57 +08:00
|
|
|
res = lldb.SBCommandReturnObject()
|
|
|
|
self.ci.HandleCommand("set term-width 0", res)
|
|
|
|
self.assertTrue(res.Succeeded())
|
|
|
|
self.ci.HandleCommand("help", res)
|
2010-06-26 07:15:47 +08:00
|
|
|
self.assertTrue(res.Succeeded())
|
|
|
|
self.assertTrue(res.GetOutput().startswith(
|
|
|
|
'The following is a list of built-in, permanent debugger commands'))
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2010-06-30 03:44:16 +08:00
|
|
|
lldb.SBDebugger.Initialize()
|
2010-06-26 07:15:47 +08:00
|
|
|
unittest.main()
|
2010-06-30 03:44:16 +08:00
|
|
|
lldb.SBDebugger.Terminate()
|