[Lldb-commits] [lldb] r359750 - [CommandObjectCommands] Honor stop-command-source-on-error

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed May 1 18:54:02 PDT 2019


Author: jdevlieghere
Date: Wed May  1 18:54:02 2019
New Revision: 359750

URL: http://llvm.org/viewvc/llvm-project?rev=359750&view=rev
Log:
[CommandObjectCommands] Honor stop-command-source-on-error

This patch ensures that we honor the stop-command-source-on-error
setting from `command source`. The problem is that we didn't
differentiate between the boolean value being true or false, or not
being set. For the latter scenario, we should calculate the value in the
command interpreter based on the global options.

Differential revision: https://reviews.llvm.org/D61406

Added:
    lldb/trunk/lit/Commands/command-source.test
Modified:
    lldb/trunk/source/Commands/CommandObjectCommands.cpp

Added: lldb/trunk/lit/Commands/command-source.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Commands/command-source.test?rev=359750&view=auto
==============================================================================
--- lldb/trunk/lit/Commands/command-source.test (added)
+++ lldb/trunk/lit/Commands/command-source.test Wed May  1 18:54:02 2019
@@ -0,0 +1,12 @@
+# Check that stop command source on error.
+
+# RUN: %lldb -x -b -o "command source -e 1 %s" 2>&1 | FileCheck %s --check-prefix STOP
+# RUN: %lldb -x -b -o "command source -e 0 %s" 2>&1 | FileCheck %s --check-prefix CONTINUE
+# RUN: %lldb -x -b -o 'settings set interpreter.stop-command-source-on-error true' -o "command source %s" 2>&1 | FileCheck %s --check-prefix STOP
+# RUN: %lldb -x -b -o 'settings set interpreter.stop-command-source-on-error false' -o "command source %s" 2>&1 | FileCheck %s --check-prefix CONTINUE
+
+bogus
+p 10+1
+
+# CONTINUE: 11
+# STOP-NOT: 11

Modified: lldb/trunk/source/Commands/CommandObjectCommands.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectCommands.cpp?rev=359750&r1=359749&r2=359750&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectCommands.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectCommands.cpp Wed May  1 18:54:02 2019
@@ -309,8 +309,13 @@ protected:
         m_options.m_stop_on_continue.OptionWasSet()) {
       // Use user set settings
       CommandInterpreterRunOptions options;
-      options.SetStopOnContinue(m_options.m_stop_on_continue.GetCurrentValue());
-      options.SetStopOnError(m_options.m_stop_on_error.GetCurrentValue());
+
+      if (m_options.m_stop_on_continue.OptionWasSet())
+        options.SetStopOnContinue(
+            m_options.m_stop_on_continue.GetCurrentValue());
+
+      if (m_options.m_stop_on_error.OptionWasSet())
+        options.SetStopOnError(m_options.m_stop_on_error.GetCurrentValue());
 
       // Individual silent setting is override for global command echo settings.
       if (m_options.m_silent_run.GetCurrentValue()) {




More information about the lldb-commits mailing list