Issue #11140: Lock.release() now raises a RuntimeError when attempting

to release an unacquired lock, as claimed in the threading documentation.
The _thread.error exception is now an alias of RuntimeError.
This commit is contained in:
Antoine Pitrou 2011-02-28 22:03:34 +00:00
parent cfbcec3823
commit fcf81fd031
4 changed files with 14 additions and 1 deletions

View file

@ -685,6 +685,10 @@ class ThreadingExceptionTests(BaseTestCase):
thread.start()
self.assertRaises(RuntimeError, setattr, thread, "daemon", True)
def test_releasing_unacquired_lock(self):
lock = threading.Lock()
self.assertRaises(RuntimeError, lock.release)
class LockTests(lock_tests.LockTests):
locktype = staticmethod(threading.Lock)