Update to 7.0.0rc1
This commit is contained in:
parent
d5e92167f0
commit
7faf670b11
76
8227.patch
76
8227.patch
@ -1,76 +0,0 @@
|
||||
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 1/2] 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 b852175606..af3bdf0561 100644
|
||||
--- a/src/_pytest/_code/code.py
|
||||
+++ b/src/_pytest/_code/code.py
|
||||
@@ -721,11 +721,11 @@ def get_source(
|
||||
) -> 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())
|
||||
|
||||
From 0a75c8e57b4b87ee533f3b08612590704b6743bb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Thu, 22 Apr 2021 19:13:44 +0200
|
||||
Subject: [PATCH 2/2] Add a regression test for a more defensive
|
||||
code.FormattedExcinfo.get_source
|
||||
|
||||
---
|
||||
testing/code/test_excinfo.py | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/testing/code/test_excinfo.py b/testing/code/test_excinfo.py
|
||||
index e6a9cbaf73..287733dac7 100644
|
||||
--- a/testing/code/test_excinfo.py
|
||||
+++ b/testing/code/test_excinfo.py
|
||||
@@ -1397,6 +1397,29 @@ def test(tmp_path):
|
||||
result.stderr.no_fnmatch_line("*INTERNALERROR*")
|
||||
|
||||
|
||||
+def test_regression_nagative_line_index(pytester):
|
||||
+ """
|
||||
+ With Python 3.10 alphas, there was an INTERNALERROR reported in
|
||||
+ https://github.com/pytest-dev/pytest/pull/8227
|
||||
+ This test ensures it does not regress.
|
||||
+ """
|
||||
+ pytester.makepyfile(
|
||||
+ """
|
||||
+ import ast
|
||||
+ import pytest
|
||||
+
|
||||
+
|
||||
+ def test_literal_eval():
|
||||
+ with pytest.raises(ValueError, match="^$"):
|
||||
+ ast.literal_eval("pytest")
|
||||
+ """
|
||||
+ )
|
||||
+ result = pytester.runpytest()
|
||||
+ result.stdout.fnmatch_lines(["* 1 failed in *"])
|
||||
+ result.stdout.no_fnmatch_line("*INTERNALERROR*")
|
||||
+ result.stderr.no_fnmatch_line("*INTERNALERROR*")
|
||||
+
|
||||
+
|
||||
@pytest.mark.usefixtures("limited_recursion_depth")
|
||||
def test_exception_repr_extraction_error_on_recursion():
|
||||
"""
|
27
8664.patch
27
8664.patch
@ -1,27 +0,0 @@
|
||||
From d9635d560d30fd732c878a9f5fbddd85d4345a48 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Wed, 12 May 2021 13:30:46 +0200
|
||||
Subject: [PATCH] Ignore DeprecationWarnings in test_trial_error
|
||||
|
||||
Fixes https://github.com/pytest-dev/pytest/issues/8663
|
||||
---
|
||||
testing/test_unittest.py | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/testing/test_unittest.py b/testing/test_unittest.py
|
||||
index 8b00cb8..de8fc5c 100644
|
||||
--- a/testing/test_unittest.py
|
||||
+++ b/testing/test_unittest.py
|
||||
@@ -533,7 +533,9 @@ class TestTrialUnittest:
|
||||
# will crash both at test time and at teardown
|
||||
"""
|
||||
)
|
||||
- result = testdir.runpytest("-vv", "-oconsole_output_style=classic")
|
||||
+ result = testdir.runpytest(
|
||||
+ "-vv", "-oconsole_output_style=classic", "-W", "ignore::DeprecationWarning"
|
||||
+ )
|
||||
result.stdout.fnmatch_lines(
|
||||
[
|
||||
"test_trial_error.py::TC::test_four FAILED",
|
||||
|
||||
|
33
pytest.spec
33
pytest.spec
@ -1,20 +1,12 @@
|
||||
Name: pytest
|
||||
Version: 6.2.5
|
||||
Release: 2%{?dist}
|
||||
%global base_version 7.0.0
|
||||
%global prerelease rc1
|
||||
Version: %{base_version}%{?prerelease:~%{prerelease}}
|
||||
Release: 1%{?dist}
|
||||
Summary: Simple powerful testing with Python
|
||||
License: MIT
|
||||
URL: https://pytest.org
|
||||
Source0: %{pypi_source}
|
||||
|
||||
# Make code.FormattedExcinfo.get_source more defensive
|
||||
# Merged upstream, https://github.com/pytest-dev/pytest/pull/8227
|
||||
# Rebased slightly
|
||||
Patch1: 8227.patch
|
||||
|
||||
# Ignore DeprecationWarnings in test_trial_error
|
||||
# Merged upstream, https://github.com/pytest-dev/pytest/pull/8664
|
||||
# Rebased slightly
|
||||
Patch3: 8664.patch
|
||||
Source0: %{pypi_source pytest %{base_version}%{?prerelease}}
|
||||
|
||||
# When building pytest for the first time with new Python version
|
||||
# we might not yet have all the BRs, those conditionals allow us to do that.
|
||||
@ -44,15 +36,16 @@ BuildRequires: python3-setuptools_scm
|
||||
# Those are also runtime deps, needed for tests and docs
|
||||
# We keep them unconditionality, so we don't accidentally build pytest
|
||||
# before them and get broken dependencies
|
||||
BuildRequires: python3-attrs
|
||||
BuildRequires: python3-attrs >= 19.2
|
||||
BuildRequires: python3-iniconfig
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-pluggy >= 0.12
|
||||
BuildRequires: python3-py >= 1.5.0
|
||||
BuildRequires: python3-toml
|
||||
BuildRequires: python3-py >= 1.8.2
|
||||
BuildRequires: python3-tomli >= 1
|
||||
|
||||
%if %{with tests}
|
||||
BuildRequires: python3-hypothesis
|
||||
BuildRequires: python3-hypothesis >= 3.56
|
||||
BuildRequires: python3-pygments >= 2.7.2
|
||||
BuildRequires: python3-xmlschema
|
||||
%if %{with optional_tests}
|
||||
BuildRequires: python3-argcomplete
|
||||
@ -100,7 +93,7 @@ The pytest framework makes it easy to write small tests, yet scales to support
|
||||
complex functional testing for applications and libraries.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
%autosetup -p1 -n %{name}-%{base_version}%{?prerelease}
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
@ -165,6 +158,10 @@ find %{buildroot}%{python3_sitelib} \
|
||||
%{python3_sitelib}/pytest/
|
||||
|
||||
%changelog
|
||||
* Fri Jan 21 2022 Miro Hrončok <mhroncok@redhat.com> - 7.0.0~rc1-1
|
||||
- Update to 7.0.0rc1
|
||||
- Fixes: rhbz#2029764
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pytest-6.2.5.tar.gz) = 7624563a9d967da4cbf82cfff90bae8c0cca07b32e291dc7c5efa787725ed1a255edd066bf0d5fbd89b8cbed8cf5b619fe7c7017f44a7f8a014e3310c06bdbf9
|
||||
SHA512 (pytest-7.0.0rc1.tar.gz) = 0e4643cea377f1e832850d382ee78689674df58f190171af037a3a5b1da7a3c0ca121353255d1a34156a6c581da281c1014356a24a44f101916fbc17b0eeef7b
|
||||
|
Loading…
Reference in New Issue
Block a user