summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorRaphael Isemann <risemann@apple.com>2019-12-02 11:08:10 +0100
committerRaphael Isemann <teemperor@gmail.com>2019-12-02 11:57:55 +0100
commit160a5045c699ac523eac3c7a1984705c3e86720e (patch)
treeea1011e94d4228e155184bae00c16e7431392af7 /lldb/packages/Python/lldbsuite/test
parente9e1daf2b9e800c00a3c08db53650c1569288a1b (diff)
downloadbcm5719-llvm-160a5045c699ac523eac3c7a1984705c3e86720e.tar.gz
bcm5719-llvm-160a5045c699ac523eac3c7a1984705c3e86720e.zip
[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.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/TestBreakpointCommandList.py44
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/a.yaml18
2 files changed, 62 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/TestBreakpointCommandList.py b/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/TestBreakpointCommandList.py
new file mode 100644
index 00000000000..f1a8656a73b
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/TestBreakpointCommandList.py
@@ -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.")
diff --git a/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/a.yaml b/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/a.yaml
new file mode 100644
index 00000000000..1007f60c19e
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/a.yaml
@@ -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
+...
OpenPOWER on IntegriCloud