Moving tp_class access, and consistent fully-qualified naming for PyPy, to detail::get_tp_name (#2520)
* Moving tp_class access, and consistent fully-qualified naming for PyPy, to detail::get_tp_name
* Change get_tp_name to get_fully_qualified_tp_name
diff --git a/tests/test_class.py b/tests/test_class.py
index 64f4941..fb061d1 100644
--- a/tests/test_class.py
+++ b/tests/test_class.py
@@ -152,10 +152,8 @@
pass
with pytest.raises(TypeError) as exc_info:
Python()
- expected = ["m.class_.Pet.__init__() must be called when overriding __init__",
- "Pet.__init__() must be called when overriding __init__"] # PyPy?
- # TODO: fix PyPy error message wrt. tp_name/__qualname__?
- assert msg(exc_info.value) in expected
+ expected = "m.class_.Pet.__init__() must be called when overriding __init__"
+ assert msg(exc_info.value) == expected
# Multiple bases
class RabbitHamster(m.Rabbit, m.Hamster):
@@ -164,9 +162,8 @@
with pytest.raises(TypeError) as exc_info:
RabbitHamster()
- expected = ["m.class_.Hamster.__init__() must be called when overriding __init__",
- "Hamster.__init__() must be called when overriding __init__"] # PyPy
- assert msg(exc_info.value) in expected
+ expected = "m.class_.Hamster.__init__() must be called when overriding __init__"
+ assert msg(exc_info.value) == expected
def test_automatic_upcasting():
diff --git a/tests/test_local_bindings.py b/tests/test_local_bindings.py
index 5460727..ebc4873 100644
--- a/tests/test_local_bindings.py
+++ b/tests/test_local_bindings.py
@@ -155,7 +155,7 @@
assert m.local_cpp_types_addr() != cm.local_cpp_types_addr()
-@pytest.mark.xfail("env.PYPY")
+@pytest.mark.xfail("env.PYPY and sys.pypy_version_info < (7, 3, 2)")
def test_stl_caster_vs_stl_bind(msg):
"""One module uses a generic vector caster from `<pybind11/stl.h>` while the other
exports `std::vector<int>` via `py:bind_vector` and `py::module_local`"""