Author: Armin Rigo <[email protected]>
Branch: cpyext-avoid-roundtrip
Changeset: r92718:67a15f1e9e7b
Date: 2017-10-11 15:01 +0200
http://bitbucket.org/pypy/pypy/changeset/67a15f1e9e7b/

Log:    fix tests

diff --git a/pypy/module/cpyext/test/test_classobject.py 
b/pypy/module/cpyext/test/test_classobject.py
--- a/pypy/module/cpyext/test/test_classobject.py
+++ b/pypy/module/cpyext/test/test_classobject.py
@@ -5,6 +5,7 @@
     PyClass_Check, PyClass_New, PyInstance_Check, PyInstance_New,
     PyInstance_NewRaw, _PyInstance_Lookup)
 from pypy.module.cpyext.object import PyObject_GetAttr
+from pypy.module.cpyext.pyobject import get_w_obj_and_decref
 
 class TestClassObject(BaseApiTest):
     def test_newinstance(self, space):
@@ -44,13 +45,14 @@
         """)
 
         assert PyInstance_Check(space, w_instance)
-        assert PyObject_GetAttr(space, w_instance, space.wrap('x')) is 
space.w_None
+        py_obj = PyObject_GetAttr(space, w_instance, space.wrap('x'))
+        assert get_w_obj_and_decref(space, py_obj) is space.w_None
         assert _PyInstance_Lookup(space, w_instance, space.wrap('x')) is 
space.w_None
         assert _PyInstance_Lookup(space, w_instance, space.wrap('y')) is None
 
         # getattr returns a bound method
-        assert not isinstance(
-            PyObject_GetAttr(space, w_instance, space.wrap('f')), Function)
+        py_obj = PyObject_GetAttr(space, w_instance, space.wrap('f'))
+        assert not isinstance(get_w_obj_and_decref(space, py_obj), Function)
         # _PyInstance_Lookup returns the raw descriptor
         assert isinstance(
             _PyInstance_Lookup(space, w_instance, space.wrap('f')), Function)
diff --git a/pypy/module/cpyext/test/test_eval.py 
b/pypy/module/cpyext/test/test_eval.py
--- a/pypy/module/cpyext/test/test_eval.py
+++ b/pypy/module/cpyext/test/test_eval.py
@@ -14,6 +14,7 @@
     _PyEval_SliceIndex)
 from pypy.module.cpyext.api import (
     c_fopen, c_fclose, c_fileno, Py_ssize_tP, is_valid_fd)
+from pypy.module.cpyext.pyobject import get_w_obj_and_decref
 from pypy.interpreter.gateway import interp2app
 from pypy.interpreter.error import OperationError
 from pypy.interpreter.astcompiler import consts
@@ -117,8 +118,8 @@
 
         assert run("a = 42 * 43", Py_single_input,
                    w_globals, w_globals) == space.w_None
-        assert 42 * 43 == space.unwrap(
-            PyObject_GetItem(space, w_globals, space.wrap("a")))
+        py_obj = PyObject_GetItem(space, w_globals, space.wrap("a"))
+        assert 42 * 43 == space.unwrap(get_w_obj_and_decref(space, py_obj))
 
     def test_run_string_flags(self, space):
         flags = lltype.malloc(PyCompilerFlags, flavor='raw')
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to