mirror of
https://github.com/pybind/pybind11.git
synced 2026-03-14 20:27:47 +00:00
Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro (#2349)
* Fail on passing py::object with wrong Python type to py::object subclass using PYBIND11_OBJECT macro * Split off test_non_converting_constructors from test_constructors * Fix test_as_type, as py::type constructor now throws an error itself if the argument is not a type * Replace tp_name access by pybind11::detail::get_fully_qualified_tp_name * Move forward-declaration of get_fully_qualified_tp_name to detail/common.h * Don't add the builtins module name in get_fully_qualified_tp_name for PyPy * Add PYBIND11_BUILTINS_MODULE macro, and use it in get_fully_qualified_tp_name
This commit is contained in:
@@ -59,10 +59,10 @@ def test_type_of_py_nodelete():
|
||||
def test_as_type_py():
|
||||
assert m.as_type(int) == int
|
||||
|
||||
with pytest.raises(RuntimeError):
|
||||
with pytest.raises(TypeError):
|
||||
assert m.as_type(1) == int
|
||||
|
||||
with pytest.raises(RuntimeError):
|
||||
with pytest.raises(TypeError):
|
||||
assert m.as_type(m.DerivedClass1()) == m.DerivedClass1
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user