1*99451b44SJordan Rupprecht""" 2*99451b44SJordan RupprechtTest that the target.process.thread.max-backtrace-depth setting works. 3*99451b44SJordan Rupprecht""" 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprechtimport unittest2 6*99451b44SJordan Rupprechtimport lldb 7*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 9*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprecht 12*99451b44SJordan Rupprechtclass BacktraceLimitSettingTest(TestBase): 13*99451b44SJordan Rupprecht NO_DEBUG_INFO_TESTCASE = True 14*99451b44SJordan Rupprecht 15*99451b44SJordan Rupprecht def test_backtrace_depth(self): 16*99451b44SJordan Rupprecht """Test that the max-backtrace-depth setting limits backtraces.""" 17*99451b44SJordan Rupprecht self.build() 18*99451b44SJordan Rupprecht self.main_source_file = lldb.SBFileSpec("main.cpp") 19*99451b44SJordan Rupprecht (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 20*99451b44SJordan Rupprecht "Set a breakpoint here", self.main_source_file) 21*99451b44SJordan Rupprecht interp = self.dbg.GetCommandInterpreter() 22*99451b44SJordan Rupprecht result = lldb.SBCommandReturnObject() 23*99451b44SJordan Rupprecht interp.HandleCommand("settings set target.process.thread.max-backtrace-depth 30", result) 24*99451b44SJordan Rupprecht self.assertEqual(True, result.Succeeded()) 25*99451b44SJordan Rupprecht self.assertEqual(30, thread.GetNumFrames()) 26