[Python-checkins] r43054 - in python/trunk: Lib/test/test_StringIO.py Misc/NEWS Modules/cStringIO.c

walter.doerwald python-checkins at python.org
Wed Mar 15 23:13:14 CET 2006


Author: walter.doerwald
Date: Wed Mar 15 23:13:13 2006
New Revision: 43054

Modified:
   python/trunk/Lib/test/test_StringIO.py
   python/trunk/Misc/NEWS
   python/trunk/Modules/cStringIO.c
Log:
SF patch #1359365: cStringIO.StringIO.isatty() will raise a ValueError
now if close() has been called before (like file and StringIO.StringIO do)


Modified: python/trunk/Lib/test/test_StringIO.py
==============================================================================
--- python/trunk/Lib/test/test_StringIO.py	(original)
+++ python/trunk/Lib/test/test_StringIO.py	Wed Mar 15 23:13:13 2006
@@ -75,6 +75,13 @@
         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

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Wed Mar 15 23:13:13 2006
@@ -449,6 +449,9 @@
   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

Modified: python/trunk/Modules/cStringIO.c
==============================================================================
--- python/trunk/Modules/cStringIO.c	(original)
+++ python/trunk/Modules/cStringIO.c	Wed Mar 15 23:13:13 2006
@@ -144,7 +144,8 @@
 
 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;
 }
 


More information about the Python-checkins mailing list