Browse Source

tests: hopefully make notify_all() test more robust

rdb 6 years ago
parent
commit
362ee33d32
1 changed files with 7 additions and 3 deletions
  1. 7 3
      tests/pipeline/test_condition_var.py

+ 7 - 3
tests/pipeline/test_condition_var.py

@@ -123,12 +123,16 @@ def test_cvar_notify_all_threads(num_threads):
             break
 
     assert state['waiting'] == num_threads
-    m.release()
 
     # OK, now signal it, and yield.  All threads must unblock.
     cv.notify_all()
-    yield_thread()
-    m.acquire()
+    for i in range(1000):
+        m.release()
+        yield_thread()
+        m.acquire()
+        if state['waiting'] == 0:
+            break
+
     assert state['waiting'] == 0
     m.release()