From 4b798bdf8ab3a4a4b3b11ea60a8f0b1c54e43224 Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Tue, 8 Apr 2008 21:27:42 +0000 Subject: [PATCH] Issue2564: Prevent a hang in "import test.autotest", which runs the entire test suite as a side-effect of importing the module. - in test_capi, a thread tried to import other modules - re.compile() imported sre_parse again on every call. --- Lib/sre_compile.py | 3 +-- Lib/test/test_capi.py | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py index 22ab2fd1488..65d2ccf016f 100644 --- a/Lib/sre_compile.py +++ b/Lib/sre_compile.py @@ -11,7 +11,7 @@ """Internal support module for sre""" import _sre, sys - +import sre_parse from sre_constants import * assert _sre.MAGIC == MAGIC, "SRE module mismatch" @@ -502,7 +502,6 @@ def compile(p, flags=0): # internal: convert pattern list to internal format if isstring(p): - import sre_parse pattern = p p = sre_parse.parse(p, flags) else: diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index cdd84bb222e..eea41c1f7c4 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -19,9 +19,6 @@ def test_main(): # some extra thread-state tests driven via _testcapi def TestThreadState(): - import thread - import time - if test_support.verbose: print "auto-thread-state" @@ -45,6 +42,8 @@ def test_main(): have_thread_state = False if have_thread_state: + import thread + import time TestThreadState() import threading t=threading.Thread(target=TestThreadState)