diff options
author | Tarek Ziade <tarek@ziade.org> | 2011-05-21 13:12:10 (GMT) |
---|---|---|
committer | Tarek Ziade <tarek@ziade.org> | 2011-05-21 13:12:10 (GMT) |
commit | 4bdd9f36a0c1ad8ec0cb95f3a4e014df1e6046a4 (patch) | |
tree | f3aefa411c7813ee4c901f5ba77a980eb704ff33 | |
parent | 2db5674a95fe1a65a3594c3bb5431beced22e240 (diff) | |
download | cpython-4bdd9f36a0c1ad8ec0cb95f3a4e014df1e6046a4.zip cpython-4bdd9f36a0c1ad8ec0cb95f3a4e014df1e6046a4.tar.gz cpython-4bdd9f36a0c1ad8ec0cb95f3a4e014df1e6046a4.tar.bz2 |
fixed the move api in packaging.install, and closing the handle left by mkstemp() in its test module
-rw-r--r-- | Lib/packaging/install.py | 6 | ||||
-rw-r--r-- | Lib/packaging/tests/test_install.py | 16 |
2 files changed, 12 insertions, 10 deletions
diff --git a/Lib/packaging/install.py b/Lib/packaging/install.py index 3904727..92657ea 100644 --- a/Lib/packaging/install.py +++ b/Lib/packaging/install.py @@ -47,10 +47,8 @@ def _move_files(files, destination): destination = tempfile.mkdtemp() for old in files: - # not using os.path.join() because basename() might not be - # unique in destination - new = "%s%s" % (destination, old) - + filename = os.path.split(old)[-1] + new = os.path.join(destination, filename) # try to make the paths. try: os.makedirs(os.path.dirname(new)) diff --git a/Lib/packaging/tests/test_install.py b/Lib/packaging/tests/test_install.py index 7bdee94..01c3dcf 100644 --- a/Lib/packaging/tests/test_install.py +++ b/Lib/packaging/tests/test_install.py @@ -43,16 +43,18 @@ class ToInstallDist: self.version = "fake" if files: for f in range(0, 3): - self._real_files.append(mkstemp()) + fp, fn = mkstemp() + os.close(fp) + self._real_files.append(fn) def _unlink_installed_files(self): if self._files: - for f in self._real_files: - os.unlink(f[1]) + for fn in self._real_files: + os.unlink(fn) def list_installed_files(self, **args): if self._files: - return [f[1] for f in self._real_files] + return self._real_files def get_install(self, **args): return self.list_installed_files() @@ -231,8 +233,10 @@ class TestInstall(LoggingCatcher, TempdirManager, unittest.TestCase): output = [o for o in install._move_files(files, newpath)] # check that output return the list of old/new places - for f in files: - self.assertIn((f, '%s%s' % (newpath, f)), output) + for file_ in files: + name = os.path.split(file_)[-1] + newloc = os.path.join(newpath, name) + self.assertIn((file_, newloc), output) # remove the files for f in [o[1] for o in output]: # o[1] is the new place |