forked from OSchip/llvm-project
[lldb][NFC] Add 'breakpoint command list' test
The command has zero test coverage and I'll have to touch the code formatting the output commands, so let's start by adding a test for it.
This commit is contained in:
parent
e9e1daf2b9
commit
160a5045c6
|
@ -0,0 +1,44 @@
|
|||
"""
|
||||
Test 'breakpoint command list'.
|
||||
"""
|
||||
|
||||
from lldbsuite.test.decorators import *
|
||||
from lldbsuite.test.lldbtest import *
|
||||
from lldbsuite.test import lldbutil
|
||||
|
||||
class TestCase(TestBase):
|
||||
|
||||
mydir = TestBase.compute_mydir(__file__)
|
||||
|
||||
@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.")
|
|
@ -0,0 +1,18 @@
|
|||
--- !ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS64
|
||||
Data: ELFDATA2LSB
|
||||
Type: ET_REL
|
||||
Machine: EM_X86_64
|
||||
Sections:
|
||||
- Name: .text
|
||||
Type: SHT_PROGBITS
|
||||
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
||||
AddressAlign: 0x0000000000000010
|
||||
Content: 554889E5897DFC5DC3
|
||||
Symbols:
|
||||
- Name: foo
|
||||
Type: STT_FUNC
|
||||
Section: .text
|
||||
Size: 0x0000000000000009
|
||||
...
|
Loading…
Reference in New Issue