backport r67300
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 9ef2a81..378d994 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -1225,6 +1225,9 @@
class MiscIOTest(unittest.TestCase):
+ def tearDown(self):
+ test_support.unlink(test_support.TESTFN)
+
def testImport__all__(self):
for name in io.__all__:
obj = getattr(io, name, None)
@@ -1237,6 +1240,34 @@
self.assert_(issubclass(obj, io.IOBase))
+ def test_attributes(self):
+ f = io.open(test_support.TESTFN, "wb", buffering=0)
+ self.assertEquals(f.mode, "w")
+ f.close()
+
+ f = io.open(test_support.TESTFN, "U")
+ self.assertEquals(f.name, test_support.TESTFN)
+ self.assertEquals(f.buffer.name, test_support.TESTFN)
+ self.assertEquals(f.buffer.raw.name, test_support.TESTFN)
+ self.assertEquals(f.mode, "U")
+ self.assertEquals(f.buffer.mode, "r")
+ self.assertEquals(f.buffer.raw.mode, "r")
+ f.close()
+
+ f = io.open(test_support.TESTFN, "w+")
+ self.assertEquals(f.mode, "w+")
+ self.assertEquals(f.buffer.mode, "r+") # Does it really matter?
+ self.assertEquals(f.buffer.raw.mode, "r+")
+
+ g = io.open(f.fileno(), "wb", closefd=False)
+ self.assertEquals(g.mode, "w")
+ self.assertEquals(g.raw.mode, "w")
+ self.assertEquals(g.name, f.fileno())
+ self.assertEquals(g.raw.name, f.fileno())
+ f.close()
+ g.close()
+
+
def test_main():
test_support.run_unittest(IOTest, BytesIOTest, StringIOTest,
BufferedReaderTest, BufferedWriterTest,