diff --git a/lldb/bindings/interface/SBCommandInterpreterRunOptions.i b/lldb/bindings/interface/SBCommandInterpreterRunOptions.i --- a/lldb/bindings/interface/SBCommandInterpreterRunOptions.i +++ b/lldb/bindings/interface/SBCommandInterpreterRunOptions.i @@ -18,6 +18,7 @@ * StopOnCrash: false * EchoCommands: true * PrintResults: true +* PrintErrors: true * AddToHistory: true ") SBCommandInterpreterRunOptions; @@ -58,6 +59,12 @@ void SetPrintResults (bool); + bool + GetPrintErrors () const; + + void + SetPrintErrors (bool); + bool GetAddToHistory () const; diff --git a/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h b/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h --- a/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h +++ b/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h @@ -56,6 +56,10 @@ void SetPrintResults(bool); + bool GetPrintErrors() const; + + void SetPrintErrors(bool); + bool GetAddToHistory() const; void SetAddToHistory(bool); diff --git a/lldb/source/API/SBCommandInterpreterRunOptions.cpp b/lldb/source/API/SBCommandInterpreterRunOptions.cpp --- a/lldb/source/API/SBCommandInterpreterRunOptions.cpp +++ b/lldb/source/API/SBCommandInterpreterRunOptions.cpp @@ -131,6 +131,20 @@ m_opaque_up->SetPrintResults(print_results); } +bool SBCommandInterpreterRunOptions::GetPrintErrors() const { + LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBCommandInterpreterRunOptions, + GetPrintErrors); + + return m_opaque_up->GetPrintErrors(); +} + +void SBCommandInterpreterRunOptions::SetPrintErrors(bool print_errors) { + LLDB_RECORD_METHOD(void, SBCommandInterpreterRunOptions, SetPrintErrors, + (bool), print_errors); + + m_opaque_up->SetPrintErrors(print_errors); +} + bool SBCommandInterpreterRunOptions::GetAddToHistory() const { LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBCommandInterpreterRunOptions, GetAddToHistory); @@ -269,6 +283,10 @@ GetPrintResults, ()); LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetPrintResults, (bool)); + LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions, + GetPrintErrors, ()); + LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetPrintErrors, + (bool)); LLDB_REGISTER_METHOD_CONST(bool, SBCommandInterpreterRunOptions, GetAddToHistory, ()); LLDB_REGISTER_METHOD(void, SBCommandInterpreterRunOptions, SetAddToHistory, diff --git a/lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py b/lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py --- a/lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py +++ b/lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py @@ -73,3 +73,40 @@ self.assertGreater(n_errors, 0) self.assertTrue(quit_requested) self.assertFalse(has_crashed) + +class SBCommandInterpreterRunOptionsCase(TestBase): + + NO_DEBUG_INFO_TESTCASE = True + mydir = TestBase.compute_mydir(__file__) + + def test_command_interpreter_run_options(self): + """Test SBCommandInterpreterRunOptions default values, getters & setters """ + + opts = lldb.SBCommandInterpreterRunOptions() + + # Check getters with default values + self.assertEqual(opts.GetStopOnContinue(), False) + self.assertEqual(opts.GetStopOnError(), False) + self.assertEqual(opts.GetStopOnCrash(), False) + self.assertEqual(opts.GetEchoCommands(), True) + self.assertEqual(opts.GetPrintResults(), True) + self.assertEqual(opts.GetPrintErrors(), True) + self.assertEqual(opts.GetAddToHistory(), True) + + # Invert values + opts.SetStopOnContinue(not opts.GetStopOnContinue()) + opts.SetStopOnError(not opts.GetStopOnError()) + opts.SetStopOnCrash(not opts.GetStopOnCrash()) + opts.SetEchoCommands(not opts.GetEchoCommands()) + opts.SetPrintResults(not opts.GetPrintResults()) + opts.SetPrintErrors(not opts.GetPrintErrors()) + opts.SetAddToHistory(not opts.GetAddToHistory()) + + # Check the value changed + self.assertEqual(opts.GetStopOnContinue(), True) + self.assertEqual(opts.GetStopOnError(), True) + self.assertEqual(opts.GetStopOnCrash(), True) + self.assertEqual(opts.GetEchoCommands(), False) + self.assertEqual(opts.GetPrintResults(), False) + self.assertEqual(opts.GetPrintErrors(), False) + self.assertEqual(opts.GetAddToHistory(), False)