diff options
author | Brian Curtin <brian@python.org> | 2012-06-18 23:41:07 (GMT) |
---|---|---|
committer | Brian Curtin <brian@python.org> | 2012-06-18 23:41:07 (GMT) |
commit | 0d0a1dedbcf85130885166c066276442c99b3242 (patch) | |
tree | 94500f7941afe77e24282124549c13fc6c440a36 /Lib/test/test_shutil.py | |
parent | e75ff35af2b6c85d48c68b95f295aeac7396b162 (diff) | |
download | cpython-0d0a1dedbcf85130885166c066276442c99b3242.zip cpython-0d0a1dedbcf85130885166c066276442c99b3242.tar.gz cpython-0d0a1dedbcf85130885166c066276442c99b3242.tar.bz2 |
Fix #14772: Return the destination from some shutil functions.
Diffstat (limited to 'Lib/test/test_shutil.py')
-rw-r--r-- | Lib/test/test_shutil.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index 3b4e381..1181520 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -1095,6 +1095,38 @@ class TestShutil(unittest.TestCase): shutil.chown(dirname, user, group) check_chown(dirname, uid, gid) + def test_copy_return_value(self): + # copy and copy2 both return their destination path. + for fn in (shutil.copy, shutil.copy2): + src_dir = self.mkdtemp() + dst_dir = self.mkdtemp() + src = os.path.join(src_dir, 'foo') + write_file(src, 'foo') + rv = fn(src, dst_dir) + self.assertEqual(rv, os.path.join(dst_dir, 'foo')) + rv = fn(src, os.path.join(dst_dir, 'bar')) + self.assertEqual(rv, os.path.join(dst_dir, 'bar')) + + def test_copyfile_return_value(self): + # copytree returns its destination path. + src_dir = self.mkdtemp() + dst_dir = self.mkdtemp() + dst_file = os.path.join(dst_dir, 'bar') + src_file = os.path.join(src_dir, 'foo') + write_file(src_file, 'foo') + rv = shutil.copyfile(src_file, dst_file) + self.assertTrue(os.path.exists(rv)) + self.assertEqual(read_file(src_file), read_file(dst_file)) + + def test_copytree_return_value(self): + # copytree returns its destination path. + src_dir = self.mkdtemp() + dst_dir = src_dir + "dest" + src = os.path.join(src_dir, 'foo') + write_file(src, 'foo') + rv = shutil.copytree(src_dir, dst_dir) + self.assertEqual(['foo'], os.listdir(rv)) + class TestMove(unittest.TestCase): @@ -1251,6 +1283,15 @@ class TestMove(unittest.TestCase): self.assertTrue(os.path.islink(dst_link)) self.assertTrue(os.path.samefile(src, dst_link)) + def test_move_return_value(self): + rv = shutil.move(self.src_file, self.dst_dir) + self.assertEqual(rv, + os.path.join(self.dst_dir, os.path.basename(self.src_file))) + + def test_move_as_rename_return_value(self): + rv = shutil.move(self.src_file, os.path.join(self.dst_dir, 'bar')) + self.assertEqual(rv, os.path.join(self.dst_dir, 'bar')) + class TestCopyFile(unittest.TestCase): |