From: Senthil Kumaran Date: Thu, 28 Apr 2011 09:08:12 +0000 (+0800) Subject: merge from 3.1 X-Git-Tag: v3.3.0a1~2477^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c20566cdf8b2fc58d5075ded76468d2197181d30;p=python merge from 3.1 --- c20566cdf8b2fc58d5075ded76468d2197181d30 diff --cc Lib/test/test_tarfile.py index e3e140e59e,a086c635ed..f363f701cb --- 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).