Index: Lib/test/test_file.py =================================================================== --- Lib/test/test_file.py (revision 77873) +++ Lib/test/test_file.py (working copy) @@ -134,6 +134,41 @@ def testReadWhenWriting(self): self.assertRaises(IOError, self.f.read) + def test_issue_5677(self): + # Remarks: Do not perform more than one test per open file, since that + # does NOT catch the readline error on Windows. Do not use self.open, + # since this does NOT catch the readline error on OpenSolaris. + self.f = open(TESTFN, "w") + self.f.write(u"xxx") + self.assertRaises(IOError, self.f.read) + self.f.close() + + self.f = open(TESTFN, "w") + self.f.write(u"xxx") + self.assertRaises(IOError, self.f.readline) + self.f.close() + + self.f = open(TESTFN, "w") + self.f.write(u"xxx") + self.assertRaises(IOError, self.f.readlines) + self.f.close() + + self.f = open(TESTFN, "wb") + self.f.write(b"xxx") + self.assertRaises(IOError, self.f.read) + self.f.close() + + self.f = open(TESTFN, "wb") + self.f.write(b"xxx") + self.assertRaises(IOError, self.f.readline) + self.f.close() + + self.f = open(TESTFN, "wb") + self.f.write(b"xxx") + self.assertRaises(IOError, self.f.readlines) + self.f.close() + + class CAutoFileTests(AutoFileTests): open = io.open