dev-python/pytest: re-add 8.2.0-r1 from Gentoo archive
Signed-off-by: Andreas Billmeier <b@edevau.net>
This commit is contained in:
parent
e66d429e0b
commit
f168b87256
@ -606,11 +606,11 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
|
||||
|
||||
## Licenses
|
||||
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
|
||||
There are 1943 Ebuilds in total, 1932 of them have in total 1955 (42 different) licenses assigned.
|
||||
There are 1944 Ebuilds in total, 1933 of them have in total 1956 (42 different) licenses assigned.
|
||||
|
||||
|License| Ebuilds using it|
|
||||
|-------|-----|
|
||||
|MIT|1120|
|
||||
|MIT|1121|
|
||||
|Apache-2.0|433|
|
||||
|GPL-3|114|
|
||||
|BSD|110|
|
||||
|
@ -1,3 +1,6 @@
|
||||
AUX pytest-8.2.0-py313.patch 7120 BLAKE2B 30a5fb396eeb75e50f8b31d21dbf11657a4890105165d94c254cc12e275df56ffafe5926818bce6482e3ac1b13bf69724a005d738ad3b48ea33584db67780a62 SHA512 9508a0bc6659cb63f9b836cb7025672bbfe732be79e539df027a8f2704fd3700faf1d08bbb3d99c7a0c9a65a83cf474c7654c769464e9d4496fdd989a94913be
|
||||
DIST pytest-8.1.1.tar.gz 1409703 BLAKE2B 8e382c87af1bbbc235f9b27f8bb892d08393e0a9821f32373ee2546112c24dc6f90e1990f10ef799a94a1426a83a2bc3de0be9e7efde90cbf4eac5a0c9ee375c SHA512 f1a9f69cd4eca3ab36c36bc666bf70b099125ed6e17b89d13554c3f13b100d05abfd0b35516660d00ca4fb9eca81164ab02bc8f7a9a8d90fd4302bf399cd88c0
|
||||
DIST pytest-8.2.0.tar.gz 1422883 BLAKE2B 91f39aa14bfc56f7f98789ef9eeed80d1aa81c864f56181bf1e819b73543043eda307fec53151bf5dbcf8e63abd8dd8ad1290dd245c387cb68583d2160981cf2 SHA512 1a74a2269010804101fc4b8efc370c5d8d484eb145eb4e181feeb1a17046457b97071d2de925c3e8bbd4c6090cd00ca532d69286cb9e10ea023e59a99cd51088
|
||||
EBUILD pytest-8.1.1.ebuild 3619 BLAKE2B b4d4f375c15a30cd92546f355cad634aa76954ac6ec40cfdbb70e17bc0da6d10daa4009577a24e163733bfd3ec6426475286eb7d08cc3e1631a1cd3b063845b5 SHA512 32f8a90e03e68ade5f889ad76209d012750c9ca321ea251226c21cbed44b676b6e281edb7d7c40dca5b03adf22079ab6a981ed88ac22974e3954b9cf34120d04
|
||||
EBUILD pytest-8.2.0-r1.ebuild 3671 BLAKE2B 400f119cdede337dfc7185f3903722343bfb8c295c285ec4af108e24c24fc2f1390ff171002d50d3dbe4f38cf91dbffb2cccedb5599b20cce453eed10c82806c SHA512 335c6dd466b577290ab85a2001cf7545fdea5c19bbda8019a20cc767a4f9e51cc5d7b448b9f379e5d221fc11345146957d856adb562b26d850553ca44d9c8c35
|
||||
MISC metadata.xml 384 BLAKE2B 3640a542703621411464d4a4d893ea2543f91564cc75c340309331428f71a27e3e3cf1978a5327d0a6c5bf72f792b668fdb30040bbc96e90ce2798eadc1903f3 SHA512 9125dc527187baa8e4fa6deff742f2e8671dc33f12712d0c0d31fb748097cc43afd8fbb1d86106d3fed54bf0cb8ce7acd169cd56692a6d7f55382775a04ca27d
|
||||
|
182
dev-python/pytest/files/pytest-8.2.0-py313.patch
Normal file
182
dev-python/pytest/files/pytest-8.2.0-py313.patch
Normal file
@ -0,0 +1,182 @@
|
||||
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:
|
121
dev-python/pytest/pytest-8.2.0-r1.ebuild
Normal file
121
dev-python/pytest/pytest-8.2.0-r1.ebuild
Normal file
@ -0,0 +1,121 @@
|
||||
# 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=( python3_{11..13} )
|
||||
|
||||
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="amd64 arm arm64 x86"
|
||||
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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user