[Python-Dev] [Python-checkins] r87070 - python/branches/py3k/Lib/test/test_shutil.py (original) (raw)
Brian Curtin brian.curtin at gmail.com
Sun Dec 5 03:08:35 CET 2010
- Previous message: [Python-Dev] [Python-checkins] r87010 - in python/branches/py3k: Doc/library/subprocess.rst Lib/subprocess.py Lib/test/test_subprocess.py
- Next message: [Python-Dev] [Python-checkins] r87070 - python/branches/py3k/Lib/test/test_shutil.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Dec 4, 2010 at 20:04, hirokazu.yamamoto <python-checkins at python.org>wrote:
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/testshutil.py Modified: python/branches/py3k/Lib/test/testshutil.py ============================================================================== --- python/branches/py3k/Lib/test/testshutil.py (original) +++ python/branches/py3k/Lib/test/testshutil.py Sun Dec 5 03:04:16 2010 @@ -271,25 +271,33 @@ shutil.rmtree(srcdir) shutil.rmtree(os.path.dirname(dstdir)) - @unittest.skipUnless(hasattr(os, "symlink"), - "Missing symlink implementation") + @unittest.skipUnless(hasattr(os, 'link'), 'requires os.link') def testdontcopyfileontolinktoitself(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, ignoreerrors=True) + @unittest.skipUnless(hasattr(os, "symlink"), + "Missing symlink implementation") + def testdontcopyfileontosymlinktoitself(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, ignoreerrors=True) @unittest.skipUnless(hasattr(os, "symlink"), "Missing symlink implementation")
Python-checkins mailing list Python-checkins at python.org http://mail.python.org/mailman/listinfo/python-checkins
I created #10540 for this issue, but the patch I have on there is just a bad hack. I need to fix os.path.samefile for hard links, which might be easier if we keep st_ino data in stat structures on Windows. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20101204/f2ab10c2/attachment.html>
- Previous message: [Python-Dev] [Python-checkins] r87010 - in python/branches/py3k: Doc/library/subprocess.rst Lib/subprocess.py Lib/test/test_subprocess.py
- Next message: [Python-Dev] [Python-checkins] r87070 - python/branches/py3k/Lib/test/test_shutil.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]