commit: ef0252caa77d9bb4b4d226c25a8c777c2a8d5ac9 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Jun 10 16:06:39 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Jun 10 17:00:56 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef0252ca
dev-python/pytest-forked: Fix tests Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> .../files/pytest-forked-1.6.0-pytest-8.patch | 48 ++++++++++++++++++++++ .../pytest-forked/pytest-forked-1.6.0.ebuild | 26 +++++++----- 2 files changed, 63 insertions(+), 11 deletions(-) diff --git a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch new file mode 100644 index 000000000000..889405c00fad --- /dev/null +++ b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch @@ -0,0 +1,48 @@ +From 398f003660dda242b97217390718a2a90c3d7a88 Mon Sep 17 00:00:00 2001 +From: Stanislav Levin <[email protected]> +Date: Tue, 13 Feb 2024 12:44:53 +0300 +Subject: [PATCH] Sync expected test_xfail's xpassed summary to Pytest 8 + +With Pytest 8: +https://docs.pytest.org/en/stable/changelog.html#pytest-8-0-0rc2-2024-01-17 + +> For xpasses, add - in summary between test name and reason, to match how xfail is displayed. + +Fixes: https://github.com/pytest-dev/pytest-forked/issues/89 +Signed-off-by: Stanislav Levin <[email protected]> +--- + testing/test_xfail_behavior.py | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/testing/test_xfail_behavior.py b/testing/test_xfail_behavior.py +index 15edd93..d4e5ee7 100644 +--- a/testing/test_xfail_behavior.py ++++ b/testing/test_xfail_behavior.py +@@ -7,6 +7,7 @@ import pytest + IS_PYTEST4_PLUS = int(pytest.__version__[0]) >= 4 # noqa: WPS609 + FAILED_WORD = "FAILED" if IS_PYTEST4_PLUS else "FAIL" + PYTEST_GTE_7_2 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (7, 2) # type: ignore[attr-defined] ++PYTEST_GTE_8_0 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (8, 0) # type: ignore[attr-defined] + + pytestmark = pytest.mark.skipif( # pylint: disable=invalid-name + not hasattr(os, "fork"), # noqa: WPS421 +@@ -60,12 +61,10 @@ def test_xfail(is_crashing, is_strict, testdir): + if expected_lowercase == "xpassed": + # XPASS wouldn't have the crash message from + # pytest-forked because the crash doesn't happen +- short_test_summary = " ".join( +- ( +- short_test_summary, +- "The process gets terminated", +- ) +- ) ++ if PYTEST_GTE_8_0: ++ short_test_summary += " -" ++ short_test_summary += " The process gets terminated" ++ + reason_string = ( + f"reason: The process gets terminated; " + f"pytest-forked reason: " +-- +2.45.2 + diff --git a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild index fd67db61e6e9..120cd2002040 100644 --- a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild +++ b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild @@ -31,16 +31,20 @@ BDEPEND=" distutils_enable_tests pytest +src_prepare() { + local PATCHES=( + # https://github.com/pytest-dev/pytest-forked/pull/90 + "${FILESDIR}/${P}-pytest-8.patch" + ) + + distutils-r1_src_prepare + + # this is not printed when loaded via PYTEST_PLUGINS + sed -i -e '/loaded_pytest_plugins/d' testing/test_xfail_behavior.py || die +} + python_test() { - [[ ${PV} != 1.6.0 ]] && die "Recheck the deselect, please" - local EPYTEST_DESELECT=() - if [[ ${EPYTHON} == python3.12 ]]; then - EPYTEST_DESELECT+=( - # failing due to warnings coming from pytest - # https://github.com/gentoo/gentoo/pull/31151 - testing/test_xfail_behavior.py::test_xfail - ) - fi - - epytest -p no:flaky -o tmp_path_retention_count=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_forked + epytest -o tmp_path_retention_count=1 }
