[Lldb-commits] [lldb] 160a504 - [lldb][NFC] Add 'breakpoint command list' test

Raphael Isemann via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 2 02:58:39 PST 2019


Author: Raphael Isemann
Date: 2019-12-02T11:57:55+01:00
New Revision: 160a5045c699ac523eac3c7a1984705c3e86720e

URL: https://github.com/llvm/llvm-project/commit/160a5045c699ac523eac3c7a1984705c3e86720e
DIFF: https://github.com/llvm/llvm-project/commit/160a5045c699ac523eac3c7a1984705c3e86720e.diff

LOG: [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.

Added: 
    lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/TestBreakpointCommandList.py
    lldb/packages/Python/lldbsuite/test/commands/breakpoint/command/list/a.yaml

Modified: 
    

Removed: 
    


################################################################################
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 000000000000..f1a8656a73b5
--- /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 000000000000..1007f60c19ee
--- /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
+...


        


More information about the lldb-commits mailing list