]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Sync up with trunk. Try to flush repeatedly to ensure the exception is raised.
authorNeal Norwitz <nnorwitz@gmail.com>
Sun, 27 Jan 2008 20:08:04 +0000 (20:08 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sun, 27 Jan 2008 20:08:04 +0000 (20:08 +0000)
Lib/test/test_resource.py

index 86c7cc206ab2019b00dc33a48100d938a9c903e0..ac953958b0c22fec70c7f2fe229cf810ce580441 100644 (file)
@@ -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