diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/interpreter')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestRunCommandInterpreterAPI.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestRunCommandInterpreterAPI.py b/lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestRunCommandInterpreterAPI.py new file mode 100644 index 00000000000..a82fd7326d8 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestRunCommandInterpreterAPI.py @@ -0,0 +1,38 @@ +"""Test the RunCommandInterpreter API.""" + +import os +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * + +class CommandRunInterpreterAPICase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + self.stdin_path = self.getBuildArtifact("stdin.txt") + + with open(self.stdin_path, 'w') as input_handle: + input_handle.write("nonexistingcommand\nquit") + + with open(self.stdin_path, 'r') as input_handle: + self.dbg.SetInputFileHandle(input_handle, False) + + # No need to track the output + devnull = open(os.devnull, 'w') + self.dbg.SetOutputFileHandle(devnull, False) + self.dbg.SetErrorFileHandle(devnull, False) + + @add_test_categories(['pyapi']) + def test_run_session_with_error_and_quit(self): + """Run non-existing and quit command returns appropriate values""" + + n_errors, quit_requested, has_crashed = self.dbg.RunCommandInterpreter( + True, False, lldb.SBCommandInterpreterRunOptions(), 0, False, + False) + + self.assertGreater(n_errors, 0) + self.assertTrue(quit_requested) + self.assertFalse(has_crashed) |