[Python-checkins] r65768 - python/trunk/Lib/test/test_os.py
antoine.pitrou
python-checkins at python.org
Sun Aug 17 16:43:41 CEST 2008
Author: antoine.pitrou
Date: Sun Aug 17 16:43:41 2008
New Revision: 65768
Log:
backport r65723: strengthen test_os.test_closerange
Modified:
python/trunk/Lib/test/test_os.py
Modified: python/trunk/Lib/test/test_os.py
==============================================================================
--- python/trunk/Lib/test/test_os.py (original)
+++ python/trunk/Lib/test/test_os.py Sun Aug 17 16:43:41 2008
@@ -24,10 +24,28 @@
self.assert_(os.access(test_support.TESTFN, os.W_OK))
def test_closerange(self):
- f = os.open(test_support.TESTFN, os.O_CREAT|os.O_RDWR)
+ first = os.open(test_support.TESTFN, os.O_CREAT|os.O_RDWR)
+ # We must allocate two consecutive file descriptors, otherwise
+ # it will mess up other file descriptors (perhaps even the three
+ # standard ones).
+ second = os.dup(first)
+ try:
+ retries = 0
+ while second != first + 1:
+ os.close(first)
+ retries += 1
+ if retries > 10:
+ # XXX test skipped
+ print >> sys.stderr, (
+ "couldn't allocate two consecutive fds, "
+ "skipping test_closerange")
+ return
+ first, second = second, os.dup(second)
+ finally:
+ os.close(second)
# close a fd that is open, and one that isn't
- os.closerange(f, f+2)
- self.assertRaises(OSError, os.write, f, "a")
+ os.closerange(first, first + 2)
+ self.assertRaises(OSError, os.write, first, "a")
class TemporaryFileTests(unittest.TestCase):
More information about the Python-checkins
mailing list