Merged revisions 82919 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82919 | antoine.pitrou | 2010-07-16 21:10:38 +0200 (ven., 16 juil. 2010) | 4 lines

  Fix possible failure in pickling tests due to different instantiations
  of the random module being around.
........
diff --git a/Lib/test/test_threaded_import.py b/Lib/test/test_threaded_import.py
index 5b96d87..6cedb96 100644
--- a/Lib/test/test_threaded_import.py
+++ b/Lib/test/test_threaded_import.py
@@ -27,6 +27,16 @@
 
 class ThreadedImportTests(unittest.TestCase):
 
+    def setUp(self):
+        self.old_random = sys.modules.pop('random', None)
+
+    def tearDown(self):
+        # If the `random` module was already initialized, we restore the
+        # old module at the end so that pickling tests don't fail.
+        # See http://bugs.python.org/issue3657#msg110461
+        if self.old_random is not None:
+            sys.modules['random'] = self.old_random
+
     def test_parallel_module_init(self):
         if imp.lock_held():
             # This triggers on, e.g., from test import autotest.