| """ |
| Test the command history mechanism |
| """ |
| |
| from __future__ import print_function |
| |
| |
| import os |
| import lldb |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test import lldbutil |
| |
| |
| class CommandHistoryTestCase(TestBase): |
| |
| mydir = TestBase.compute_mydir(__file__) |
| |
| @no_debug_info_test |
| def test_history(self): |
| self.runCmd('command 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( |
| "command history -s 3 -c 3", |
| inHistory=True, |
| substrs=[ |
| '3: memory write', |
| '4: log list', |
| '5: disassemble']) |
| |
| self.expect("command history -s 3 -e 3", inHistory=True, |
| substrs=['3: memory write']) |
| |
| self.expect( |
| "command history -s 6 -e 7", |
| inHistory=True, |
| substrs=[ |
| '6: expression 1', |
| '7: type summary list -w default']) |
| |
| self.expect("command history -c 2", inHistory=True, |
| substrs=['0: breakpoint list', '1: register read']) |
| |
| self.expect("command history -e 3 -c 1", inHistory=True, |
| substrs=['3: memory write']) |
| |
| self.expect( |
| "command history -e 2", |
| inHistory=True, |
| substrs=[ |
| '0: breakpoint list', |
| '1: register read', |
| '2: apropos hello']) |
| |
| self.expect( |
| "command history -s 12", |
| inHistory=True, |
| substrs=[ |
| '12: command history -s 6 -e 7', |
| '13: command history -c 2', |
| '14: command history -e 3 -c 1', |
| '15: command history -e 2', |
| '16: command history -s 12']) |
| |
| self.expect( |
| "command history -s end -c 3", |
| inHistory=True, |
| substrs=[ |
| '15: command history -e 2', |
| '16: command history -s 12', |
| '17: command history -s end -c 3']) |
| |
| self.expect( |
| "command history -s end -e 15", |
| inHistory=True, |
| substrs=[ |
| '15: command history -e 2', |
| '16: command history -s 12', |
| '17: command history -s end -c 3', |
| 'command history -s end -e 15']) |
| |
| self.expect("command history -s 5 -c 1", inHistory=True, |
| substrs=['5: disassemble']) |
| |
| self.expect("command history -c 1 -s 5", inHistory=True, |
| substrs=['5: disassemble']) |
| |
| self.expect("command history -c 1 -e 3", inHistory=True, |
| substrs=['3: memory write']) |
| |
| self.expect( |
| "command 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']) |