From be595d336c6e3cdd899e9c031e86bf6dab850c07 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 27 Apr 2010 23:01:29 +0000 Subject: [PATCH] Issue #7449, part 7: simplify threading detection in test_capi * 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 | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index c313dcf037b..7c259231809 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -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()