mirror of
https://github.com/python/cpython.git
synced 2025-08-19 16:20:59 +00:00
Merged revisions 83031 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint ................ r83031 | antoine.pitrou | 2010-07-21 18:47:28 +0200 (mer., 21 juil. 2010) | 11 lines Merged revisions 83030 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83030 | antoine.pitrou | 2010-07-21 18:41:31 +0200 (mer., 21 juil. 2010) | 5 lines Issue #5395: check that array.fromfile() re-raises an IOError instead of replacing it with EOFError. (this is only an added test, but 2.x will get a fix too) ........ ................
This commit is contained in:
parent
f247101a4c
commit
ea435512ea
4 changed files with 24 additions and 2 deletions
|
@ -188,6 +188,17 @@ class BaseTest(unittest.TestCase):
|
||||||
f.close()
|
f.close()
|
||||||
test_support.unlink(test_support.TESTFN)
|
test_support.unlink(test_support.TESTFN)
|
||||||
|
|
||||||
|
def test_fromfile_ioerror(self):
|
||||||
|
# Issue #5395: Check if fromfile raises a proper IOError
|
||||||
|
# instead of EOFError.
|
||||||
|
a = array.array(self.typecode)
|
||||||
|
f = open(test_support.TESTFN, 'wb')
|
||||||
|
try:
|
||||||
|
self.assertRaises(IOError, a.fromfile, f, len(self.example))
|
||||||
|
finally:
|
||||||
|
f.close()
|
||||||
|
test_support.unlink(test_support.TESTFN)
|
||||||
|
|
||||||
def test_tofromlist(self):
|
def test_tofromlist(self):
|
||||||
a = array.array(self.typecode, 2*self.example)
|
a = array.array(self.typecode, 2*self.example)
|
||||||
b = array.array(self.typecode)
|
b = array.array(self.typecode)
|
||||||
|
|
|
@ -328,6 +328,7 @@ Rob Hooft
|
||||||
Brian Hooper
|
Brian Hooper
|
||||||
Randall Hopper
|
Randall Hopper
|
||||||
Nadav Horesh
|
Nadav Horesh
|
||||||
|
Jan Hosang
|
||||||
Ken Howard
|
Ken Howard
|
||||||
Brad Howes
|
Brad Howes
|
||||||
Chih-Hao Huang
|
Chih-Hao Huang
|
||||||
|
|
|
@ -81,6 +81,10 @@ C-API
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #5395: array.fromfile() would raise a spurious EOFError when an
|
||||||
|
I/O error occurred. Now an IOError is raised instead. Patch by chuck
|
||||||
|
(Jan Hosang).
|
||||||
|
|
||||||
- Issue #1555570: email no longer inserts extra blank lines when a \r\n
|
- Issue #1555570: email no longer inserts extra blank lines when a \r\n
|
||||||
combo crosses an 8192 byte boundary.
|
combo crosses an 8192 byte boundary.
|
||||||
|
|
||||||
|
|
|
@ -1262,8 +1262,14 @@ array_fromfile(arrayobject *self, PyObject *args)
|
||||||
PyMem_RESIZE(item, char, Py_SIZE(self)*itemsize);
|
PyMem_RESIZE(item, char, Py_SIZE(self)*itemsize);
|
||||||
self->ob_item = item;
|
self->ob_item = item;
|
||||||
self->allocated = Py_SIZE(self);
|
self->allocated = Py_SIZE(self);
|
||||||
|
if (ferror(fp)) {
|
||||||
|
PyErr_SetFromErrno(PyExc_IOError);
|
||||||
|
clearerr(fp);
|
||||||
|
}
|
||||||
|
else {
|
||||||
PyErr_SetString(PyExc_EOFError,
|
PyErr_SetString(PyExc_EOFError,
|
||||||
"not enough items in file");
|
"not enough items in file");
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue