diff options
| author | Johnny Chen <johnny.chen@apple.com> | 2011-05-06 23:26:12 +0000 |
|---|---|---|
| committer | Johnny Chen <johnny.chen@apple.com> | 2011-05-06 23:26:12 +0000 |
| commit | 7209d84f1cde8f58a49bb981448f669703195c44 (patch) | |
| tree | e981115b74cdfb63f514f6d49c4981e72fe934b4 /lldb/test/python_api/interpreter | |
| parent | eac62c5388a1c3aa4c1a70c66ed9dd7a614f4a45 (diff) | |
| download | bcm5719-llvm-7209d84f1cde8f58a49bb981448f669703195c44.tar.gz bcm5719-llvm-7209d84f1cde8f58a49bb981448f669703195c44.zip | |
Add an API test script file for SBCommandInterpreter.
llvm-svn: 131035
Diffstat (limited to 'lldb/test/python_api/interpreter')
| -rw-r--r-- | lldb/test/python_api/interpreter/Makefile | 5 | ||||
| -rw-r--r-- | lldb/test/python_api/interpreter/TestCommandInterpreterAPI.py | 80 | ||||
| -rw-r--r-- | lldb/test/python_api/interpreter/main.c | 6 |
3 files changed, 91 insertions, 0 deletions
diff --git a/lldb/test/python_api/interpreter/Makefile b/lldb/test/python_api/interpreter/Makefile new file mode 100644 index 00000000000..0d70f259501 --- /dev/null +++ b/lldb/test/python_api/interpreter/Makefile @@ -0,0 +1,5 @@ +LEVEL = ../../make + +C_SOURCES := main.c + +include $(LEVEL)/Makefile.rules diff --git a/lldb/test/python_api/interpreter/TestCommandInterpreterAPI.py b/lldb/test/python_api/interpreter/TestCommandInterpreterAPI.py new file mode 100644 index 00000000000..c448181f988 --- /dev/null +++ b/lldb/test/python_api/interpreter/TestCommandInterpreterAPI.py @@ -0,0 +1,80 @@ +"""Test the SBCommandInterpreter APIs.""" + +import os +import unittest2 +import lldb +import pexpect +from lldbtest import * + +class CommandInterpreterAPICase(TestBase): + + mydir = os.path.join("python_api", "interpreter") + + @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") + @python_api_test + def test_with_dsym_and_run_command(self): + """Test the SBCommandInterpreter APIs.""" + self.buildDsym() + self.command_interpreter_api() + + @python_api_test + def test_with_dwarf_and_process_launch_api(self): + """Test the SBCommandInterpreter APIs.""" + self.buildDwarf() + self.command_interpreter_api() + + def setUp(self): + # Call super's setUp(). + TestBase.setUp(self) + # Find the line number to break on inside main.cpp. + self.line = line_number('main.c', 'Hello world.') + + def command_interpreter_api(self): + """Test the SBCommandInterpreter APIs.""" + exe = os.path.join(os.getcwd(), "a.out") + + # Create a target by the debugger. + target = self.dbg.CreateTarget(exe) + self.assertTrue(target.IsValid(), VALID_TARGET) + + # Retrieve the associated command interpreter from our debugger. + ci = self.dbg.GetCommandInterpreter() + self.assertTrue(ci.IsValid(), VALID_COMMAND_INTERPRETER) + + # Exercise some APIs.... + + self.assertTrue(ci.HasCommands()) + self.assertTrue(ci.HasAliases()) + self.assertTrue(ci.HasAliasOptions()) + self.assertTrue(ci.CommandExists("breakpoint")) + self.assertTrue(ci.CommandExists("target")) + self.assertTrue(ci.CommandExists("platform")) + self.assertTrue(ci.AliasExists("file")) + self.assertTrue(ci.AliasExists("run")) + self.assertTrue(ci.AliasExists("bt")) + + res = lldb.SBCommandReturnObject() + ci.HandleCommand("breakpoint set -f main.c -l %d" % self.line, res) + self.assertTrue(res.Succeeded()) + ci.HandleCommand("process launch", res) + self.assertTrue(res.Succeeded()) + + # Assigning to self.process so it gets cleaned up during test tear down. + self.process = ci.GetProcess() + self.assertTrue(self.process.IsValid()) + + import lldbutil + if self.process.GetState() != lldb.eStateStopped: + self.fail("Process should be in the 'stopped' state, " + "instead the actual state is: '%s'" % + lldbutil.state_type_to_str(self.process.GetState())) + + if self.TraceOn(): + lldbutil.print_stacktraces(self.process) + + +if __name__ == '__main__': + import atexit + lldb.SBDebugger.Initialize() + atexit.register(lambda: lldb.SBDebugger.Terminate()) + unittest2.main() diff --git a/lldb/test/python_api/interpreter/main.c b/lldb/test/python_api/interpreter/main.c new file mode 100644 index 00000000000..277aa54a4ee --- /dev/null +++ b/lldb/test/python_api/interpreter/main.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main(int argc, char const *argv[]) { + printf("Hello world.\n"); + return 0; +} |

