""" Test the session history command """ import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class SessionHistoryTestCase(TestBase): @no_debug_info_test def test_history(self): self.runCmd("session history --clear", inHistory=False) self.runCmd("breakpoint list", check=False, inHistory=True) # 0 self.runCmd("register read", check=False, inHistory=True) # 1 self.runCmd("apropos hello", check=False, inHistory=True) # 2 self.runCmd("memory write", check=False, inHistory=True) # 3 self.runCmd("log list", check=False, inHistory=True) # 4 self.runCmd("disassemble", check=False, inHistory=True) # 5 self.runCmd("expression 1", check=False, inHistory=True) # 6 self.runCmd("type summary list -w default", check=False, inHistory=True) # 7 self.runCmd("version", check=False, inHistory=True) # 8 self.runCmd("frame select 1", check=False, inHistory=True) # 9 self.expect( "session history -s 3 -c 3", inHistory=True, substrs=["3: memory write", "4: log list", "5: disassemble"], ) self.expect( "session history -s 3 -e 3", inHistory=True, substrs=["3: memory write"] ) self.expect( "session history -s 6 -e 7", inHistory=True, substrs=["6: expression 1", "7: type summary list -w default"], ) self.expect( "session history -c 2", inHistory=True, substrs=["0: breakpoint list", "1: register read"], ) self.expect( "session history -e 3 -c 1", inHistory=True, substrs=["3: memory write"] ) self.expect( "session history -e 2", inHistory=True, substrs=["0: breakpoint list", "1: register read", "2: apropos hello"], ) self.expect( "session history -s 12", inHistory=True, substrs=[ "12: session history -s 6 -e 7", "13: session history -c 2", "14: session history -e 3 -c 1", "15: session history -e 2", "16: session history -s 12", ], ) self.expect( "session history -s end -c 3", inHistory=True, substrs=[ "15: session history -e 2", "16: session history -s 12", "17: session history -s end -c 3", ], ) self.expect( "session history -s end -e 15", inHistory=True, substrs=[ "15: session history -e 2", "16: session history -s 12", "17: session history -s end -c 3", "session history -s end -e 15", ], ) self.expect( "session history -s 5 -c 1", inHistory=True, substrs=["5: disassemble"] ) self.expect( "session history -c 1 -s 5", inHistory=True, substrs=["5: disassemble"] ) self.expect( "session history -c 1 -e 3", inHistory=True, substrs=["3: memory write"] ) self.expect( "session history -c 1 -e 3 -s 5", error=True, inHistory=True, substrs=[ "error: --count, --start-index and --end-index cannot be all specified in the same invocation" ], )