@@ -1622,14 +1622,13 @@ def f(cls, cond, sleeping, woken, timeout=None):
16221622 cond .release ()
16231623
16241624 def assertReachesEventually (self , func , value ):
1625- for i in range ( 10 ):
1625+ for _ in support . sleeping_retry ( support . SHORT_TIMEOUT ):
16261626 try :
16271627 if func () == value :
16281628 break
16291629 except NotImplementedError :
16301630 break
1631- time .sleep (DELTA )
1632- time .sleep (DELTA )
1631+
16331632 self .assertReturnsIfImplemented (value , func )
16341633
16351634 def check_invariant (self , cond ):
@@ -1663,26 +1662,23 @@ def test_notify(self):
16631662 sleeping .acquire ()
16641663
16651664 # check no process/thread has woken up
1666- time .sleep (DELTA )
1667- self .assertReturnsIfImplemented (0 , get_value , woken )
1665+ self .assertReachesEventually (lambda : get_value (woken ), 0 )
16681666
16691667 # wake up one process/thread
16701668 cond .acquire ()
16711669 cond .notify ()
16721670 cond .release ()
16731671
16741672 # check one process/thread has woken up
1675- time .sleep (DELTA )
1676- self .assertReturnsIfImplemented (1 , get_value , woken )
1673+ self .assertReachesEventually (lambda : get_value (woken ), 1 )
16771674
16781675 # wake up another
16791676 cond .acquire ()
16801677 cond .notify ()
16811678 cond .release ()
16821679
16831680 # check other has woken up
1684- time .sleep (DELTA )
1685- self .assertReturnsIfImplemented (2 , get_value , woken )
1681+ self .assertReachesEventually (lambda : get_value (woken ), 2 )
16861682
16871683 # check state is not mucked up
16881684 self .check_invariant (cond )
0 commit comments