[Lldb-commits] [lldb] r222206 - Fixed a broken test suite test after recent editline merges.

Greg Clayton gclayton at apple.com
Mon Nov 17 16:39:31 PST 2014

Author: gclayton
Date: Mon Nov 17 18:39:31 2014
New Revision: 222206

URL: http://llvm.org/viewvc/llvm-project?rev=222206&view=rev
Fixed a broken test suite test after recent editline merges.

The problem is that editline currently is trying to be smart when we paste things into a terminal window. It detects that input is pending and multi-line input is accepted as long as there is anything pending.

So if you open lldb and paste the text between the quotes:

"command regex carp


We still still be stuck in the "command regex" multi-line input reader as it will have all three lines:



The true fix for this is something Kate Stone will soon work on:

- multi-line input readers must opt into this paste/pending input feature ("expr" will opt into it, all other commands won't)
- If we are in a multi-line input reader that requests this and stuff is pasted, then it will do what it does today
- if we start in a IOHandler that doesn't need/want pending input and text is pasted, and we transistion to a IOHandler that does want this functionality, then disable the pending input. Example text would be:

"frame variable
thread backtrace
for (int i=0;i<10;++i)
  (int)printf("i = %i\n", i);

frame select 0

When we push the expression multi-line reader we would disable the pending input because we had pending input _before_ we entered "expr".

If we did this first:

(lldb) expr

Then we pasted:

"void foo()

void bar()

Then we would allow the pending input to not look for an empty line to terminate the expression. We filed radar 19008425 to track fixing this issue.


Modified: lldb/trunk/test/functionalities/command_regex/TestCommandRegex.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/command_regex/TestCommandRegex.py?rev=222206&r1=222205&r2=222206&view=diff
--- lldb/trunk/test/functionalities/command_regex/TestCommandRegex.py (original)
+++ lldb/trunk/test/functionalities/command_regex/TestCommandRegex.py Mon Nov 17 18:39:31 2014
@@ -32,6 +32,7 @@ class CommandRegexTestCase(TestBase):
+        child.expect_exact(prompt)
         # Help!
         # If we see the familiar 'help' output, the test is done.

More information about the lldb-commits mailing list