Author: Jakub Stasiak <ja...@stasiak.at> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit