From 458120dd40db6b4df55a4e96b650e16798ef06a0 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 3 May 2011 11:25:13 +0000 Subject: add hg and python --- sys/lib/python/test/test_imp.py | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sys/lib/python/test/test_imp.py (limited to 'sys/lib/python/test/test_imp.py') diff --git a/sys/lib/python/test/test_imp.py b/sys/lib/python/test/test_imp.py new file mode 100644 index 000000000..893ba2461 --- /dev/null +++ b/sys/lib/python/test/test_imp.py @@ -0,0 +1,43 @@ +import imp +from test.test_support import TestFailed, TestSkipped +try: + import thread +except ImportError: + raise TestSkipped("test only valid when thread support is available") + +def verify_lock_state(expected): + if imp.lock_held() != expected: + raise TestFailed("expected imp.lock_held() to be %r" % expected) + +def testLock(): + LOOPS = 50 + + # 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) + + for i in range(LOOPS): + imp.acquire_lock() + verify_lock_state(True) + + for i in range(LOOPS): + imp.release_lock() + + # The original state should be restored now. + verify_lock_state(lock_held_at_start) + + if not lock_held_at_start: + try: + imp.release_lock() + except RuntimeError: + pass + else: + raise TestFailed("release_lock() without lock should raise " + "RuntimeError") + +def test_main(): + testLock() + +if __name__ == "__main__": + test_main() -- cgit v1.2.3