]> granicus.if.org Git - python/commitdiff
Issue #25551: Test condition behavior instead of its internals
authorBerker Peksag <berker.peksag@gmail.com>
Fri, 29 Apr 2016 14:25:29 +0000 (17:25 +0300)
committerBerker Peksag <berker.peksag@gmail.com>
Fri, 29 Apr 2016 14:25:29 +0000 (17:25 +0300)
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.

Lib/test/lock_tests.py

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