mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
Merged revisions 69100 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r69100 | antoine.pitrou | 2009-01-29 21:19:34 +0100 (jeu., 29 janv. 2009) | 5 lines Issue #2047: shutil.move() could believe that its destination path was inside its source path if it began with the same letters (e.g. "src" vs. "src.new"). ........
This commit is contained in:
parent
891f2631f5
commit
0dcc3cdca5
3 changed files with 33 additions and 1 deletions
|
@ -340,7 +340,29 @@ class TestMove(unittest.TestCase):
|
|||
dst = os.path.join(self.src_dir, "bar")
|
||||
self.assertRaises(shutil.Error, shutil.move, self.src_dir, dst)
|
||||
|
||||
def test_destinsrc_false_negative(self):
|
||||
os.mkdir(TESTFN)
|
||||
try:
|
||||
for src, dst in [('srcdir', 'srcdir/dest')]:
|
||||
src = os.path.join(TESTFN, src)
|
||||
dst = os.path.join(TESTFN, dst)
|
||||
self.assert_(shutil.destinsrc(src, dst),
|
||||
msg='destinsrc() wrongly concluded that '
|
||||
'dst (%s) is not in src (%s)' % (dst, src))
|
||||
finally:
|
||||
shutil.rmtree(TESTFN, ignore_errors=True)
|
||||
|
||||
def test_destinsrc_false_positive(self):
|
||||
os.mkdir(TESTFN)
|
||||
try:
|
||||
for src, dst in [('srcdir', 'src/dest'), ('srcdir', 'srcdir.new')]:
|
||||
src = os.path.join(TESTFN, src)
|
||||
dst = os.path.join(TESTFN, dst)
|
||||
self.failIf(shutil.destinsrc(src, dst),
|
||||
msg='destinsrc() wrongly concluded that '
|
||||
'dst (%s) is in src (%s)' % (dst, src))
|
||||
finally:
|
||||
shutil.rmtree(TESTFN, ignore_errors=True)
|
||||
|
||||
def test_main():
|
||||
support.run_unittest(TestShutil, TestMove)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue