[Python-checkins] r87070 - python/branches/py3k/Lib/test/test_shutil.py
hirokazu.yamamoto
python-checkins at python.org
Sun Dec 5 03:04:17 CET 2010
Author: hirokazu.yamamoto
Date: Sun Dec 5 03:04:16 2010
New Revision: 87070
Log:
Now can reproduce the error on AMD64 Windows Server 2008
even where os.symlink is not supported.
Modified:
python/branches/py3k/Lib/test/test_shutil.py
Modified: python/branches/py3k/Lib/test/test_shutil.py
==============================================================================
--- python/branches/py3k/Lib/test/test_shutil.py (original)
+++ python/branches/py3k/Lib/test/test_shutil.py Sun Dec 5 03:04:16 2010
@@ -271,25 +271,33 @@
shutil.rmtree(src_dir)
shutil.rmtree(os.path.dirname(dst_dir))
- @unittest.skipUnless(hasattr(os, "symlink"),
- "Missing symlink implementation")
+ @unittest.skipUnless(hasattr(os, 'link'), 'requires os.link')
def test_dont_copy_file_onto_link_to_itself(self):
# bug 851123.
os.mkdir(TESTFN)
src = os.path.join(TESTFN, 'cheese')
dst = os.path.join(TESTFN, 'shop')
try:
- f = open(src, 'w')
- f.write('cheddar')
- f.close()
-
- if hasattr(os, "link"):
- os.link(src, dst)
- self.assertRaises(shutil.Error, shutil.copyfile, src, dst)
- with open(src, 'r') as f:
- self.assertEqual(f.read(), 'cheddar')
- os.remove(dst)
+ with open(src, 'w') as f:
+ f.write('cheddar')
+ os.link(src, dst)
+ self.assertRaises(shutil.Error, shutil.copyfile, src, dst)
+ with open(src, 'r') as f:
+ self.assertEqual(f.read(), 'cheddar')
+ os.remove(dst)
+ finally:
+ shutil.rmtree(TESTFN, ignore_errors=True)
+ @unittest.skipUnless(hasattr(os, "symlink"),
+ "Missing symlink implementation")
+ def test_dont_copy_file_onto_symlink_to_itself(self):
+ # bug 851123.
+ os.mkdir(TESTFN)
+ src = os.path.join(TESTFN, 'cheese')
+ dst = os.path.join(TESTFN, 'shop')
+ try:
+ with open(src, 'w') as f:
+ f.write('cheddar')
# Using `src` here would mean we end up with a symlink pointing
# to TESTFN/TESTFN/cheese, while it should point at
# TESTFN/cheese.
@@ -299,10 +307,7 @@
self.assertEqual(f.read(), 'cheddar')
os.remove(dst)
finally:
- try:
- shutil.rmtree(TESTFN)
- except OSError:
- pass
+ shutil.rmtree(TESTFN, ignore_errors=True)
@unittest.skipUnless(hasattr(os, "symlink"),
"Missing symlink implementation")
More information about the Python-checkins
mailing list