Sync up with trunk. Try to flush repeatedly to ensure the exception is raised.

This commit is contained in:
Neal Norwitz 2008-01-27 20:08:04 +00:00
parent 0b11c5fdf6
commit 209ea39d31

View 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:
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