diff --git a/tests/constructor_stats.h b/tests/constructor_stats.h index 9a5754fed..352b1b6ca 100644 --- a/tests/constructor_stats.h +++ b/tests/constructor_stats.h @@ -312,8 +312,16 @@ void print_created(T *inst, Values &&...values) { } template void print_destroyed(T *inst, Values &&...values) { // Prints but doesn't store given values + /* + * On GraalPy, destructors can trigger anywhere and this can cause random + * failures in unrelated tests. + */ +#if !defined(GRAALVM_PYTHON) print_constr_details(inst, "destroyed", values...); track_destroyed(inst); +#else + py::detail::silence_unused_warnings(inst, values...); +#endif } template void print_values(T *inst, Values &&...values) { diff --git a/tests/test_iostream.py b/tests/test_iostream.py index 606028d6f..c3d987787 100644 --- a/tests/test_iostream.py +++ b/tests/test_iostream.py @@ -6,14 +6,8 @@ from io import StringIO import pytest -import env # noqa: F401 from pybind11_tests import iostream as m -pytestmark = pytest.mark.skipif( - "env.GRAALPY", - reason="Delayed prints from finalizers from other tests can end up in the output", -) - def test_captured(capsys): msg = "I've been redirected to Python, I hope!"