mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-21 12:45:11 +00:00
Skip transient tests on GraalPy (#5422)
This commit is contained in:
parent
f7e14e985b
commit
75e48c5f95
@ -190,6 +190,7 @@ def test_alive_gc_multi_derived(capture):
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_return_none(capture):
|
||||
n_inst = ConstructorStats.detail_reg_inst()
|
||||
with capture:
|
||||
@ -217,6 +218,7 @@ def test_return_none(capture):
|
||||
assert capture == "Releasing parent."
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_keep_alive_constructor(capture):
|
||||
n_inst = ConstructorStats.detail_reg_inst()
|
||||
|
||||
|
@ -27,6 +27,9 @@ def test_instance(msg):
|
||||
|
||||
instance = m.NoConstructor.new_instance()
|
||||
|
||||
if env.GRAALPY:
|
||||
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||
|
||||
cstats = ConstructorStats.get(m.NoConstructor)
|
||||
assert cstats.alive() == 1
|
||||
del instance
|
||||
@ -35,6 +38,10 @@ def test_instance(msg):
|
||||
|
||||
def test_instance_new():
|
||||
instance = m.NoConstructorNew() # .__new__(m.NoConstructor.__class__)
|
||||
|
||||
if env.GRAALPY:
|
||||
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||
|
||||
cstats = ConstructorStats.get(m.NoConstructorNew)
|
||||
assert cstats.alive() == 1
|
||||
del instance
|
||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
import env # noqa: F401
|
||||
from pybind11_tests import copy_move_policies as m
|
||||
|
||||
|
||||
@ -17,6 +18,7 @@ def test_lacking_move_ctor():
|
||||
assert "is neither movable nor copyable!" in str(excinfo.value)
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_move_and_copy_casts():
|
||||
"""Cast some values in C++ via custom type casters and count the number of moves/copies."""
|
||||
|
||||
@ -44,6 +46,7 @@ def test_move_and_copy_casts():
|
||||
assert c_m.alive() + c_mc.alive() + c_c.alive() == 0
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_move_and_copy_loads():
|
||||
"""Call some functions that load arguments via custom type casters and count the number of
|
||||
moves/copies."""
|
||||
@ -77,6 +80,7 @@ def test_move_and_copy_loads():
|
||||
|
||||
|
||||
@pytest.mark.skipif(not m.has_optional, reason="no <optional>")
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_move_and_copy_load_optional():
|
||||
"""Tests move/copy loads of std::optional arguments"""
|
||||
|
||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
import env # noqa: F401
|
||||
from pybind11_tests import custom_type_casters as m
|
||||
|
||||
|
||||
@ -94,6 +95,7 @@ def test_noconvert_args(msg):
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def test_custom_caster_destruction():
|
||||
"""Tests that returning a pointer to a type that gets converted with a custom type caster gets
|
||||
destroyed when the function has py::return_value_policy::take_ownership policy applied.
|
||||
|
@ -395,6 +395,7 @@ def test_eigen_return_references():
|
||||
np.testing.assert_array_equal(a_copy5, c5want)
|
||||
|
||||
|
||||
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||
def assert_keeps_alive(cl, method, *args):
|
||||
cstats = ConstructorStats.get(cl)
|
||||
start_with = cstats.alive()
|
||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
import env
|
||||
from pybind11_tests import ConstructorStats, UserType
|
||||
from pybind11_tests import opaque_types as m
|
||||
|
||||
@ -30,7 +31,9 @@ def test_pointers(msg):
|
||||
living_before = ConstructorStats.get(UserType).alive()
|
||||
assert m.get_void_ptr_value(m.return_void_ptr()) == 0x1234
|
||||
assert m.get_void_ptr_value(UserType()) # Should also work for other C++ types
|
||||
assert ConstructorStats.get(UserType).alive() == living_before
|
||||
|
||||
if not env.GRAALPY:
|
||||
assert ConstructorStats.get(UserType).alive() == living_before
|
||||
|
||||
with pytest.raises(TypeError) as excinfo:
|
||||
m.get_void_ptr_value([1, 2, 3]) # This should not work
|
||||
|
@ -2,7 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
import env # noqa: F401
|
||||
import env
|
||||
from pybind11_tests import ConstructorStats
|
||||
from pybind11_tests import operators as m
|
||||
|
||||
@ -51,6 +51,9 @@ def test_operator_overloading():
|
||||
v2 /= v1
|
||||
assert str(v2) == "[2.000000, 8.000000]"
|
||||
|
||||
if env.GRAALPY:
|
||||
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||
|
||||
cstats = ConstructorStats.get(m.Vector2)
|
||||
assert cstats.alive() == 3
|
||||
del v1
|
||||
|
Loading…
Reference in New Issue
Block a user