[pypy-commit] pypy py3.6: remove python2-only slot functions, fix test

mattip pypy.commits at gmail.com
Mon Jun 24 00:04:34 EDT 2019


Author: Matti Picus <matti.picus at gmail.com>
Branch: py3.6
Changeset: r96845:2ee8740e5142
Date: 2019-06-24 07:03 +0300
http://bitbucket.org/pypy/pypy/changeset/2ee8740e5142/

Log:	remove python2-only slot functions, fix test

diff --git a/pypy/module/cpyext/slotdefs.py b/pypy/module/cpyext/slotdefs.py
--- a/pypy/module/cpyext/slotdefs.py
+++ b/pypy/module/cpyext/slotdefs.py
@@ -30,7 +30,7 @@
 from rpython.flowspace.specialcase import register_flow_sc
 from pypy.module.sys.version import CPYTHON_VERSION
 
-PY3 = CPYTHON_VERSION[0] == 3
+PY2 = CPYTHON_VERSION[0] == 2
 
 # XXX: Also defined in object.h
 Py_LT = 0
@@ -849,7 +849,7 @@
 missing_builtin_slots = [
     'tp_print', 'tp_compare', 'tp_getattr', 'tp_setattr', 'tp_setattro',
     'tp_finalize',
-    'tp_richcompare', 'tp_del', 'tp_as_buffer.c_bf_getwritebuffer',
+    'tp_richcompare', 'tp_del',
     'tp_as_number.c_nb_bool', 'tp_as_number.c_nb_coerce',
     'tp_as_number.c_nb_inplace_add', 'tp_as_number.c_nb_inplace_subtract',
     'tp_as_number.c_nb_inplace_multiply', 'tp_as_number.c_nb_inplace_divide',
@@ -863,7 +863,11 @@
     'tp_as_number.c_nb_inplace_matrix_multiply',
     'tp_as_sequence.c_sq_slice', 'tp_as_sequence.c_sq_ass_slice',
     'tp_as_sequence.c_sq_contains',
-    'tp_as_buffer.c_bf_getreadbuffer',
+    ]
+if PY2:
+    missing_builtin_slots += [
+        'tp_as_buffer.c_bf_getreadbuffer',
+        'tp_as_buffer.c_bf_getwritebuffer',
     ]
 for name in missing_builtin_slots:
     slot_factory(name)(make_missing_slot)
@@ -1151,7 +1155,7 @@
     TPSLOT("__buffer__", "tp_as_buffer.c_bf_getbuffer", None, "wrap_getbuffer", ""),
 )
 
-if not PY3:
+if PY2:
     slotdefs += (
         TPSLOT("__rbuffer__", "tp_as_buffer.c_bf_getreadbuffer", None, "wrap_getreadbuffer", ""),
         TPSLOT("__wbuffer__", "tp_as_buffer.c_bf_getwritebuffer", None, "wrap_getwritebuffer", ""),
diff --git a/pypy/module/cpyext/test/test_memoryobject.py b/pypy/module/cpyext/test/test_memoryobject.py
--- a/pypy/module/cpyext/test/test_memoryobject.py
+++ b/pypy/module/cpyext/test/test_memoryobject.py
@@ -49,8 +49,7 @@
         py_obj = make_ref(space, w_obj)
         assert py_obj.c_ob_type.c_tp_as_buffer
         assert py_obj.c_ob_type.c_tp_as_buffer.c_bf_getbuffer
-        assert py_obj.c_ob_type.c_tp_as_buffer.c_bf_getreadbuffer
-        assert py_obj.c_ob_type.c_tp_as_buffer.c_bf_getwritebuffer
+        assert not py_obj.c_ob_type.c_tp_as_buffer.c_bf_releasebuffer
          
 
 class AppTestPyBuffer_FillInfo(AppTestCpythonExtensionBase):


More information about the pypy-commit mailing list