Commit 28091832 authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

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().
parent 9381f65a
...@@ -37,17 +37,28 @@ class BuildExtTestCase(TempdirManager, ...@@ -37,17 +37,28 @@ class BuildExtTestCase(TempdirManager,
from distutils.command import build_ext from distutils.command import build_ext
build_ext.USER_BASE = site.USER_BASE build_ext.USER_BASE = site.USER_BASE
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 # bpo-30132: On Windows, a .pdb file may be created in the current
# working directory. Create a temporary working directory to cleanup # working directory. Create a temporary working directory to cleanup
# everything at the end of the test. # everything at the end of the test.
with support.temp_cwd(): self.temp_cwd = support.temp_cwd()
self._test_build_ext() 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 _test_build_ext(self): def build_ext(self, *args, **kwargs):
return build_ext(*args, **kwargs)
def test_build_ext(self):
cmd = support.missing_compiler_executable() cmd = support.missing_compiler_executable()
if cmd is not None: if cmd is not None:
self.skipTest('The %r command is not found' % cmd) self.skipTest('The %r command is not found' % cmd)
...@@ -91,17 +102,6 @@ class BuildExtTestCase(TempdirManager, ...@@ -91,17 +102,6 @@ class BuildExtTestCase(TempdirManager,
self.assertIsInstance(xx.Null(), xx.Null) self.assertIsInstance(xx.Null(), xx.Null)
self.assertIsInstance(xx.Str(), xx.Str) 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): def test_solaris_enable_shared(self):
dist = Distribution({'name': 'xx'}) dist = Distribution({'name': 'xx'})
cmd = self.build_ext(dist) cmd = self.build_ext(dist)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment