(self)
| 769 | self.assertEqual(actual, '456') |
| 770 | |
| 771 | def test_copytree_dirs_exist_ok(self): |
| 772 | src_dir = self.mkdtemp() |
| 773 | dst_dir = self.mkdtemp() |
| 774 | self.addCleanup(shutil.rmtree, src_dir) |
| 775 | self.addCleanup(shutil.rmtree, dst_dir) |
| 776 | |
| 777 | create_file((src_dir, 'nonexisting.txt'), '123') |
| 778 | os.mkdir(os.path.join(src_dir, 'existing_dir')) |
| 779 | os.mkdir(os.path.join(dst_dir, 'existing_dir')) |
| 780 | create_file((dst_dir, 'existing_dir', 'existing.txt'), 'will be replaced') |
| 781 | create_file((src_dir, 'existing_dir', 'existing.txt'), 'has been replaced') |
| 782 | |
| 783 | shutil.copytree(src_dir, dst_dir, dirs_exist_ok=True) |
| 784 | self.assertTrue(os.path.isfile(os.path.join(dst_dir, 'nonexisting.txt'))) |
| 785 | self.assertTrue(os.path.isdir(os.path.join(dst_dir, 'existing_dir'))) |
| 786 | self.assertTrue(os.path.isfile(os.path.join(dst_dir, 'existing_dir', |
| 787 | 'existing.txt'))) |
| 788 | actual = read_file((dst_dir, 'nonexisting.txt')) |
| 789 | self.assertEqual(actual, '123') |
| 790 | actual = read_file((dst_dir, 'existing_dir', 'existing.txt')) |
| 791 | self.assertEqual(actual, 'has been replaced') |
| 792 | |
| 793 | with self.assertRaises(FileExistsError): |
| 794 | shutil.copytree(src_dir, dst_dir, dirs_exist_ok=False) |
| 795 | |
| 796 | @os_helper.skip_unless_symlink |
| 797 | def test_copytree_symlinks(self): |
nothing calls this directly
no test coverage detected