[Python-checkins] r80552 - in python/trunk: Lib/test/test_support.py Misc/NEWS

victor.stinner python-checkins at python.org
Tue Apr 27 23:46:03 CEST 2010


Author: victor.stinner
Date: Tue Apr 27 23:46:03 2010
New Revision: 80552

Log:
Issue #7449, part 1: fix test_support.py for Python compiled without thread



Modified:
   python/trunk/Lib/test/test_support.py
   python/trunk/Misc/NEWS

Modified: python/trunk/Lib/test/test_support.py
==============================================================================
--- python/trunk/Lib/test/test_support.py	(original)
+++ python/trunk/Lib/test/test_support.py	Tue Apr 27 23:46:03 2010
@@ -18,6 +18,10 @@
 import UserDict
 import re
 import time
+try:
+    import thread
+except ImportError:
+    thread = None
 
 __all__ = ["Error", "TestFailed", "ResourceDenied", "import_module",
            "verbose", "use_resources", "max_memuse", "record_original_stdout",
@@ -44,7 +48,7 @@
     """Test skipped because it requested a disallowed resource.
 
     This is raised when a test calls requires() for a resource that
-    has not be enabled.  It is used to distinguish between expected
+    has not been enabled.  It is used to distinguish between expected
     and unexpected skips.
     """
 
@@ -1078,11 +1082,14 @@
 # at the end of a test run.
 
 def threading_setup():
-    import thread
-    return thread._count(),
+    if thread:
+        return thread._count(),
+    else:
+        return 1,
 
 def threading_cleanup(nb_threads):
-    import thread
+    if not thread:
+        return
 
     _MAX_COUNT = 10
     for count in range(_MAX_COUNT):
@@ -1093,6 +1100,13 @@
     # XXX print a warning in case of failure?
 
 def reap_threads(func):
+    """Use this function when threads are being used.  This will
+    ensure that the threads are cleaned up even when the test fails.
+    If threading is unavailable this function does nothing.
+    """
+    if not thread:
+        return func
+
     @functools.wraps(func)
     def decorator(*args):
         key = threading_setup()

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Tue Apr 27 23:46:03 2010
@@ -109,6 +109,8 @@
 Tests
 -----
 
+- Issue #7449: Fix many tests to support Python compiled without thread support
+
 - Issue #8108: test_ftplib's non-blocking SSL server now has proper handling
   of SSL shutdowns.
 


More information about the Python-checkins mailing list