mirror of
https://github.com/python/cpython.git
synced 2025-07-29 14:15:07 +00:00
Convert test_imp over to unittest.
This commit is contained in:
parent
5a9aa4f31c
commit
373d90b365
2 changed files with 35 additions and 29 deletions
|
@ -1,43 +1,47 @@
|
|||
import imp
|
||||
from test.test_support import TestFailed, TestSkipped
|
||||
try:
|
||||
import thread
|
||||
except ImportError:
|
||||
raise TestSkipped("test only valid when thread support is available")
|
||||
import thread
|
||||
import unittest
|
||||
from test import test_support
|
||||
|
||||
def verify_lock_state(expected):
|
||||
if imp.lock_held() != expected:
|
||||
raise TestFailed("expected imp.lock_held() to be %r" % expected)
|
||||
|
||||
def testLock():
|
||||
LOOPS = 50
|
||||
class LockTests(unittest.TestCase):
|
||||
|
||||
# The import lock may already be held, e.g. if the test suite is run
|
||||
# via "import test.autotest".
|
||||
lock_held_at_start = imp.lock_held()
|
||||
verify_lock_state(lock_held_at_start)
|
||||
"""Very basic test of import lock functions."""
|
||||
|
||||
for i in range(LOOPS):
|
||||
imp.acquire_lock()
|
||||
verify_lock_state(True)
|
||||
def verify_lock_state(self, expected):
|
||||
self.failUnlessEqual(imp.lock_held(), expected,
|
||||
"expected imp.lock_held() to be %r" % expected)
|
||||
def testLock(self):
|
||||
LOOPS = 50
|
||||
|
||||
for i in range(LOOPS):
|
||||
imp.release_lock()
|
||||
# The import lock may already be held, e.g. if the test suite is run
|
||||
# via "import test.autotest".
|
||||
lock_held_at_start = imp.lock_held()
|
||||
self.verify_lock_state(lock_held_at_start)
|
||||
|
||||
# The original state should be restored now.
|
||||
verify_lock_state(lock_held_at_start)
|
||||
for i in range(LOOPS):
|
||||
imp.acquire_lock()
|
||||
self.verify_lock_state(True)
|
||||
|
||||
if not lock_held_at_start:
|
||||
try:
|
||||
for i in range(LOOPS):
|
||||
imp.release_lock()
|
||||
except RuntimeError:
|
||||
pass
|
||||
else:
|
||||
raise TestFailed("release_lock() without lock should raise "
|
||||
"RuntimeError")
|
||||
|
||||
# The original state should be restored now.
|
||||
self.verify_lock_state(lock_held_at_start)
|
||||
|
||||
if not lock_held_at_start:
|
||||
try:
|
||||
imp.release_lock()
|
||||
except RuntimeError:
|
||||
pass
|
||||
else:
|
||||
self.fail("release_lock() without lock should raise "
|
||||
"RuntimeError")
|
||||
|
||||
def test_main():
|
||||
testLock()
|
||||
test_support.run_unittest(
|
||||
LockTests,
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_main()
|
||||
|
|
|
@ -139,6 +139,8 @@ Extension Modules
|
|||
Tests
|
||||
-----
|
||||
|
||||
- Converted test_imp to use unittest.
|
||||
|
||||
- Fix bsddb test_basics.test06_Transactions to check the version
|
||||
number properly.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue