make sure os.symlink presence is tested before running some shutil tests -- also refactored the tests to use unittest.skipUnless

This commit is contained in:
Tarek Ziadé 2010-04-23 13:03:09 +00:00
parent 14284c2f3b
commit 51a6f72d19
1 changed files with 59 additions and 56 deletions

View File

@ -263,7 +263,7 @@ def _filter(src, names):
shutil.rmtree(src_dir)
shutil.rmtree(os.path.dirname(dst_dir))
if hasattr(os, "symlink"):
@unittest.skipUnless(hasattr(os, 'symlink'), 'requires os.symlink')
def test_dont_copy_file_onto_link_to_itself(self):
# bug 851123.
os.mkdir(TESTFN)
@ -292,6 +292,7 @@ def test_dont_copy_file_onto_link_to_itself(self):
except OSError:
pass
@unittest.skipUnless(hasattr(os, 'symlink'), 'requires os.symlink')
def test_rmtree_on_symlink(self):
# bug 1669.
os.mkdir(TESTFN)
@ -304,7 +305,7 @@ def test_rmtree_on_symlink(self):
finally:
shutil.rmtree(TESTFN, ignore_errors=True)
if hasattr(os, "mkfifo"):
@unittest.skipUnless(hasattr(os, 'mkfifo'), 'requires os.mkfifo')
# Issue #3002: copyfile and copytree block indefinitely on named pipes
def test_copyfile_named_pipe(self):
os.mkfifo(TESTFN)
@ -316,6 +317,7 @@ def test_copyfile_named_pipe(self):
finally:
os.remove(TESTFN)
@unittest.skipUnless(hasattr(os, 'mkfifo'), 'requires os.mkfifo')
def test_copytree_named_pipe(self):
os.mkdir(TESTFN)
try:
@ -351,6 +353,7 @@ def _copy(src, dst):
shutil.copytree(src_dir, dst_dir, copy_function=_copy)
self.assertEquals(len(copied), 2)
@unittest.skipUnless(hasattr(os, 'symlink'), 'requires os.symlink')
def test_copytree_dangling_symlinks(self):
# a dangling symlink raises an error at the end