import io, unittest TESTFN = "hello.txt" class misctests(unittest.TestCase): def testIOErrorOnClose(self): def assertCloseOK(stream): def ioerror(): raise IOError("dummy error again") stream.flush = ioerror self.assertRaises(IOError, stream.close) self.assertEqual(True, stream.closed) assertCloseOK(io.open(TESTFN, "wb", buffering=100)) assertCloseOK(io.open(TESTFN, "rb", buffering=100)) assertCloseOK(io.open(TESTFN, "w+b", buffering=100)) assertCloseOK(io.open(TESTFN, "r", buffering=100)) assertCloseOK(io.open(TESTFN, "w", buffering=100)) assertCloseOK(io.open(TESTFN, "w+", buffering=100)) unittest.main()