From: Kristján Valur Jónsson Date: Mon, 19 Jan 2009 13:10:27 +0000 (+0000) Subject: Issue 4957 X-Git-Tag: v2.7a1~2254 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e659ce36f9f48abc7515f83037274fbfb1f779e;p=python Issue 4957 Let os.ftruncate raise OSError like documented. --- diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 2c9d9bff69..5c94d7dbf8 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -570,10 +570,9 @@ class TestInvalidFD(unittest.TestCase): if hasattr(os, "fpathconf"): self.assertRaises(OSError, os.fpathconf, 10, "PC_NAME_MAX") - #this is a weird one, it raises IOError unlike the others def test_ftruncate(self): if hasattr(os, "ftruncate"): - self.assertRaises(IOError, os.ftruncate, 10, 0) + self.assertRaises(OSError, os.ftruncate, 10, 0) def test_lseek(self): if hasattr(os, "lseek"): diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index a1c344465d..915d30d3df 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -6633,7 +6633,7 @@ posix_ftruncate(PyObject *self, PyObject *args) res = ftruncate(fd, length); Py_END_ALLOW_THREADS if (res < 0) { - PyErr_SetFromErrno(PyExc_IOError); + posix_error(); return NULL; } Py_INCREF(Py_None);