From: Senthil Kumaran Date: Thu, 28 Apr 2011 09:08:12 +0000 (+0800) Subject: merge from 3.1 X-Git-Tag: v3.2.1b1~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c20566cdf8b2fc58d5075ded76468d2197181d30;p=thirdparty%2FPython%2Fcpython.git merge from 3.1 --- c20566cdf8b2fc58d5075ded76468d2197181d30 diff --cc Lib/test/test_tarfile.py index e3e140e59e48,a086c635eddc..f363f701cb19 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@@ -327,30 -230,26 +327,31 @@@ class MiscReadTest(CommonReadTest) # Test hardlink extraction (e.g. bug #857297). tar = tarfile.open(tarname, errorlevel=1, encoding="iso8859-1") - tar.extract("ustar/regtype", TEMPDIR) try: - tar.extract("ustar/lnktype", TEMPDIR) - except EnvironmentError as e: - if e.errno == errno.ENOENT: - self.fail("hardlink not extracted properly") - - data = open(os.path.join(TEMPDIR, "ustar/lnktype"), "rb").read() - self.assertEqual(md5sum(data), md5_regtype) + tar.extract("ustar/regtype", TEMPDIR) + try: + tar.extract("ustar/lnktype", TEMPDIR) + except EnvironmentError as e: + if e.errno == errno.ENOENT: + self.fail("hardlink not extracted properly") - try: - tar.extract("ustar/symtype", TEMPDIR) - except EnvironmentError as e: - if e.errno == errno.ENOENT: - self.fail("symlink not extracted properly") + with open(os.path.join(TEMPDIR, "ustar/lnktype"), "rb") as f: + data = f.read() + self.assertEqual(md5sum(data), md5_regtype) - data = open(os.path.join(TEMPDIR, "ustar/symtype"), "rb").read() - self.assertEqual(md5sum(data), md5_regtype) + try: + tar.extract("ustar/symtype", TEMPDIR) + except EnvironmentError as e: + if e.errno == errno.ENOENT: + self.fail("symlink not extracted properly") + + with open(os.path.join(TEMPDIR, "ustar/symtype"), "rb") as f: + data = f.read() + self.assertEqual(md5sum(data), md5_regtype) + finally: + tar.close() - @unittest.skipUnless(hasattr(os,'symlink'), "needs os.symlink") ++ @support.skip_unless_symlink def test_extractall(self): # Test if extractall() correctly restores directory permissions # and times (see issue1735).