xref: /llvm-project/lldb/test/API/python_api/sbprogress/TestSBProgress.py (revision 6b048aeaf837e0e16fece94610f0871d17cefe4c)
1*6b048aeaSJacob Lalonde"""Test the SBProgress API."""
2*6b048aeaSJacob Lalonde
3*6b048aeaSJacob Lalondeimport lldb
4*6b048aeaSJacob Lalondefrom lldbsuite.test.lldbtest import *
5*6b048aeaSJacob Lalonde
6*6b048aeaSJacob Lalonde
7*6b048aeaSJacob Lalondeclass SBProgressTestCase(TestBase):
8*6b048aeaSJacob Lalonde    def test_with_external_bit_set(self):
9*6b048aeaSJacob Lalonde        """Test SBProgress events are listened to when the external bit is set."""
10*6b048aeaSJacob Lalonde
11*6b048aeaSJacob Lalonde        progress = lldb.SBProgress("Test SBProgress", "Test progress", self.dbg)
12*6b048aeaSJacob Lalonde        listener = lldb.SBListener("Test listener")
13*6b048aeaSJacob Lalonde        broadcaster = self.dbg.GetBroadcaster()
14*6b048aeaSJacob Lalonde        broadcaster.AddListener(listener, lldb.eBroadcastBitExternalProgress)
15*6b048aeaSJacob Lalonde        event = lldb.SBEvent()
16*6b048aeaSJacob Lalonde
17*6b048aeaSJacob Lalonde        expected_string = "Test progress first increment"
18*6b048aeaSJacob Lalonde        progress.Increment(1, expected_string)
19*6b048aeaSJacob Lalonde        self.assertTrue(listener.PeekAtNextEvent(event))
20*6b048aeaSJacob Lalonde        stream = lldb.SBStream()
21*6b048aeaSJacob Lalonde        event.GetDescription(stream)
22*6b048aeaSJacob Lalonde        self.assertIn(expected_string, stream.GetData())
23*6b048aeaSJacob Lalonde
24*6b048aeaSJacob Lalonde    def test_without_external_bit_set(self):
25*6b048aeaSJacob Lalonde        """Test SBProgress events are not listened to on the internal progress bit."""
26*6b048aeaSJacob Lalonde
27*6b048aeaSJacob Lalonde        progress = lldb.SBProgress("Test SBProgress", "Test progress", self.dbg)
28*6b048aeaSJacob Lalonde        listener = lldb.SBListener("Test listener")
29*6b048aeaSJacob Lalonde        broadcaster = self.dbg.GetBroadcaster()
30*6b048aeaSJacob Lalonde        broadcaster.AddListener(listener, lldb.eBroadcastBitProgress)
31*6b048aeaSJacob Lalonde        event = lldb.SBEvent()
32*6b048aeaSJacob Lalonde
33*6b048aeaSJacob Lalonde        expected_string = "Test progress first increment"
34*6b048aeaSJacob Lalonde        progress.Increment(1, expected_string)
35*6b048aeaSJacob Lalonde        self.assertFalse(listener.PeekAtNextEvent(event))
36