home *** CD-ROM | disk | FTP | other *** search
- # Run the _testcapi module tests (tests for the Python/C API): by defn,
- # these are all functions _testcapi exports whose name begins with 'test_'.
-
- import sys
- from test import test_support
- import _testcapi
-
- for name in dir(_testcapi):
- if name.startswith('test_'):
- test = getattr(_testcapi, name)
- if test_support.verbose:
- print "internal", name
- try:
- test()
- except _testcapi.error:
- raise test_support.TestFailed, sys.exc_info()[1]
-
- # some extra thread-state tests driven via _testcapi
- def TestThreadState():
- import thread
- import time
-
- if test_support.verbose:
- print "auto-thread-state"
-
- idents = []
-
- def callback():
- idents.append(thread.get_ident())
-
- _testcapi._test_thread_state(callback)
- time.sleep(1)
- # Check our main thread is in the list exactly 3 times.
- if idents.count(thread.get_ident()) != 3:
- raise test_support.TestFailed, \
- "Couldn't find main thread correctly in the list"
-
- try:
- _testcapi._test_thread_state
- have_thread_state = True
- except AttributeError:
- have_thread_state = False
-
- if have_thread_state:
- TestThreadState()
-