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