mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-21 20:55: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):
|
def test_return_none(capture):
|
||||||
n_inst = ConstructorStats.detail_reg_inst()
|
n_inst = ConstructorStats.detail_reg_inst()
|
||||||
with capture:
|
with capture:
|
||||||
@ -217,6 +218,7 @@ def test_return_none(capture):
|
|||||||
assert capture == "Releasing parent."
|
assert capture == "Releasing parent."
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||||
def test_keep_alive_constructor(capture):
|
def test_keep_alive_constructor(capture):
|
||||||
n_inst = ConstructorStats.detail_reg_inst()
|
n_inst = ConstructorStats.detail_reg_inst()
|
||||||
|
|
||||||
|
@ -27,6 +27,9 @@ def test_instance(msg):
|
|||||||
|
|
||||||
instance = m.NoConstructor.new_instance()
|
instance = m.NoConstructor.new_instance()
|
||||||
|
|
||||||
|
if env.GRAALPY:
|
||||||
|
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||||
|
|
||||||
cstats = ConstructorStats.get(m.NoConstructor)
|
cstats = ConstructorStats.get(m.NoConstructor)
|
||||||
assert cstats.alive() == 1
|
assert cstats.alive() == 1
|
||||||
del instance
|
del instance
|
||||||
@ -35,6 +38,10 @@ def test_instance(msg):
|
|||||||
|
|
||||||
def test_instance_new():
|
def test_instance_new():
|
||||||
instance = m.NoConstructorNew() # .__new__(m.NoConstructor.__class__)
|
instance = m.NoConstructorNew() # .__new__(m.NoConstructor.__class__)
|
||||||
|
|
||||||
|
if env.GRAALPY:
|
||||||
|
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||||
|
|
||||||
cstats = ConstructorStats.get(m.NoConstructorNew)
|
cstats = ConstructorStats.get(m.NoConstructorNew)
|
||||||
assert cstats.alive() == 1
|
assert cstats.alive() == 1
|
||||||
del instance
|
del instance
|
||||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
import env # noqa: F401
|
||||||
from pybind11_tests import copy_move_policies as m
|
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)
|
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():
|
def test_move_and_copy_casts():
|
||||||
"""Cast some values in C++ via custom type casters and count the number of moves/copies."""
|
"""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
|
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():
|
def test_move_and_copy_loads():
|
||||||
"""Call some functions that load arguments via custom type casters and count the number of
|
"""Call some functions that load arguments via custom type casters and count the number of
|
||||||
moves/copies."""
|
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(not m.has_optional, reason="no <optional>")
|
||||||
|
@pytest.mark.skipif("env.GRAALPY", reason="Cannot reliably trigger GC")
|
||||||
def test_move_and_copy_load_optional():
|
def test_move_and_copy_load_optional():
|
||||||
"""Tests move/copy loads of std::optional arguments"""
|
"""Tests move/copy loads of std::optional arguments"""
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
import env # noqa: F401
|
||||||
from pybind11_tests import custom_type_casters as m
|
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():
|
def test_custom_caster_destruction():
|
||||||
"""Tests that returning a pointer to a type that gets converted with a custom type caster gets
|
"""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.
|
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)
|
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):
|
def assert_keeps_alive(cl, method, *args):
|
||||||
cstats = ConstructorStats.get(cl)
|
cstats = ConstructorStats.get(cl)
|
||||||
start_with = cstats.alive()
|
start_with = cstats.alive()
|
||||||
|
@ -2,6 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
import env
|
||||||
from pybind11_tests import ConstructorStats, UserType
|
from pybind11_tests import ConstructorStats, UserType
|
||||||
from pybind11_tests import opaque_types as m
|
from pybind11_tests import opaque_types as m
|
||||||
|
|
||||||
@ -30,6 +31,8 @@ def test_pointers(msg):
|
|||||||
living_before = ConstructorStats.get(UserType).alive()
|
living_before = ConstructorStats.get(UserType).alive()
|
||||||
assert m.get_void_ptr_value(m.return_void_ptr()) == 0x1234
|
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 m.get_void_ptr_value(UserType()) # Should also work for other C++ types
|
||||||
|
|
||||||
|
if not env.GRAALPY:
|
||||||
assert ConstructorStats.get(UserType).alive() == living_before
|
assert ConstructorStats.get(UserType).alive() == living_before
|
||||||
|
|
||||||
with pytest.raises(TypeError) as excinfo:
|
with pytest.raises(TypeError) as excinfo:
|
||||||
|
@ -2,7 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
import env # noqa: F401
|
import env
|
||||||
from pybind11_tests import ConstructorStats
|
from pybind11_tests import ConstructorStats
|
||||||
from pybind11_tests import operators as m
|
from pybind11_tests import operators as m
|
||||||
|
|
||||||
@ -51,6 +51,9 @@ def test_operator_overloading():
|
|||||||
v2 /= v1
|
v2 /= v1
|
||||||
assert str(v2) == "[2.000000, 8.000000]"
|
assert str(v2) == "[2.000000, 8.000000]"
|
||||||
|
|
||||||
|
if env.GRAALPY:
|
||||||
|
pytest.skip("ConstructorStats is incompatible with GraalPy.")
|
||||||
|
|
||||||
cstats = ConstructorStats.get(m.Vector2)
|
cstats = ConstructorStats.get(m.Vector2)
|
||||||
assert cstats.alive() == 3
|
assert cstats.alive() == 3
|
||||||
del v1
|
del v1
|
||||||
|
Loading…
Reference in New Issue
Block a user