From 197e8321c659d8dd22851363bbcebd98092ed2c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Walter=20D=C3=B6rwald?= Date: Wed, 15 Mar 2006 22:13:13 +0000 Subject: SF patch #1359365: cStringIO.StringIO.isatty() will raise a ValueError now if close() has been called before (like file and StringIO.StringIO do) --- Lib/test/test_StringIO.py | 7 +++++++ Misc/NEWS | 3 +++ Modules/cStringIO.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_StringIO.py b/Lib/test/test_StringIO.py index a2e5444..cc3367f 100644 --- a/Lib/test/test_StringIO.py +++ b/Lib/test/test_StringIO.py @@ -75,6 +75,13 @@ class TestGenericStringIO(unittest.TestCase): f.close() self.assertEqual(f.closed, True) + def test_isatty(self): + f = self.MODULE.StringIO() + self.assertRaises(TypeError, f.isatty, None) + self.assertEqual(f.isatty(), False) + f.close() + self.assertRaises(ValueError, f.isatty) + def test_iterator(self): eq = self.assertEqual unless = self.failUnless diff --git a/Misc/NEWS b/Misc/NEWS index 47da68c..820ae4a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -449,6 +449,9 @@ Library codecs.getincrementaldecoder() and codecs.getincrementalencoder() have been added. +- SF patch #1359365: cStringIO.StringIO.isatty() will raise a ValueError + now if close() has been called before (like file and StringIO.StringIO do) + - A regrtest option -w was added to re-run failed tests in verbose mode. - Patch #1446372: quit and exit can now be called from the interactive diff --git a/Modules/cStringIO.c b/Modules/cStringIO.c index fd28aa9..bdc9f00 100644 --- a/Modules/cStringIO.c +++ b/Modules/cStringIO.c @@ -144,7 +144,8 @@ PyDoc_STRVAR(IO_isatty__doc__, "isatty(): always returns 0"); static PyObject * IO_isatty(IOobject *self, PyObject *unused) { - Py_INCREF(Py_False); + if (!IO__opencheck(self)) return NULL; + Py_INCREF(Py_False); return Py_False; } -- cgit v0.12