[Python-checkins] r69586 - in python/branches/release26-maint: Lib/distutils/tests/test_build_ext.py

tarek.ziade python-checkins at python.org
Fri Feb 13 17:20:24 CET 2009


Author: tarek.ziade
Date: Fri Feb 13 17:20:24 2009
New Revision: 69586

Log:
Merged revisions 69585 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69585 | tarek.ziade | 2009-02-13 17:13:16 +0100 (Fri, 13 Feb 2009) | 1 line
  
  reverted leak fix, to use the one done in py3k branch (r67382)
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py

Modified: python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py
==============================================================================
--- python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py	(original)
+++ python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py	Fri Feb 13 17:20:24 2009
@@ -1,5 +1,6 @@
 import sys
 import os
+import tempfile
 import shutil
 from StringIO import StringIO
 
@@ -10,12 +11,15 @@
 import unittest
 from test import test_support
 
+# http://bugs.python.org/issue4373
+# Don't load the xx module more than once.
+ALREADY_TESTED = False
+
 class BuildExtTestCase(unittest.TestCase):
     def setUp(self):
         # Create a simple test environment
         # Note that we're making changes to sys.path
-        self.tmp_dir = os.path.join(os.path.dirname(__file__), 'xx')
-        os.mkdir(self.tmp_dir)
+        self.tmp_dir = tempfile.mkdtemp(prefix="pythontest_")
         self.sys_path = sys.path[:]
         sys.path.append(self.tmp_dir)
 
@@ -23,6 +27,7 @@
         shutil.copy(xx_c, self.tmp_dir)
 
     def test_build_ext(self):
+        global ALREADY_TESTED
         xx_c = os.path.join(self.tmp_dir, 'xxmodule.c')
         xx_ext = Extension('xx', [xx_c])
         dist = Distribution({'name': 'xx', 'ext_modules': [xx_ext]})
@@ -45,6 +50,11 @@
         finally:
             sys.stdout = old_stdout
 
+        if ALREADY_TESTED:
+            return
+        else:
+            ALREADY_TESTED = True
+
         import xx
 
         for attr in ('error', 'foo', 'new', 'roj'):


More information about the Python-checkins mailing list