Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / lib / python2.4 / test / test_capi.py
CommitLineData
920dae64
AT
1# Run the _testcapi module tests (tests for the Python/C API): by defn,
2# these are all functions _testcapi exports whose name begins with 'test_'.
3
4import sys
5from test import test_support
6import _testcapi
7
8for name in dir(_testcapi):
9 if name.startswith('test_'):
10 test = getattr(_testcapi, name)
11 if test_support.verbose:
12 print "internal", name
13 try:
14 test()
15 except _testcapi.error:
16 raise test_support.TestFailed, sys.exc_info()[1]
17
18# some extra thread-state tests driven via _testcapi
19def TestThreadState():
20 import thread
21 import time
22
23 if test_support.verbose:
24 print "auto-thread-state"
25
26 idents = []
27
28 def callback():
29 idents.append(thread.get_ident())
30
31 _testcapi._test_thread_state(callback)
32 time.sleep(1)
33 # Check our main thread is in the list exactly 3 times.
34 if idents.count(thread.get_ident()) != 3:
35 raise test_support.TestFailed, \
36 "Couldn't find main thread correctly in the list"
37
38try:
39 _testcapi._test_thread_state
40 have_thread_state = True
41except AttributeError:
42 have_thread_state = False
43
44if have_thread_state:
45 TestThreadState()
46 import threading
47 t=threading.Thread(target=TestThreadState)
48 t.start()