mirror of https://github.com/python/cpython
bpo-30132: distutils BuildExtTestCase use temp_cwd (#1380)
BuildExtTestCase of test_distutils now uses support.temp_cwd() in setUp() to remove files created in the current working in all BuildExtTestCase unit tests, not only test_build_ext(). Move also tearDown() just after setUp().
This commit is contained in:
parent
d4069de511
commit
92fd6c9ef5
|
@ -37,17 +37,28 @@ class BuildExtTestCase(TempdirManager,
|
|||
from distutils.command import build_ext
|
||||
build_ext.USER_BASE = site.USER_BASE
|
||||
|
||||
# bpo-30132: On Windows, a .pdb file may be created in the current
|
||||
# working directory. Create a temporary working directory to cleanup
|
||||
# everything at the end of the test.
|
||||
self.temp_cwd = support.temp_cwd()
|
||||
self.temp_cwd.__enter__()
|
||||
self.addCleanup(self.temp_cwd.__exit__, None, None, None)
|
||||
|
||||
def tearDown(self):
|
||||
# Get everything back to normal
|
||||
support.unload('xx')
|
||||
sys.path = self.sys_path[0]
|
||||
sys.path[:] = self.sys_path[1]
|
||||
import site
|
||||
site.USER_BASE = self.old_user_base
|
||||
from distutils.command import build_ext
|
||||
build_ext.USER_BASE = self.old_user_base
|
||||
super(BuildExtTestCase, self).tearDown()
|
||||
|
||||
def build_ext(self, *args, **kwargs):
|
||||
return build_ext(*args, **kwargs)
|
||||
|
||||
def test_build_ext(self):
|
||||
# bpo-30132: On Windows, a .pdb file may be created in the current
|
||||
# working directory. Create a temporary working directory to cleanup
|
||||
# everything at the end of the test.
|
||||
with support.temp_cwd():
|
||||
self._test_build_ext()
|
||||
|
||||
def _test_build_ext(self):
|
||||
cmd = support.missing_compiler_executable()
|
||||
if cmd is not None:
|
||||
self.skipTest('The %r command is not found' % cmd)
|
||||
|
@ -91,17 +102,6 @@ class BuildExtTestCase(TempdirManager,
|
|||
self.assertIsInstance(xx.Null(), xx.Null)
|
||||
self.assertIsInstance(xx.Str(), xx.Str)
|
||||
|
||||
def tearDown(self):
|
||||
# Get everything back to normal
|
||||
support.unload('xx')
|
||||
sys.path = self.sys_path[0]
|
||||
sys.path[:] = self.sys_path[1]
|
||||
import site
|
||||
site.USER_BASE = self.old_user_base
|
||||
from distutils.command import build_ext
|
||||
build_ext.USER_BASE = self.old_user_base
|
||||
super(BuildExtTestCase, self).tearDown()
|
||||
|
||||
def test_solaris_enable_shared(self):
|
||||
dist = Distribution({'name': 'xx'})
|
||||
cmd = self.build_ext(dist)
|
||||
|
|
Loading…
Reference in New Issue