From e0908b325e223a6a3e19d7e0c82472763ef8e879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 2 Jun 2021 19:31:01 +0200 Subject: [PATCH] dev-python/pytest: Backport additional py3.10 fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- .../pytest/files/pytest-6.2.4-py310.patch | 34 +++++++++++++++++++ ...st-6.2.4.ebuild => pytest-6.2.4-r1.ebuild} | 4 +++ 2 files changed, 38 insertions(+) create mode 100644 dev-python/pytest/files/pytest-6.2.4-py310.patch rename dev-python/pytest/{pytest-6.2.4.ebuild => pytest-6.2.4-r1.ebuild} (97%) 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 0000000000000..88c8f703f08ab --- /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 +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 similarity index 97% rename from dev-python/pytest/pytest-6.2.4.ebuild rename to dev-python/pytest/pytest-6.2.4-r1.ebuild index 267da87475fd6..ced1fbce5e577 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