Author: Ronan Lamy <ronan.l...@gmail.com> Branch: py3.5 Changeset: r93454:774bffb126ce Date: 2017-12-17 22:14 +0000 http://bitbucket.org/pypy/pypy/changeset/774bffb126ce/
Log: hg merge default diff --git a/pypy/module/cpyext/pyerrors.py b/pypy/module/cpyext/pyerrors.py --- a/pypy/module/cpyext/pyerrors.py +++ b/pypy/module/cpyext/pyerrors.py @@ -154,7 +154,7 @@ error indicator.""" raise oefmt(space.w_TypeError, "bad argument type for built-in operation") -@cpython_api([], lltype.Void) +@cpython_api([], lltype.Void, error=None) def PyErr_BadInternalCall(space): raise oefmt(space.w_SystemError, "Bad internal call!") diff --git a/pypy/module/cpyext/test/test_pyerrors.py b/pypy/module/cpyext/test/test_pyerrors.py --- a/pypy/module/cpyext/test/test_pyerrors.py +++ b/pypy/module/cpyext/test/test_pyerrors.py @@ -463,3 +463,15 @@ ]) res = module.test(StopIteration("foo!")) assert res == "foo!" + + def test_PyErr_BadInternalCall(self): + # NB. it only seemed to fail when run with '-s'... but I think + # that it always printed stuff to stderr + module = self.import_extension('foo', [ + ("oops", "METH_NOARGS", + r''' + PyErr_BadInternalCall(); + return NULL; + '''), + ]) + raises(SystemError, module.oops) diff --git a/pypy/module/cpyext/test/test_tupleobject.py b/pypy/module/cpyext/test/test_tupleobject.py --- a/pypy/module/cpyext/test/test_tupleobject.py +++ b/pypy/module/cpyext/test/test_tupleobject.py @@ -1,6 +1,7 @@ import py -from pypy.module.cpyext.pyobject import PyObject, PyObjectP, make_ref, from_ref +from pypy.module.cpyext.pyobject import ( + PyObject, PyObjectP, make_ref, from_ref, incref) from pypy.module.cpyext.test.test_api import BaseApiTest, raises_w from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase from rpython.rtyper.lltypesystem import rffi, lltype @@ -14,6 +15,7 @@ def test_tupleobject(self, space): assert not PyTuple_Check(space, space.w_None) with raises_w(space, SystemError): + incref(space, space.w_None) PyTuple_SetItem(space, space.w_None, 0, space.w_None) atuple = space.newtuple([space.wrap(0), space.wrap(1), space.wrap('yay')]) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit