Issue 6542: Make sure that TestInvalidFD.test_closerange does not
close any valid file descriptors.
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 63f409e..62edd6c 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -617,7 +617,18 @@
def test_closerange(self):
if hasattr(os, "closerange"):
fd = support.make_bad_fd()
- self.assertEqual(os.closerange(fd, fd + 10), None)
+ # Make sure none of the descriptors we are about to close are
+ # currently valid (issue 6542).
+ for i in range(10):
+ try: os.fstat(fd+i)
+ except OSError:
+ pass
+ else:
+ break
+ if i < 2:
+ raise unittest.SkipTest(
+ "Unable to acquire a range of invalid file descriptors")
+ self.assertEqual(os.closerange(fd, fd + i-1), None)
def test_dup2(self):
if hasattr(os, "dup2"):