From: Neal Norwitz Date: Sun, 27 Jan 2008 20:08:04 +0000 (+0000) Subject: Sync up with trunk. Try to flush repeatedly to ensure the exception is raised. X-Git-Tag: v2.5.2c1~39 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=209ea39d31288c7446601c583bbb7ed55bb2a3d9;p=thirdparty%2FPython%2Fcpython.git Sync up with trunk. Try to flush repeatedly to ensure the exception is raised. --- diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py index 86c7cc206ab2..ac953958b0c2 100644 --- a/Lib/test/test_resource.py +++ b/Lib/test/test_resource.py @@ -1,7 +1,7 @@ import os import resource -from test.test_support import TESTFN +from test.test_support import TESTFN, unlink # This test is checking a few specific problem spots. RLIMIT_FSIZE # should be RLIM_INFINITY, which will be a really big number on a @@ -38,17 +38,19 @@ try: f.flush() # On some systems (e.g., Ubuntu on hppa) the flush() # doesn't always cause the exception, but the close() - # does eventually. Try closing several times in an attempt + # does eventually. Try flushing several times in an attempt # to ensure the file is really synced and the exception raised. for i in range(5): - f.close() + time.sleep(.1) + f.flush() except IOError: if not limit_set: raise f.close() - os.unlink(TESTFN) finally: - resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max)) + if limit_set: + resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max)) + unlink(TESTFN) # And be sure that setrlimit is checking for really large values too_big = 10L**50