summaryrefslogtreecommitdiffstats
path: root/Lib/test/lock_tests.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-05-17 16:55:59 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-05-17 16:55:59 (GMT)
commitea3eb88bcaef775c8f2bbe310053f9990a8c9ea7 (patch)
tree9461ae28e833a95a79cc4811df68435bf0e00fc3 /Lib/test/lock_tests.py
parent5cec9d2ae57da6fb5c424bb297ddb67902393b2d (diff)
downloadcpython-ea3eb88bcaef775c8f2bbe310053f9990a8c9ea7.zip
cpython-ea3eb88bcaef775c8f2bbe310053f9990a8c9ea7.tar.gz
cpython-ea3eb88bcaef775c8f2bbe310053f9990a8c9ea7.tar.bz2
Issue #9260: A finer-grained import lock.
Most of the import sequence now uses per-module locks rather than the global import lock, eliminating well-known issues with threads and imports.
Diffstat (limited to 'Lib/test/lock_tests.py')
-rw-r--r--Lib/test/lock_tests.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/lock_tests.py b/Lib/test/lock_tests.py
index d88f364..bfbf44e 100644
--- a/Lib/test/lock_tests.py
+++ b/Lib/test/lock_tests.py
@@ -247,7 +247,6 @@ class RLockTests(BaseLockTests):
# Cannot release an unacquired lock
lock = self.locktype()
self.assertRaises(RuntimeError, lock.release)
- self.assertRaises(RuntimeError, lock._release_save)
lock.acquire()
lock.acquire()
lock.release()
@@ -255,6 +254,17 @@ class RLockTests(BaseLockTests):
lock.release()
lock.release()
self.assertRaises(RuntimeError, lock.release)
+
+ def test_release_save_unacquired(self):
+ # Cannot _release_save an unacquired lock
+ lock = self.locktype()
+ self.assertRaises(RuntimeError, lock._release_save)
+ lock.acquire()
+ lock.acquire()
+ lock.release()
+ lock.acquire()
+ lock.release()
+ lock.release()
self.assertRaises(RuntimeError, lock._release_save)
def test_different_thread(self):