tests: hopefully fix sporadic test failures with condition var test

This commit is contained in:
rdb 2019-05-03 18:03:16 +02:00
parent 226d888ef4
commit bf302a0838

View File

@ -72,16 +72,22 @@ def test_cvar_notify_thread(num_threads):
break
assert state['waiting'] == num_threads
m.release()
# OK, now signal it, and yield. One thread must be unblocked per notify.
for i in range(num_threads):
cv.notify()
yield_thread()
m.acquire()
assert state['waiting'] == num_threads - i - 1
m.release()
expected_waiters = num_threads - i - 1
for j in range(1000):
m.release()
yield_thread()
m.acquire()
if state['waiting'] == expected_waiters:
break
assert state['waiting'] == expected_waiters
m.release()
for thread in threads:
thread.join()
cv = None