xref: /llvm-project-15.0.7/lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py (revision cf6a7c19)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"""
2Test that we are able to broadcast and receive diagnostic events from lldb
3"""
4import lldb
5
6import lldbsuite.test.lldbutil as lldbutil
7
8from lldbsuite.test.lldbtest import *
9
10class TestDiagnosticReporting(TestBase):
11
12    mydir = TestBase.compute_mydir(__file__)
13
14    def setUp(self):
15        TestBase.setUp(self)
16
17        self.broadcaster = self.dbg.GetBroadcaster()
18        self.listener = lldbutil.start_listening_from(self.broadcaster,
19                                        lldb.SBDebugger.eBroadcastBitWarning |
20                                        lldb.SBDebugger.eBroadcastBitError)
21
22    def test_dwarf_symbol_loading_diagnostic_report(self):
23        """Test that we are able to fetch diagnostic events"""
24
25        self.yaml2obj("minidump.yaml", self.getBuildArtifact("minidump.core"))
26
27        self.dbg.CreateTarget(None)
28        self.target = self.dbg.GetSelectedTarget()
29        self.process = self.target.LoadCore(
30            self.getBuildArtifact("minidump.core"))
31
32        event = lldbutil.fetch_next_event(self, self.listener, self.broadcaster)
33        diagnostic_data = lldb.SBDebugger.GetDiagnosticFromEvent(event)
34        self.assertEquals(
35            diagnostic_data.GetValueForKey("type").GetStringValue(100),
36            "warning")
37        self.assertEquals(
38            diagnostic_data.GetValueForKey("message").GetStringValue(100),
39            "unable to retrieve process ID from minidump file, setting process ID to 1"
40        )
41

served by {OpenGrok

Last Index Update: Tue Oct 21 18:42:31 GMT 2025