Author: Jakub Stasiak <[email protected]>
Branch: fix-kqueue-error2
Changeset: r75893:de656c8e19b6
Date: 2015-02-15 10:51 +0100
http://bitbucket.org/pypy/pypy/changeset/de656c8e19b6/
Log: Fix exception being raised by kqueue.control (CPython compatibility)
diff --git a/lib-python/2.7/test/test_kqueue.py
b/lib-python/2.7/test/test_kqueue.py
--- a/lib-python/2.7/test/test_kqueue.py
+++ b/lib-python/2.7/test/test_kqueue.py
@@ -205,6 +205,17 @@
b.close()
kq.close()
+ def test_control_raises_oserror(self):
+ kq = select.kqueue()
+ event = select.kevent(123456, select.KQ_FILTER_READ,
select.KQ_EV_DELETE)
+ with self.assertRaises(OSError) as cm:
+ kq.control([event], 0, 0)
+
+ self.assertEqual(cm.exception.args[0], errno.EBADF)
+ self.assertEqual(cm.exception.errno, errno.EBADF)
+
+ kq.close()
+
def test_main():
test_support.run_unittest(TestKQueue)
diff --git a/pypy/module/select/interp_kqueue.py
b/pypy/module/select/interp_kqueue.py
--- a/pypy/module/select/interp_kqueue.py
+++ b/pypy/module/select/interp_kqueue.py
@@ -201,7 +201,7 @@
max_events,
ptimeout)
if nfds < 0:
- raise exception_from_saved_errno(space,
space.w_IOError)
+ raise exception_from_saved_errno(space,
space.w_OSError)
else:
elist_w = [None] * nfds
for i in xrange(nfds):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit