mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-09 00:07:57 +03:00
dev-python/pytest: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
parent
9272c55741
commit
bb841c1b4a
@ -1,6 +1,3 @@
|
||||
DIST pytest-8.4.1.tar.gz 1517714 BLAKE2B 1122694101de967a16f3103aa54e02baf28e03ad231f8e3cd93a559d1d9c9249046e95cfcf5708821a4b843b6474e4d30793a454e93e5167b1ff7ddc4514f71b SHA512 1ed64a70e6b49f52364f4d08ca179a47bcd0a709c327c1666f6e5f909c723ce1e2ba56abe08cf1348f75c1fa447da71c4faac8e3e76adb0c563cf66267c8633a
|
||||
DIST pytest-8.4.2.tar.gz 1519618 BLAKE2B 0676b8a3510dc740d94e96eaa6312574ed0058baec13f161c4f1ab85872ac69ebabaa707032becb068fc128662d931b6b05f92dec9bdf6c268553b956bf43003 SHA512 a6732666e7b59b2c28b47b1020a8381d31073cf9113086c562295429fddfa6b4ef2afda3cdcce0ec60bf60d038ad2bf8e921a2a409f3d56e31d94ca39e5ea81b
|
||||
DIST pytest-9.0.0.tar.gz 1562764 BLAKE2B cc762e4aad0e44b592a3b47c9db250332803f520d2f96b3325883a9e6ecdc0ce06d67e2795ab0a49379ca7f377199020e387a7c852adf65778a0bc4794913be9 SHA512 aea3b1187eb0792d32b706afc9b5042c047b786460d08c286fa2ff25ba76a073cdbaaaa1b068e2633059822fe735806ef61dcb6cfda9df033d5826018c3493bc
|
||||
DIST pytest-9.0.0.tar.gz.provenance 9487 BLAKE2B 2dc6163e4a198412d43339b73ad1697f5ef3d3587587bb5df583521dde11f254c00d6a8abaea853756a311a59bbd6e9cc819f9230bad662eaf23634540511095 SHA512 4bffebf7f900fdca6465eff5c760dea9e53342a823ccffea69bebbfc020e8f80f678f97e0b781b538a0622ff9377286ca58de49bc2854650c94e8f8f54d0280d
|
||||
DIST pytest-9.0.1.tar.gz 1564125 BLAKE2B 60cb40383208e5db87e6f2c2ff41bf2e1955376f5057bfb4d06ff259eca5137b08142d4a0d380cae1e3a64146851095eb4fbee2f4b26b71e207249f88bcec511 SHA512 1cc2fe1eff97bf00f4b194da0dc8bd9976a27206b0b761b6a55503065a978f03d256aaf6b7a4c80aab08f09668cf120e80867f33a7d6fd2f09caa34226841671
|
||||
DIST pytest-9.0.1.tar.gz.provenance 9471 BLAKE2B 7ccebb9ebc162e791ddbbda6c6e6cfa86c647152dd46b1c9665d2ea0be053c9f8054a10261d656f7ab678ef38595a751c0764963b848abeff43bbec3c7c640c1 SHA512 d3bea0c69e383dab300daf71469575cdf6043b86d0e7baa679139d4dd3a7375d4acf019e52e46fb720e765873d00a43a8dad5c0566f42d1e61ecc9859d4a5210
|
||||
|
||||
@ -1,79 +0,0 @@
|
||||
From 2ef26ee296c917d1699e283863921c134866d622 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Oliveira <bruno@pytest.org>
|
||||
Date: Mon, 10 Nov 2025 08:51:35 -0300
|
||||
Subject: [PATCH] Restore skipping tests via `raise unittest.SkipTest`
|
||||
|
||||
Revert "Remove unused code related to `nose` (#13528)"
|
||||
|
||||
This reverts commit a620d24376eb2c4bc964f2b6efcc694a4adbbe21 and modifies it adding tests and docs.
|
||||
|
||||
Fixes #13895
|
||||
--- a/src/_pytest/unittest.py
|
||||
+++ b/src/_pytest/unittest.py
|
||||
@@ -476,6 +476,14 @@ def pytest_runtest_makereport(item: Item, call: CallInfo[None]) -> None:
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
+ # Convert unittest.SkipTest to pytest.skip.
|
||||
+ # This covers explicit `raise unittest.SkipTest`.
|
||||
+ unittest = sys.modules.get("unittest")
|
||||
+ if unittest and call.excinfo and isinstance(call.excinfo.value, unittest.SkipTest):
|
||||
+ excinfo = call.excinfo
|
||||
+ call2 = CallInfo[None].from_call(lambda: skip(str(excinfo.value)), call.when)
|
||||
+ call.excinfo = call2.excinfo
|
||||
+
|
||||
|
||||
def _is_skipped(obj) -> bool:
|
||||
"""Return True if the given object has been marked with @unittest.skip."""
|
||||
--- a/testing/test_unittest.py
|
||||
+++ b/testing/test_unittest.py
|
||||
@@ -1094,6 +1094,49 @@ def test_two(self):
|
||||
result.assert_outcomes(passed=2)
|
||||
|
||||
|
||||
+def test_skip_setup_class(pytester: Pytester) -> None:
|
||||
+ """Skipping tests in a class by raising unittest.SkipTest in `setUpClass` (#13985)."""
|
||||
+ pytester.makepyfile(
|
||||
+ """
|
||||
+ import unittest
|
||||
+
|
||||
+ class Test(unittest.TestCase):
|
||||
+
|
||||
+ @classmethod
|
||||
+ def setUpClass(cls):
|
||||
+ raise unittest.SkipTest('Skipping setupclass')
|
||||
+
|
||||
+ def test_foo(self):
|
||||
+ assert False
|
||||
+
|
||||
+ def test_bar(self):
|
||||
+ assert False
|
||||
+ """
|
||||
+ )
|
||||
+ result = pytester.runpytest()
|
||||
+ result.assert_outcomes(skipped=2)
|
||||
+
|
||||
+
|
||||
+def test_unittest_skip_function(pytester: Pytester) -> None:
|
||||
+ """
|
||||
+ Ensure raising an explicit unittest.SkipTest skips standard pytest functions.
|
||||
+
|
||||
+ Support for this is debatable -- technically we only support unittest.SkipTest in TestCase subclasses,
|
||||
+ but stating this support here in this test because users currently expect this to work,
|
||||
+ so if we ever break it we at least know we are breaking this use case (#13985).
|
||||
+ """
|
||||
+ pytester.makepyfile(
|
||||
+ """
|
||||
+ import unittest
|
||||
+
|
||||
+ def test_foo():
|
||||
+ raise unittest.SkipTest('Skipping test_foo')
|
||||
+ """
|
||||
+ )
|
||||
+ result = pytester.runpytest()
|
||||
+ result.assert_outcomes(skipped=1)
|
||||
+
|
||||
+
|
||||
def test_testcase_handles_init_exceptions(pytester: Pytester) -> None:
|
||||
"""
|
||||
Regression test to make sure exceptions in the __init__ method are bubbled up correctly.
|
||||
@ -1,120 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_TESTED=( python3_{11..14} pypy3_11 )
|
||||
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Simple powerful testing with Python"
|
||||
HOMEPAGE="
|
||||
https://pytest.org/
|
||||
https://github.com/pytest-dev/pytest/
|
||||
https://pypi.org/project/pytest/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/iniconfig[${PYTHON_USEDEP}]
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
<dev-python/pluggy-2[${PYTHON_USEDEP}]
|
||||
>=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/argcomplete[${PYTHON_USEDEP}]
|
||||
>=dev-python/attrs-19.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/xmlschema[${PYTHON_USEDEP}]
|
||||
' "${PYTHON_TESTED[@]}")
|
||||
)
|
||||
"
|
||||
|
||||
src_test() {
|
||||
# workaround new readline defaults
|
||||
echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
|
||||
local -x INPUTRC="${T}"/inputrc
|
||||
distutils-r1_src_test
|
||||
}
|
||||
|
||||
python_test() {
|
||||
if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
|
||||
einfo "Skipping tests on ${EPYTHON}"
|
||||
return
|
||||
fi
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
local -x COLUMNS=80
|
||||
|
||||
local EPYTEST_DESELECT=(
|
||||
# broken by epytest args
|
||||
testing/test_warnings.py::test_works_with_filterwarnings
|
||||
testing/test_threadexception.py::test_unhandled_thread_exception_after_teardown
|
||||
testing/test_unraisableexception.py::test_refcycle_unraisable
|
||||
|
||||
# does not like verbosity
|
||||
testing/test_assertrewrite.py::TestAssertionRewrite::test_len
|
||||
|
||||
# tend to be broken by random pytest plugins
|
||||
# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
|
||||
testing/test_helpconfig.py::test_version_less_verbose
|
||||
testing/test_helpconfig.py::test_version_verbose
|
||||
testing/test_junitxml.py::test_random_report_log_xdist
|
||||
testing/test_junitxml.py::test_runs_twice_xdist
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
|
||||
testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
|
||||
|
||||
# unstable with xdist
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
|
||||
|
||||
# TODO (XPASS)
|
||||
testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
|
||||
testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
|
||||
testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
|
||||
testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
|
||||
testing/test_debugging.py::test_pdb_suspends_fixture_capturing
|
||||
|
||||
# setuptools warnings
|
||||
testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
|
||||
|
||||
# PDB tests seem quite flaky (they time out often)
|
||||
testing/test_debugging.py::TestPDB
|
||||
)
|
||||
|
||||
case ${EPYTHON} in
|
||||
pypy3*)
|
||||
EPYTEST_DESELECT+=(
|
||||
# regressions on pypy3.9
|
||||
# https://github.com/pytest-dev/pytest/issues/9787
|
||||
testing/test_skipping.py::test_errors_in_xfail_skip_expressions
|
||||
)
|
||||
;;
|
||||
python3.14)
|
||||
EPYTEST_DESELECT+=(
|
||||
testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
local EPYTEST_XDIST=1
|
||||
epytest
|
||||
}
|
||||
@ -1,126 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest
|
||||
PYTHON_TESTED=( python3_{11..14} pypy3_11 )
|
||||
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Simple powerful testing with Python"
|
||||
HOMEPAGE="
|
||||
https://pytest.org/
|
||||
https://github.com/pytest-dev/pytest/
|
||||
https://pypi.org/project/pytest/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/iniconfig-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/packaging-22[${PYTHON_USEDEP}]
|
||||
<dev-python/pluggy-2[${PYTHON_USEDEP}]
|
||||
>=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/argcomplete[${PYTHON_USEDEP}]
|
||||
>=dev-python/attrs-19.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/xmlschema[${PYTHON_USEDEP}]
|
||||
' "${PYTHON_TESTED[@]}")
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# https://github.com/pytest-dev/pytest/pull/13912
|
||||
"${FILESDIR}/${P}-skiptest.patch"
|
||||
)
|
||||
|
||||
src_test() {
|
||||
# workaround new readline defaults
|
||||
echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
|
||||
local -x INPUTRC="${T}"/inputrc
|
||||
distutils-r1_src_test
|
||||
}
|
||||
|
||||
python_test() {
|
||||
if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
|
||||
einfo "Skipping tests on ${EPYTHON}"
|
||||
return
|
||||
fi
|
||||
|
||||
local -x COLUMNS=80
|
||||
|
||||
local EPYTEST_DESELECT=(
|
||||
# broken by epytest args
|
||||
testing/test_warnings.py::test_works_with_filterwarnings
|
||||
testing/test_threadexception.py::test_unhandled_thread_exception_after_teardown
|
||||
testing/test_unraisableexception.py::test_refcycle_unraisable
|
||||
|
||||
# does not like verbosity
|
||||
testing/test_assertrewrite.py::TestAssertionRewrite::test_len
|
||||
|
||||
# tend to be broken by random pytest plugins
|
||||
# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
|
||||
testing/test_helpconfig.py::test_version_less_verbose
|
||||
testing/test_helpconfig.py::test_version_verbose
|
||||
testing/test_junitxml.py::test_random_report_log_xdist
|
||||
testing/test_junitxml.py::test_runs_twice_xdist
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
|
||||
testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
|
||||
testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
|
||||
|
||||
# unstable with xdist
|
||||
testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
|
||||
|
||||
# TODO (XPASS)
|
||||
testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
|
||||
testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
|
||||
testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
|
||||
testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
|
||||
testing/test_debugging.py::test_pdb_suspends_fixture_capturing
|
||||
|
||||
# setuptools warnings
|
||||
testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
|
||||
|
||||
# PDB tests seem quite flaky (they time out often)
|
||||
testing/test_debugging.py::TestPDB
|
||||
)
|
||||
|
||||
case ${EPYTHON} in
|
||||
pypy3*)
|
||||
EPYTEST_DESELECT+=(
|
||||
# regressions on pypy3.9
|
||||
# https://github.com/pytest-dev/pytest/issues/9787
|
||||
testing/test_skipping.py::test_errors_in_xfail_skip_expressions
|
||||
)
|
||||
;;
|
||||
python3.14)
|
||||
EPYTEST_DESELECT+=(
|
||||
testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
local EPYTEST_PLUGINS=()
|
||||
local EPYTEST_XDIST=1
|
||||
epytest
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user