summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-06-02 19:31:01 +0200
committerMichał Górny <mgorny@gentoo.org>2021-06-02 21:46:26 +0200
commite0908b325e223a6a3e19d7e0c82472763ef8e879 (patch)
treee68967f0c2283616c19100dbd6c57022aab22ebe /dev-python/pytest
parentdev-php/zetacomponents-ConsoleTools: Drop old (diff)
downloadgentoo-e0908b325e223a6a3e19d7e0c82472763ef8e879.tar.gz
gentoo-e0908b325e223a6a3e19d7e0c82472763ef8e879.tar.bz2
gentoo-e0908b325e223a6a3e19d7e0c82472763ef8e879.zip
dev-python/pytest: Backport additional py3.10 fix
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pytest')
-rw-r--r--dev-python/pytest/files/pytest-6.2.4-py310.patch34
-rw-r--r--dev-python/pytest/pytest-6.2.4-r1.ebuild (renamed from dev-python/pytest/pytest-6.2.4.ebuild)4
2 files changed, 38 insertions, 0 deletions
diff --git a/dev-python/pytest/files/pytest-6.2.4-py310.patch b/dev-python/pytest/files/pytest-6.2.4-py310.patch
new file mode 100644
index 000000000000..88c8f703f08a
--- /dev/null
+++ b/dev-python/pytest/files/pytest-6.2.4-py310.patch
@@ -0,0 +1,34 @@
+From 78fb97105f38dc286353bbc331a243b6e753fe3c Mon Sep 17 00:00:00 2001
+From: Petr Viktorin <encukou@gmail.com>
+Date: Wed, 6 Jan 2021 13:33:33 +0100
+Subject: [PATCH] Make code.FormattedExcinfo.get_source more defensive
+
+When line_index was a large negative number, get_source failed
+on `source.lines[line_index]`.
+Use the same dummy Source as with a large positive line_index.
+---
+ src/_pytest/_code/code.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/_pytest/_code/code.py b/src/_pytest/_code/code.py
+index b85217560..af3bdf056 100644
+--- a/src/_pytest/_code/code.py
++++ b/src/_pytest/_code/code.py
+@@ -721,11 +721,11 @@ class FormattedExcinfo:
+ ) -> List[str]:
+ """Return formatted and marked up source lines."""
+ lines = []
+- if source is None or line_index >= len(source.lines):
++ if source is not None and line_index < 0:
++ line_index += len(source.lines)
++ if source is None or line_index >= len(source.lines) or line_index < 0:
+ source = Source("???")
+ line_index = 0
+- if line_index < 0:
+- line_index += len(source)
+ space_prefix = " "
+ if short:
+ lines.append(space_prefix + source.lines[line_index].strip())
+--
+2.31.1
+
diff --git a/dev-python/pytest/pytest-6.2.4.ebuild b/dev-python/pytest/pytest-6.2.4-r1.ebuild
index 267da87475fd..ced1fbce5e57 100644
--- a/dev-python/pytest/pytest-6.2.4.ebuild
+++ b/dev-python/pytest/pytest-6.2.4-r1.ebuild
@@ -43,6 +43,10 @@ BDEPEND="
' python3_{7..9} pypy3)
)"
+PATCHES=(
+ "${FILESDIR}"/${P}-py310.patch
+)
+
src_test() {
# workaround new readline defaults
echo "set enable-bracketed-paste off" > "${T}"/inputrc || die