diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-06-22 16:47:38 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-06-22 17:00:57 +0200 |
commit | 5a5c5a4ab31ab75a3123e0203cbaef6570bf30cf (patch) | |
tree | 37033d3890d03ecf33b920a62b5bf18e68c69179 /dev-python/pytest | |
parent | dev-python/pytools: Remove old (diff) | |
download | gentoo-5a5c5a4ab31ab75a3123e0203cbaef6570bf30cf.tar.gz gentoo-5a5c5a4ab31ab75a3123e0203cbaef6570bf30cf.tar.bz2 gentoo-5a5c5a4ab31ab75a3123e0203cbaef6570bf30cf.zip |
dev-python/pytest: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pytest')
-rw-r--r-- | dev-python/pytest/Manifest | 2 | ||||
-rw-r--r-- | dev-python/pytest/files/pytest-8.2.0-py313.patch | 182 | ||||
-rw-r--r-- | dev-python/pytest/pytest-8.2.0-r1.ebuild | 121 | ||||
-rw-r--r-- | dev-python/pytest/pytest-8.2.0.ebuild | 141 | ||||
-rw-r--r-- | dev-python/pytest/pytest-8.2.1.ebuild | 116 |
5 files changed, 0 insertions, 562 deletions
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest index c2797fed66ed..a28b0058ed0c 100644 --- a/dev-python/pytest/Manifest +++ b/dev-python/pytest/Manifest @@ -1,6 +1,4 @@ DIST pytest-7.4.4.tar.gz 1357116 BLAKE2B 0bf281b3d4b7b2eb7805423a75c8c2befa820cc230318511e5a2d5ea35321a78a2603d5dbc033414ed73171525371efa9d9f54083d5638fc752c1c218e6d53aa SHA512 28a259dac6739683c131993409d508e10fbfee461291b8fc7697dd83f30725a3c60e681ba00b5669a215af6a5e683f07a329485d780acc9ad0372a6552f783a1 DIST pytest-8.0.2.tar.gz 1396924 BLAKE2B ad95d246f5592cfe54faea6c96e38cb60d3e2713070d1ff7cab6c42aea312883c5d97c99a930dbcbd8493e966c4b8351320f6494b4ab904afbf21d7e1dd004a7 SHA512 c495943baad05e09b467d23c7afadb3edff7ae93ee96290d6db9e64739236888148b63dff7e8e25b331b11bd48c55fb0ca8901cf823d69b1a922e94915bab2f1 DIST pytest-8.1.2.tar.gz 1410060 BLAKE2B 1379047c5ba434e98a383756c53a9cf31dc3bd3abcc49820f872b9110ec70906ca14080ce17ed2770b71195fbd79627a0eb16ee00429e165368144b20153a02b SHA512 a6ffae29da98ee4c357ebb03f00c4bc1a33f093ef867ad118841695548468c7f229eaa2c029a2ce3b158bbb0a65be5014e91555a223d04c1c72e614cb1d00546 -DIST pytest-8.2.0.tar.gz 1422883 BLAKE2B 91f39aa14bfc56f7f98789ef9eeed80d1aa81c864f56181bf1e819b73543043eda307fec53151bf5dbcf8e63abd8dd8ad1290dd245c387cb68583d2160981cf2 SHA512 1a74a2269010804101fc4b8efc370c5d8d484eb145eb4e181feeb1a17046457b97071d2de925c3e8bbd4c6090cd00ca532d69286cb9e10ea023e59a99cd51088 -DIST pytest-8.2.1.tar.gz 1424649 BLAKE2B 56c63526b7bb2c7eb6b260197bb1b52945b92598a9697bc99c053540caf4fcc7432cf70cfa1455da668b38ddf81a7abbac1b91a5e58688640519a16e4155ad6d SHA512 c837b2031c2b198345ce090cc5fcbebd2640a521131a60b882250b70825dc85e5072403a80e9a73f62e429156b57dce405d8400255457c55b14d4a2f700c5331 DIST pytest-8.2.2.tar.gz 1427980 BLAKE2B 7f343e5ff05e4d26f816595ad1c52ee2b79d38029e75e3641ed0bbb7477e0a47e5ae48ebc3058a8e9f374cd1a391d360d9eda73eca2e41d8b533eda7948aedcb SHA512 896192f0d41f3fef49915dfea6ae33dbb939f6bbe54de27861bf1554bf87f910702169293e923af9bc40466e7f806aa19ca54cbe41a848c233f70b52bb86a63c diff --git a/dev-python/pytest/files/pytest-8.2.0-py313.patch b/dev-python/pytest/files/pytest-8.2.0-py313.patch deleted file mode 100644 index 196fb9a7422f..000000000000 --- a/dev-python/pytest/files/pytest-8.2.0-py313.patch +++ /dev/null @@ -1,182 +0,0 @@ -diff --git a/src/_pytest/_code/code.py b/src/_pytest/_code/code.py -index b80d53ca5f..cfa226bb74 100644 ---- a/src/_pytest/_code/code.py -+++ b/src/_pytest/_code/code.py -@@ -424,15 +424,14 @@ def recursionindex(self) -> Optional[int]: - # which generates code objects that have hash/value equality - # XXX needs a test - key = entry.frame.code.path, id(entry.frame.code.raw), entry.lineno -- # print "checking for recursion at", key - values = cache.setdefault(key, []) -+ # Since Python 3.13 f_locals is a proxy, freeze it. -+ loc = dict(entry.frame.f_locals) - if values: -- f = entry.frame -- loc = f.f_locals - for otherloc in values: - if otherloc == loc: - return i -- values.append(entry.frame.f_locals) -+ values.append(loc) - return None - - -diff --git a/src/_pytest/pytester.py b/src/_pytest/pytester.py -index 31c6de7819..f9ab007a4d 100644 ---- a/src/_pytest/pytester.py -+++ b/src/_pytest/pytester.py -@@ -289,7 +289,8 @@ def assert_contains(self, entries: Sequence[Tuple[str, str]]) -> None: - __tracebackhide__ = True - i = 0 - entries = list(entries) -- backlocals = sys._getframe(1).f_locals -+ # Since Python 3.13, f_locals is not a dict, but eval requires a dict. -+ backlocals = dict(sys._getframe(1).f_locals) - while entries: - name, check = entries.pop(0) - for ind, call in enumerate(self.calls[i:]): -@@ -760,6 +761,9 @@ def _makefile( - ) -> Path: - items = list(files.items()) - -+ if ext is None: -+ raise TypeError("ext must not be None") -+ - if ext and not ext.startswith("."): - raise ValueError( - f"pytester.makefile expects a file extension, try .{ext} instead of {ext}" -diff --git a/testing/code/test_excinfo.py b/testing/code/test_excinfo.py -index 86e30dc483..b547451298 100644 ---- a/testing/code/test_excinfo.py -+++ b/testing/code/test_excinfo.py -@@ -1,6 +1,7 @@ - # mypy: allow-untyped-defs - from __future__ import annotations - -+import fnmatch - import importlib - import io - import operator -@@ -237,7 +238,7 @@ def f(n): - n += 1 - f(n) - -- excinfo = pytest.raises(RuntimeError, f, 8) -+ excinfo = pytest.raises(RecursionError, f, 8) - traceback = excinfo.traceback - recindex = traceback.recursionindex() - assert recindex == 3 -@@ -373,7 +374,10 @@ def test_excinfo_no_sourcecode(): - except ValueError: - excinfo = _pytest._code.ExceptionInfo.from_current() - s = str(excinfo.traceback[-1]) -- assert s == " File '<string>':1 in <module>\n ???\n" -+ # TODO: Since Python 3.13b1 under pytest-xdist, the * is `import -+ # sys;exec(eval(sys.stdin.readline()))` (execnet bootstrap code) -+ # instead of `???` like before. Is this OK? -+ fnmatch.fnmatch(s, " File '<string>':1 in <module>\n *\n") - - - def test_excinfo_no_python_sourcecode(tmp_path: Path) -> None: -diff --git a/testing/code/test_source.py b/testing/code/test_source.py -index 2fa8520579..a00259976c 100644 ---- a/testing/code/test_source.py -+++ b/testing/code/test_source.py -@@ -370,7 +370,11 @@ class B: - pass - - B.__name__ = B.__qualname__ = "B2" -- assert getfslineno(B)[1] == -1 -+ # Since Python 3.13 this started working. -+ if sys.version_info >= (3, 13): -+ assert getfslineno(B)[1] != -1 -+ else: -+ assert getfslineno(B)[1] == -1 - - - def test_code_of_object_instance_with_call() -> None: -diff --git a/testing/test_cacheprovider.py b/testing/test_cacheprovider.py -index d7815f77b9..8728ae84fd 100644 ---- a/testing/test_cacheprovider.py -+++ b/testing/test_cacheprovider.py -@@ -194,7 +194,7 @@ def test_custom_cache_dir_with_env_var( - assert pytester.path.joinpath("custom_cache_dir").is_dir() - - --@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "/tox_env_dir"))) -+@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "mydir/tox-env"))) - def test_cache_reportheader( - env: Sequence[str], pytester: Pytester, monkeypatch: MonkeyPatch - ) -> None: -diff --git a/testing/test_doctest.py b/testing/test_doctest.py -index d731121795..9b33d641a1 100644 ---- a/testing/test_doctest.py -+++ b/testing/test_doctest.py -@@ -224,11 +224,7 @@ def test_doctest_unexpected_exception(self, pytester: Pytester): - "Traceback (most recent call last):", - ' File "*/doctest.py", line *, in __run', - " *", -- *( -- (" *^^^^*",) -- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11) -- else () -- ), -+ *((" *^^^^*", " *", " *") if sys.version_info >= (3, 13) else ()), - ' File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>', - "ZeroDivisionError: division by zero", - "*/test_doctest_unexpected_exception.txt:2: UnexpectedException", -@@ -385,7 +381,7 @@ def some_property(self): - "*= FAILURES =*", - "*_ [[]doctest[]] test_doctest_linedata_on_property.Sample.some_property _*", - "004 ", -- "005 >>> Sample().some_property", -+ "005 *>>> Sample().some_property", - "Expected:", - " 'another thing'", - "Got:", -diff --git a/testing/test_main.py b/testing/test_main.py -index 345aa1e62c..6294f66b36 100644 ---- a/testing/test_main.py -+++ b/testing/test_main.py -@@ -3,7 +3,6 @@ - import os - from pathlib import Path - import re --import sys - from typing import Optional - - from _pytest.config import ExitCode -@@ -45,32 +44,18 @@ def pytest_internalerror(excrepr, excinfo): - assert result.ret == ExitCode.INTERNAL_ERROR - assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):" - -- end_lines = ( -- result.stdout.lines[-4:] -- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11) -- else result.stdout.lines[-3:] -- ) -+ end_lines = result.stdout.lines[-3:] - - if exc == SystemExit: - assert end_lines == [ - f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart', - 'INTERNALERROR> raise SystemExit("boom")', -- *( -- ("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",) -- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11) -- else () -- ), - "INTERNALERROR> SystemExit: boom", - ] - else: - assert end_lines == [ - f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart', - 'INTERNALERROR> raise ValueError("boom")', -- *( -- ("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",) -- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11) -- else () -- ), - "INTERNALERROR> ValueError: boom", - ] - if returncode is False: diff --git a/dev-python/pytest/pytest-8.2.0-r1.ebuild b/dev-python/pytest/pytest-8.2.0-r1.ebuild deleted file mode 100644 index a50c705d49bb..000000000000 --- a/dev-python/pytest/pytest-8.2.0-r1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_TESTED=( python3_{10..13} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -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 ~ia64 ~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}] - $(python_gen_cond_dep ' - >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] - >=dev-python/tomli-1[${PYTHON_USEDEP}] - ' 3.10) - !!<=dev-python/flaky-3.7.0-r5 -" -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/pygments-2.7.2[${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/12334 - "${FILESDIR}/${P}-py313.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 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local -x COLUMNS=80 - - local EPYTEST_DESELECT=( - # broken by epytest args - testing/test_warnings.py::test_works_with_filterwarnings - - # 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 - testing/test_unraisableexception.py - ) - ;; - esac - - local EPYTEST_XDIST=1 - epytest -} diff --git a/dev-python/pytest/pytest-8.2.0.ebuild b/dev-python/pytest/pytest-8.2.0.ebuild deleted file mode 100644 index 54e62aabbc4d..000000000000 --- a/dev-python/pytest/pytest-8.2.0.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_TESTED=( python3_{10..13} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -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 ~ia64 ~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}] - $(python_gen_cond_dep ' - >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] - >=dev-python/tomli-1[${PYTHON_USEDEP}] - ' 3.10) - !!<=dev-python/flaky-3.7.0-r5 -" -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/pygments-2.7.2[${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 - - # 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 - - # times out - testing/test_debugging.py::TestPDB::test_pdb_interaction_exception - testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation - ) - - 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 - testing/test_unraisableexception.py - ) - ;; - python3.13) - EPYTEST_DESELECT+=( - # regressions reproduced via `tox -e py313` - # https://github.com/pytest-dev/pytest/issues/12323 - testing/code/test_excinfo.py::TestFormattedExcinfo::test_repr_traceback_recursion - testing/code/test_excinfo.py::TestTraceback_f_g_h::test_traceback_recursion_index - testing/code/test_excinfo.py::test_exception_repr_extraction_error_on_recursion - testing/code/test_source.py::test_getfslineno - testing/test_collection.py::TestSession::test_collect_custom_nodes_multi_id - testing/test_collection.py::TestSession::test_collect_protocol_single_function - testing/test_collection.py::TestSession::test_collect_subdir_event_ordering - testing/test_collection.py::TestSession::test_collect_two_commandline_args - testing/test_doctest.py::TestDoctests::test_doctest_linedata_on_property - testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception - testing/test_legacypath.py::test_testdir_makefile_ext_none_raises_type_error - - # TODO? - testing/code/test_excinfo.py::test_excinfo_no_sourcecode - - # more weird timeouts - testing/test_debugging.py::TestPDB::test_pdb_used_outside_test - testing/test_debugging.py::TestPDB::test_pdb_used_in_generate_tests - ) - ;; - esac - - local EPYTEST_XDIST=1 - epytest -} diff --git a/dev-python/pytest/pytest-8.2.1.ebuild b/dev-python/pytest/pytest-8.2.1.ebuild deleted file mode 100644 index a6ff2735eb2d..000000000000 --- a/dev-python/pytest/pytest-8.2.1.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_TESTED=( python3_{10..13} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -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 ~ia64 ~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}] - $(python_gen_cond_dep ' - >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] - >=dev-python/tomli-1[${PYTHON_USEDEP}] - ' 3.10) - !!<=dev-python/flaky-3.7.0-r5 -" -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/pygments-2.7.2[${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 - - # 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 - testing/test_unraisableexception.py - ) - ;; - esac - - local EPYTEST_XDIST=1 - epytest -} |