[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

AltStyle によって変換されたページ (->オリジナル) /