]> granicus.if.org Git - python/commitdiff
Issue #7449, part 7: simplify threading detection in test_capi
authorVictor Stinner <victor.stinner@haypocalc.com>
Tue, 27 Apr 2010 23:01:29 +0000 (23:01 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Tue, 27 Apr 2010 23:01:29 +0000 (23:01 +0000)
 * Skip TestPendingCalls if threading module is missing
 * Test if threading module is present or not, instead of test the presence of
   _testcapi._test_thread_state

Lib/test/test_capi.py

index c313dcf037be6efefdd1dd572237b787272ed3bf..7c259231809813af8fab6a480463acbf622bca63 100644 (file)
@@ -6,10 +6,14 @@ import sys
 import time
 import random
 import unittest
-import threading
 from test import test_support
+try:
+    import threading
+except ImportError:
+    threading = None
 import _testcapi
 
+@unittest.skipUnless(threading, 'Threading required for this test.')
 class TestPendingCalls(unittest.TestCase):
 
     def pendingcalls_submit(self, l, n):
@@ -47,7 +51,6 @@ class TestPendingCalls(unittest.TestCase):
             print "(%i)"%(len(l),)
 
     def test_pendingcalls_threaded(self):
-
         #do every callback on a separate thread
         n = 32 #total callbacks
         threads = []
@@ -123,17 +126,10 @@ def test_main():
             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:
+    if threading:
         import thread
         import time
         TestThreadState()
-        import threading
         t=threading.Thread(target=TestThreadState)
         t.start()
         t.join()