Commit b010f547 authored by Tim Peters's avatar Tim Peters

Somewhere along the way, the softspace attr of file objects became read-

only.  Repaired, and added new tests to test_file.py.
parent e00a7537
...@@ -5,6 +5,26 @@ from array import array ...@@ -5,6 +5,26 @@ from array import array
from test.test_support import verify, TESTFN, TestFailed from test.test_support import verify, TESTFN, TestFailed
from UserList import UserList from UserList import UserList
# verify expected attributes exist
f = file(TESTFN, 'w')
softspace = f.softspace
f.name # merely shouldn't blow up
f.mode # ditto
f.closed # ditto
# verify softspace is writable
f.softspace = softspace # merely shouldn't blow up
# verify the others aren't
for attr in 'name', 'mode', 'closed':
try:
setattr(f, attr, 'oops')
except TypeError:
pass
else:
raise TestFailed('expected TypeError setting file attr %r' % attr)
f.close()
# verify writelines with instance sequence # verify writelines with instance sequence
l = UserList(['1', '2']) l = UserList(['1', '2'])
f = open(TESTFN, 'wb') f = open(TESTFN, 'wb')
......
...@@ -12,6 +12,9 @@ What's New in Python 2.3 beta 2? ...@@ -12,6 +12,9 @@ What's New in Python 2.3 beta 2?
Core and builtins Core and builtins
----------------- -----------------
- The softspace attribute of file objects became read-only by oversight.
It's writable again.
Extension modules Extension modules
----------------- -----------------
......
...@@ -1962,7 +1962,8 @@ PyTypeObject PyFile_Type = { ...@@ -1962,7 +1962,8 @@ PyTypeObject PyFile_Type = {
0, /* tp_call */ 0, /* tp_call */
0, /* tp_str */ 0, /* tp_str */
PyObject_GenericGetAttr, /* tp_getattro */ PyObject_GenericGetAttr, /* tp_getattro */
0, /* tp_setattro */ /* softspace is writable: we must supply tp_setattro */
PyObject_GenericSetAttr, /* tp_setattro */
0, /* tp_as_buffer */ 0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
file_doc, /* tp_doc */ file_doc, /* tp_doc */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment