mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
disable dynamic attribute test on pypy
This commit is contained in:
parent
a3fec901b8
commit
64cb699e8a
@ -785,6 +785,11 @@ protected:
|
||||
|
||||
/* Support dynamic attributes */
|
||||
if (rec->dynamic_attr) {
|
||||
#if defined(PYPY_VERSION)
|
||||
pybind11_fail(std::string(rec->name) + ": dynamic attributes are "
|
||||
"currently not supported in "
|
||||
"conunction with PyPy!");
|
||||
#endif
|
||||
type->ht_type.tp_flags |= Py_TPFLAGS_HAVE_GC;
|
||||
type->ht_type.tp_dictoffset = type->ht_type.tp_basicsize; // place the dict at the end
|
||||
type->ht_type.tp_basicsize += sizeof(PyObject *); // and allocate enough space for it
|
||||
|
@ -176,9 +176,11 @@ test_initializer methods_and_attributes([](py::module &m) {
|
||||
.def_property_readonly("rvalue", &TestPropRVP::get_rvalue)
|
||||
.def_property_readonly_static("static_rvalue", [](py::object) { return SimpleValue(); });
|
||||
|
||||
#if !defined(PYPY_VERSION)
|
||||
py::class_<DynamicClass>(m, "DynamicClass", py::dynamic_attr())
|
||||
.def(py::init());
|
||||
|
||||
py::class_<CppDerivedDynamicClass, DynamicClass>(m, "CppDerivedDynamicClass")
|
||||
.def(py::init());
|
||||
#endif
|
||||
});
|
||||
|
@ -180,6 +180,8 @@ def test_dynamic_attributes():
|
||||
assert cstats.alive() == 0
|
||||
|
||||
|
||||
# https://bitbucket.org/pypy/pypy/issues/2447
|
||||
@pytest.unsupported_on_pypy
|
||||
def test_cyclic_gc():
|
||||
from pybind11_tests import DynamicClass
|
||||
|
||||
|
@ -57,6 +57,7 @@ test_initializer pickling([](py::module &m) {
|
||||
p.setExtra2(t[2].cast<int>());
|
||||
});
|
||||
|
||||
#if !defined(PYPY_VERSION)
|
||||
py::class_<PickleableWithDict>(m, "PickleableWithDict", py::dynamic_attr())
|
||||
.def(py::init<std::string>())
|
||||
.def_readwrite("value", &PickleableWithDict::value)
|
||||
@ -78,4 +79,5 @@ test_initializer pickling([](py::module &m) {
|
||||
/* Assign Python state */
|
||||
self.attr("__dict__") = t[2];
|
||||
});
|
||||
#endif
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user