From: Nick Coghlan Date: Tue, 24 Jul 2007 14:39:23 +0000 (+0000) Subject: Try to get rid of spurious failure in test_resource on the Debian buildbots by changi... X-Git-Tag: v2.6a1~1548 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=12adef9b8b44f0535cfb5c30437541ef67327b17;p=python Try to get rid of spurious failure in test_resource on the Debian buildbots by changing the file size limit before attempting to close the file --- diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py index d1fd230ba8..16e360f1a8 100644 --- a/Lib/test/test_resource.py +++ b/Lib/test/test_resource.py @@ -49,17 +49,24 @@ class ResourceTest(unittest.TestCase): except ValueError: limit_set = False f = open(test_support.TESTFN, "wb") - f.write("X" * 1024) try: - f.write("Y") - f.flush() - except IOError: - if not limit_set: - raise - f.close() - os.unlink(test_support.TESTFN) + f.write("X" * 1024) + try: + f.write("Y") + f.flush() + except IOError: + if not limit_set: + raise + if limit_set: + # Close will attempt to flush the byte we wrote + # Restore limit first to avoid getting a spurious error + resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max)) + finally: + f.close() + os.unlink(test_support.TESTFN) finally: - resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max)) + if limit_set: + resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max)) def test_fsize_toobig(self): # Be sure that setrlimit is checking for really large values