diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/expression_command/multiline-completion/TestMultilineCompletion.py | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/multiline-completion/TestMultilineCompletion.py b/lldb/packages/Python/lldbsuite/test/expression_command/multiline-completion/TestMultilineCompletion.py index 2d75fc471d5..261ebd325d0 100644 --- a/lldb/packages/Python/lldbsuite/test/expression_command/multiline-completion/TestMultilineCompletion.py +++ b/lldb/packages/Python/lldbsuite/test/expression_command/multiline-completion/TestMultilineCompletion.py @@ -5,48 +5,28 @@ Test completion for multiline expressions. import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * +from lldbsuite.test.lldbpexpect import PExpectTest -class MultilineCompletionTest(TestBase): +class MultilineCompletionTest(PExpectTest): mydir = TestBase.compute_mydir(__file__) - NO_DEBUG_INFO_TESTCASE = True - - def setUp(self): - TestBase.setUp(self) - self.source = 'main.c' - - def expect_string(self, string): - import pexpect - """This expects for "string", with timeout & EOF being test fails.""" - try: - self.child.expect_exact(string) - except pexpect.EOF: - self.fail("Got EOF waiting for '%s'" % (string)) - except pexpect.TIMEOUT: - self.fail("Timed out waiting for '%s'" % (string)) - - @expectedFailureAll( - oslist=["windows"], - bugnumber="llvm.org/pr22274: need a pexpect replacement for windows") + def test_basic_completion(self): """Test that we can complete a simple multiline expression""" self.build() - self.setTearDownCleanup() - import pexpect - exe = self.getBuildArtifact("a.out") prompt = "(lldb) " - run_commands = ' -o "b main" -o "r"' - self.child = pexpect.spawn( - '%s %s %s %s' % - (lldbtest_config.lldbExec, self.lldbOption, run_commands, exe)) - child = self.child + self.launch(executable=self.getBuildArtifact("a.out")) + self.expect("b main", substrs=["Breakpoint 1", "address ="]) + self.expect("run", substrs=["stop reason ="]) - self.expect_string(prompt) self.child.sendline("expr") - self.expect_string("terminate with an empty line to evaluate") + self.child.expect_exact("terminate with an empty line to evaluate") self.child.send("to_\t") - self.expect_string("to_complete") + self.child.expect_exact("to_complete") + + self.child.send("\n\n") + self.expect_prompt() - self.deletePexpectChild() + self.quit() |