mirror of https://github.com/python/cpython
Merged revisions 76103 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r76103 | antoine.pitrou | 2009-11-04 01:57:15 +0100 (mer., 04 nov. 2009) | 9 lines Merged revisions 76101 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r76101 | antoine.pitrou | 2009-11-04 01:50:26 +0100 (mer., 04 nov. 2009) | 3 lines Make test_shutil clean up after itself ........ ................
This commit is contained in:
parent
d6fcd562bf
commit
2bb246ac12
|
@ -118,7 +118,7 @@ class TestShutil(unittest.TestCase):
|
||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
os.remove(path)
|
os.remove(path)
|
||||||
for path in (src_dir,
|
for path in (src_dir,
|
||||||
os.path.abspath(os.path.join(dst_dir, os.path.pardir))
|
os.path.dirname(dst_dir)
|
||||||
):
|
):
|
||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
shutil.rmtree(path)
|
shutil.rmtree(path)
|
||||||
|
@ -140,65 +140,69 @@ class TestShutil(unittest.TestCase):
|
||||||
join = os.path.join
|
join = os.path.join
|
||||||
exists = os.path.exists
|
exists = os.path.exists
|
||||||
src_dir = tempfile.mkdtemp()
|
src_dir = tempfile.mkdtemp()
|
||||||
dst_dir = join(tempfile.mkdtemp(), 'destination')
|
|
||||||
write_data(join(src_dir, 'test.txt'), '123')
|
|
||||||
write_data(join(src_dir, 'test.tmp'), '123')
|
|
||||||
os.mkdir(join(src_dir, 'test_dir'))
|
|
||||||
write_data(join(src_dir, 'test_dir', 'test.txt'), '456')
|
|
||||||
os.mkdir(join(src_dir, 'test_dir2'))
|
|
||||||
write_data(join(src_dir, 'test_dir2', 'test.txt'), '456')
|
|
||||||
os.mkdir(join(src_dir, 'test_dir2', 'subdir'))
|
|
||||||
os.mkdir(join(src_dir, 'test_dir2', 'subdir2'))
|
|
||||||
write_data(join(src_dir, 'test_dir2', 'subdir', 'test.txt'), '456')
|
|
||||||
write_data(join(src_dir, 'test_dir2', 'subdir2', 'test.py'), '456')
|
|
||||||
|
|
||||||
|
|
||||||
# testing glob-like patterns
|
|
||||||
try:
|
try:
|
||||||
patterns = shutil.ignore_patterns('*.tmp', 'test_dir2')
|
dst_dir = join(tempfile.mkdtemp(), 'destination')
|
||||||
shutil.copytree(src_dir, dst_dir, ignore=patterns)
|
write_data(join(src_dir, 'test.txt'), '123')
|
||||||
# checking the result: some elements should not be copied
|
write_data(join(src_dir, 'test.tmp'), '123')
|
||||||
self.assertTrue(exists(join(dst_dir, 'test.txt')))
|
os.mkdir(join(src_dir, 'test_dir'))
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test.tmp')))
|
write_data(join(src_dir, 'test_dir', 'test.txt'), '456')
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test_dir2')))
|
os.mkdir(join(src_dir, 'test_dir2'))
|
||||||
|
write_data(join(src_dir, 'test_dir2', 'test.txt'), '456')
|
||||||
|
os.mkdir(join(src_dir, 'test_dir2', 'subdir'))
|
||||||
|
os.mkdir(join(src_dir, 'test_dir2', 'subdir2'))
|
||||||
|
write_data(join(src_dir, 'test_dir2', 'subdir', 'test.txt'), '456')
|
||||||
|
write_data(join(src_dir, 'test_dir2', 'subdir2', 'test.py'), '456')
|
||||||
|
|
||||||
|
|
||||||
|
# testing glob-like patterns
|
||||||
|
try:
|
||||||
|
patterns = shutil.ignore_patterns('*.tmp', 'test_dir2')
|
||||||
|
shutil.copytree(src_dir, dst_dir, ignore=patterns)
|
||||||
|
# checking the result: some elements should not be copied
|
||||||
|
self.assertTrue(exists(join(dst_dir, 'test.txt')))
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test.tmp')))
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test_dir2')))
|
||||||
|
finally:
|
||||||
|
if os.path.exists(dst_dir):
|
||||||
|
shutil.rmtree(dst_dir)
|
||||||
|
try:
|
||||||
|
patterns = shutil.ignore_patterns('*.tmp', 'subdir*')
|
||||||
|
shutil.copytree(src_dir, dst_dir, ignore=patterns)
|
||||||
|
# checking the result: some elements should not be copied
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test.tmp')))
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir2')))
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir')))
|
||||||
|
finally:
|
||||||
|
if os.path.exists(dst_dir):
|
||||||
|
shutil.rmtree(dst_dir)
|
||||||
|
|
||||||
|
# testing callable-style
|
||||||
|
try:
|
||||||
|
def _filter(src, names):
|
||||||
|
res = []
|
||||||
|
for name in names:
|
||||||
|
path = os.path.join(src, name)
|
||||||
|
|
||||||
|
if (os.path.isdir(path) and
|
||||||
|
path.split()[-1] == 'subdir'):
|
||||||
|
res.append(name)
|
||||||
|
elif os.path.splitext(path)[-1] in ('.py'):
|
||||||
|
res.append(name)
|
||||||
|
return res
|
||||||
|
|
||||||
|
shutil.copytree(src_dir, dst_dir, ignore=_filter)
|
||||||
|
|
||||||
|
# checking the result: some elements should not be copied
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir2',
|
||||||
|
'test.py')))
|
||||||
|
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir')))
|
||||||
|
|
||||||
|
finally:
|
||||||
|
if os.path.exists(dst_dir):
|
||||||
|
shutil.rmtree(dst_dir)
|
||||||
finally:
|
finally:
|
||||||
if os.path.exists(dst_dir):
|
shutil.rmtree(src_dir)
|
||||||
shutil.rmtree(dst_dir)
|
shutil.rmtree(os.path.dirname(dst_dir))
|
||||||
try:
|
|
||||||
patterns = shutil.ignore_patterns('*.tmp', 'subdir*')
|
|
||||||
shutil.copytree(src_dir, dst_dir, ignore=patterns)
|
|
||||||
# checking the result: some elements should not be copied
|
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test.tmp')))
|
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir2')))
|
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir')))
|
|
||||||
finally:
|
|
||||||
if os.path.exists(dst_dir):
|
|
||||||
shutil.rmtree(dst_dir)
|
|
||||||
|
|
||||||
# testing callable-style
|
|
||||||
try:
|
|
||||||
def _filter(src, names):
|
|
||||||
res = []
|
|
||||||
for name in names:
|
|
||||||
path = os.path.join(src, name)
|
|
||||||
|
|
||||||
if (os.path.isdir(path) and
|
|
||||||
path.split()[-1] == 'subdir'):
|
|
||||||
res.append(name)
|
|
||||||
elif os.path.splitext(path)[-1] in ('.py'):
|
|
||||||
res.append(name)
|
|
||||||
return res
|
|
||||||
|
|
||||||
shutil.copytree(src_dir, dst_dir, ignore=_filter)
|
|
||||||
|
|
||||||
# checking the result: some elements should not be copied
|
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir2',
|
|
||||||
'test.py')))
|
|
||||||
self.assertTrue(not exists(join(dst_dir, 'test_dir2', 'subdir')))
|
|
||||||
|
|
||||||
finally:
|
|
||||||
if os.path.exists(dst_dir):
|
|
||||||
shutil.rmtree(dst_dir)
|
|
||||||
|
|
||||||
if hasattr(os, "symlink"):
|
if hasattr(os, "symlink"):
|
||||||
def test_dont_copy_file_onto_link_to_itself(self):
|
def test_dont_copy_file_onto_link_to_itself(self):
|
||||||
|
|
Loading…
Reference in New Issue