| """ |
| Test 'breakpoint command list'. |
| """ |
| |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test import lldbutil |
| |
| |
| class TestCase(TestBase): |
| @no_debug_info_test |
| def test_list_commands(self): |
| src_dir = self.getSourceDir() |
| yaml_path = os.path.join(src_dir, "a.yaml") |
| yaml_base, ext = os.path.splitext(yaml_path) |
| obj_path = self.getBuildArtifact("main.o") |
| self.yaml2obj(yaml_path, obj_path) |
| |
| # Create a target with the object file we just created from YAML |
| target = self.dbg.CreateTarget(obj_path) |
| self.assertTrue(target, VALID_TARGET) |
| |
| # Test without any breakpoints. |
| self.expect( |
| "breakpoint command list 1", |
| error=True, |
| substrs=["error: No breakpoints exist for which to list commands"], |
| ) |
| |
| # Set a breakpoint |
| self.runCmd("b foo") |
| |
| # Check list breakpoint commands for breakpoints that have no commands. |
| self.expect( |
| "breakpoint command list 1", |
| startstr="Breakpoint 1 does not have an associated command.", |
| ) |
| |
| # Add a breakpoint command. |
| self.runCmd("breakpoint command add -o 'source list' 1") |
| |
| # List breakpoint command that we just created. |
| self.expect( |
| "breakpoint command list 1", |
| startstr="""Breakpoint 1: |
| Breakpoint commands: |
| source list |
| """, |
| ) |
| |
| # List breakpoint command with invalid breakpoint ID. |
| self.expect( |
| "breakpoint command list 2", |
| error=True, |
| startstr="error: '2' is not a currently valid breakpoint ID.", |
| ) |