summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py
diff options
context:
space:
mode:
authorStefan Granitz <stefan.graenitz@gmail.com>2018-10-05 16:49:53 +0000
committerStefan Granitz <stefan.graenitz@gmail.com>2018-10-05 16:49:53 +0000
commit21d1754f7caa4ae7e693acc331fa0e3aa6a631f2 (patch)
treeae8373f46326f9ae4c3d149f2b57cf6327bc3e8b /lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py
parentc678ed774dfa9109ecb3395a52d58c2248b7de9d (diff)
downloadbcm5719-llvm-21d1754f7caa4ae7e693acc331fa0e3aa6a631f2.tar.gz
bcm5719-llvm-21d1754f7caa4ae7e693acc331fa0e3aa6a631f2.zip
TestMultilineExpr: validate evaluation for expressions that span multiple lines
Summary: When LLDB successfully parses a command (like "expression" in this case) and determines incomplete input, the user can continue typing on multiple lines (in this case "2+3"). This should provide the correct result. Note that LLDB reverts input from the additional lines, so they are not present in the output. Reviewers: vsk, davide, aprantl Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D52270 llvm-svn: 343860
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py90
1 files changed, 0 insertions, 90 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py b/lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py
deleted file mode 100644
index 7f639a46220..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py
+++ /dev/null
@@ -1,90 +0,0 @@
-"""Test multiline expressions."""
-
-from __future__ import print_function
-
-import os
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class MultilineExpressionsTestCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
- NO_DEBUG_INFO_TESTCASE = True
-
- 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', 'break')
-
- @skipIfRemote
- @expectedFailureAll(
- oslist=["windows"],
- bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
- def test_with_run_commands(self):
- """Test that multiline expressions work correctly"""
- self.build()
- import pexpect
- exe = self.getBuildArtifact("a.out")
- prompt = "(lldb) "
-
- # So that the child gets torn down after the test.
- self.child = pexpect.spawn(
- '%s %s %s' %
- (lldbtest_config.lldbExec, self.lldbOption, exe))
- child = self.child
- # Turn on logging for what the child sends back.
- if self.TraceOn():
- child.logfile_read = sys.stdout
-
- # Set the breakpoint, run the inferior, when it breaks, issue print on
- # the various convenience variables.
- child.expect_exact(prompt)
- child.sendline('breakpoint set -f main.c -l %d' % self.line)
- child.expect_exact(prompt)
- child.sendline('run')
- child.expect_exact("stop reason = breakpoint 1.1")
- child.expect_exact(prompt)
- child.sendline('expr')
- child.expect_exact('1:')
-
- child.sendline('2+')
- child.expect_exact('2:')
-
- child.sendline('3')
- child.expect_exact('3:')
-
- child.sendline('')
- child.expect_exact(prompt)
- self.expect(child.before, exe=False,
- patterns=['= 5'])
-
- @skipIfRemote
- @expectedFailureAll(
- oslist=["windows"],
- bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
- def test_empty_list(self):
- """Test printing an empty list of expressions"""
- import pexpect
- prompt = "(lldb) "
-
- # So that the child gets torn down after the test
- self.child = pexpect.spawn(
- "%s %s" %
- (lldbtest_config.lldbExec, self.lldbOption))
- child = self.child
-
- # Turn on logging for what the child sends back.
- if self.TraceOn():
- child.logfile_read = sys.stdout
-
- # We expect a prompt, then send "print" to start a list of expressions,
- # then an empty line. We expect a prompt back.
- child.expect_exact(prompt)
- child.sendline("print")
- child.expect_exact('1:')
- child.sendline("")
- child.expect_exact(prompt)
OpenPOWER on IntegriCloud