summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorLeonard Mosescu <mosescu@google.com>2017-10-05 23:41:28 +0000
committerLeonard Mosescu <mosescu@google.com>2017-10-05 23:41:28 +0000
commit17ffd39ed8b5e224684bb77fd913fb1f1b5d77a0 (patch)
tree1e34b7782cd0f415ae5a2bbd51783e1e61a47455 /lldb/packages/Python/lldbsuite/test
parentb9aa9a55006add424a18dd19a518064994a4eed4 (diff)
downloadbcm5719-llvm-17ffd39ed8b5e224684bb77fd913fb1f1b5d77a0.tar.gz
bcm5719-llvm-17ffd39ed8b5e224684bb77fd913fb1f1b5d77a0.zip
Implement interactive command interruption
The core of this change is the new CommandInterpreter::m_command_state, which models the state transitions for interactive commands, including an "interrupted" state transition. In general, command interruption requires cooperation from the code executing the command, which needs to poll for interruption requests through CommandInterpreter::WasInterrupted(). CommandInterpreter::PrintCommandOutput() implements an optionally interruptible printing of the command output, which for large outputs was likely the longest blocking part. (ex. target modules dump symtab on a complex binary could take 10+ minutes) Differential Revision: https://reviews.llvm.org/D37923 llvm-svn: 315037
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/command_source/.lldb3
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/command_source/commands.txt2
2 files changed, 4 insertions, 1 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/command_source/.lldb b/lldb/packages/Python/lldbsuite/test/functionalities/command_source/.lldb
index c544523832e..ecbdcff4462 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/command_source/.lldb
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/command_source/.lldb
@@ -1 +1,2 @@
-script import my
+# one more level of indirection to stress the command interpreter reentrancy
+command source commands.txt
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/command_source/commands.txt b/lldb/packages/Python/lldbsuite/test/functionalities/command_source/commands.txt
new file mode 100644
index 00000000000..8e4de66d469
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/command_source/commands.txt
@@ -0,0 +1,2 @@
+script import my
+p 1 + 1
OpenPOWER on IntegriCloud