home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / test_capi.py < prev    next >
Text File  |  2003-12-30  |  1KB  |  46 lines

  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.  
  4. import sys
  5. from test import test_support
  6. import _testcapi
  7.  
  8. for 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
  19. def 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.  
  38. try:
  39.     _testcapi._test_thread_state
  40.     have_thread_state = True
  41. except AttributeError:
  42.     have_thread_state = False
  43.  
  44. if have_thread_state:
  45.     TestThreadState()
  46.