summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-06-10 18:06:39 +0200
committerMichał Górny <mgorny@gentoo.org>2024-06-10 19:00:56 +0200
commitef0252caa77d9bb4b4d226c25a8c777c2a8d5ac9 (patch)
treed0f62c46a75765370f0cd92048b90fe3dbc02b6b /dev-python/pytest-forked
parentwww-servers/gunicorn: Enable py3.13 (diff)
downloadgentoo-ef0252caa77d9bb4b4d226c25a8c777c2a8d5ac9.tar.gz
gentoo-ef0252caa77d9bb4b4d226c25a8c777c2a8d5ac9.tar.bz2
gentoo-ef0252caa77d9bb4b4d226c25a8c777c2a8d5ac9.zip
dev-python/pytest-forked: Fix tests
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pytest-forked')
-rw-r--r--dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch48
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.6.0.ebuild26
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 <slev@altlinux.org>
+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 <slev@altlinux.org>
+---
+ 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
}