Issue #25551: Test condition behavior instead of its internals

test_reset_internal_locks was looking at Event's _cond._lock. This
makes it harder to change internals of the Condition object and
makes the test fragile.

The test was added by Nir Soffer in 6108d30dde21.

Patch by Nir Soffer.
This commit is contained in:
Berker Peksag 2016-04-29 17:25:51 +03:00
commit dd745cc3ff

View file

@ -407,12 +407,13 @@ class EventTests(BaseTestCase):
self.assertEqual(results, [True] * N) self.assertEqual(results, [True] * N)
def test_reset_internal_locks(self): def test_reset_internal_locks(self):
# ensure that condition is still using a Lock after reset
evt = self.eventtype() evt = self.eventtype()
old_lock = evt._cond._lock with evt._cond:
self.assertFalse(evt._cond.acquire(False))
evt._reset_internal_locks() evt._reset_internal_locks()
new_lock = evt._cond._lock with evt._cond:
self.assertIsNot(new_lock, old_lock) self.assertFalse(evt._cond.acquire(False))
self.assertIs(type(new_lock), type(old_lock))
class ConditionTests(BaseTestCase): class ConditionTests(BaseTestCase):