[Python-checkins] cpython: Issue #12333: restore the previous dir before removing the current directory

victor.stinner python-checkins at python.org
Fri Jun 17 12:20:50 CEST 2011


http://hg.python.org/cpython/rev/276530424350
changeset: 70830:276530424350
user: Victor Stinner <victor.stinner at haypocalc.com>
date: Fri Jun 17 12:20:46 2011 +0200
summary:
 Issue #12333: restore the previous dir before removing the current directory
packaging.tests.support.TempdirManager: removing the current directory is not
allowed on Windows or Solaris. Store the current directory and restore it
before removing the temporary directory (which is used as the working directory
during the tests).
files:
 Lib/packaging/tests/support.py | 13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/Lib/packaging/tests/support.py b/Lib/packaging/tests/support.py
--- a/Lib/packaging/tests/support.py
+++ b/Lib/packaging/tests/support.py
@@ -37,7 +37,7 @@
 from packaging import logger
 from packaging.dist import Distribution
 from packaging.tests import unittest
-from test.support import requires_zlib
+from test.support import requires_zlib, unlink
 
 __all__ = ['LoggingCatcher', 'TempdirManager', 'EnvironRestorer',
 'DummyCommand', 'unittest', 'create_distribution',
@@ -121,20 +121,17 @@
 
 def setUp(self):
 super(TempdirManager, self).setUp()
+ self._olddir = os.getcwd()
 self._basetempdir = tempfile.mkdtemp()
 self._files = []
 
 def tearDown(self):
- shutil.rmtree(self._basetempdir, os.name in ('nt', 'cygwin'))
+ os.chdir(self._olddir)
+ shutil.rmtree(self._basetempdir)
 
 for handle, name in self._files:
 handle.close()
- if os.path.exists(name):
- try:
- os.remove(name)
- except OSError as exc:
- if exc.errno != errno.ENOENT:
- raise
+ unlink(name)
 
 super(TempdirManager, self).tearDown()
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /