Accepting request 1040176 from devel:languages:python:pytest
- Add fix-test-raising-repr.patch gh#pytest-dev/pytest#10473, this make it compatible with latest release of python-exceptiongroup - Remove python_module macro definition - Update to 7.2.0: # Deprecations - #10012: Update pytest.PytestUnhandledCoroutineWarning{.interpreted-text role="class"} to a deprecation; it will raise an error in pytest 8. - #10396: pytest no longer depends on the py library. pytest provides a vendored copy of py.error and py.path modules but will use the py library if it is installed. If you need other py.* modules, continue to install the deprecated py library separately, otherwise it can usually be removed as a dependency. - #4562: Deprecate configuring hook specs/impls using attributes/marks. - Instead use :pypytest.hookimpl{.interpreted-text role="func"} and :pypytest.hookspec{.interpreted-text role="func"}. For more details, see the docs <legacy-path-hooks-deprecated>{.interpreted-text role="ref"}. - #9886: The functionality for running tests written for nose has been officially deprecated. This includes: * Plain setup and teardown functions and methods: this might catch users by surprise, as setup() and teardown() are not pytest idioms, but part of the nose support. * Setup/teardown using the @with_setup decorator. For more details, consult the deprecation docs <nose-deprecation>{.interpreted-text role="ref"}. # Features - #9897: Added shell-style wildcard support to testpaths. # Improvements - #10218: @pytest.mark.parametrize() (and similar functions) now accepts any Sequence[str] for the argument names, instead of just list[str] and tuple[str, ...]. (Note that str, which is itself a Sequence[str], is still treated as a comma-delimited name list, as before). - #10381: The --no-showlocals flag has been added. This can be passed directly to tests to override --showlocals declared through addopts. - #3426: Assertion failures with strings in NFC and NFD forms that normalize to the same string now have a dedicated error message detailing the issue, and their utf-8 representation is expresed instead. - #7337: A warning is now emitted if a test function returns something other than [None]{.title-ref}. This prevents a common mistake among beginners that expect that returning a [bool]{.title-ref} (for example [return foo(a, b) == result]{.title-ref}) would cause a test to pass or fail, instead of using [assert]{.title-ref}. - #8508: Introduce multiline display for warning matching via :pypytest.warns{.interpreted-text role="func"} and enhance match comparison for :py_pytest._code.ExceptionInfo.match{.interpreted-text role="func"} as returned by :pypytest.raises{.interpreted-text role="func"}. - #8646: Improve :pypytest.raises{.interpreted-text role="func"}. Previously passing an empty tuple would give a confusing error. We now raise immediately with a more helpful message. - #9741: On Python 3.11, use the standard library's tomllib{.interpreted-text role="mod"} to parse TOML. tomli{.interpreted-text role="mod"}` is no longer a dependency on Python 3.11. - #9742: Display assertion message without escaped newline characters with -vv. - #9823: Improved error message that is shown when no collector is found for a given file. - #9873: Some coloring has been added to the short test summary. - #9883: Normalize the help description of all command-line options. - #9920: Display full crash messages in short test summary info, when runng in a CI environment. - #9987: Added support for hidden configuration file by allowing .pytest.ini as an alternative to pytest.ini. # Bug Fixes - #10150: sys.stdin{.interpreted-text role="data"} now contains all expected methods of a file-like object when capture is enabled. - #10382: Do not break into pdb when raise unittest.SkipTest() appears top-level in a file. - #7792: Marks are now inherited according to the full MRO in test classes. Previously, if a test class inherited from two or more classes, only marks from the first super-class would apply. When inheriting marks from super-classes, marks from the sub-classes are now ordered before marks from the super-classes, in MRO order. Previously it was the reverse. When inheriting marks from super-classes, the [pytestmark]{.title-ref} attribute of the sub-class now only contains the marks directly applied to it. Previously, it also contained marks from its super-classes. Please note that this attribute should not normally be accessed directly; use pytest.Node.iter_markers{.interpreted-text role="func"} instead. - #9159: Showing inner exceptions by forcing native display in ExceptionGroups even when using display options other than --tb=native. A temporary step before full implementation of pytest-native display for inner exceptions in ExceptionGroups. - #9877: Ensure caplog.get_records(when) returns current/correct data after invoking caplog.clear(). # Improved Documentation - #10344: Update information on writing plugins to use pyproject.toml instead of setup.py. - #9248: The documentation is now built using Sphinx 5.x (up from 3.x previously). - #9291: Update documentation on how pytest.warns{.interpreted-text role="func"} affects DeprecationWarning{.interpreted-text role="class"}. - pytest 7.1.3 (2022-08-31) # Bug Fixes - #10060: When running with --pdb, TestCase.tearDown is no longer called for tests when the class has been skipped via unittest.skip or pytest.mark.skip. - #10190: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports. - #10230: Ignore .py files created by pyproject.toml-based editable builds introduced in pip 21.3. - #3396: Doctests now respect the --import-mode flag. - #9514: Type-annotate FixtureRequest.param as Any as a stop gap measure until 8073{.interpreted-text role="issue"} is fixed. - #9791: Fixed a path handling code in rewrite.py that seems to work fine, but was incorrect and fails in some systems. - #9917: Fixed string representation for pytest.approx{.interpreted-text role="func"} when used to compare tuples. # Improved Documentation - #9937: Explicit note that tmpdir{.interpreted-text role="fixture"} fixture is discouraged in favour of tmp_path{.interpreted-text role="fixture"}. OBS-URL: https://build.opensuse.org/request/show/1040176 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=71
This commit is contained in:
commit
d18f6fa794
21
fix-test-raising-repr.patch
Normal file
21
fix-test-raising-repr.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Index: pytest-7.2.0/testing/test_assertion.py
|
||||
===================================================================
|
||||
--- pytest-7.2.0.orig/testing/test_assertion.py
|
||||
+++ pytest-7.2.0/testing/test_assertion.py
|
||||
@@ -1664,15 +1664,7 @@ def test_raise_assertion_error_raising_r
|
||||
"""
|
||||
)
|
||||
result = pytester.runpytest()
|
||||
- if sys.version_info >= (3, 11):
|
||||
- # python 3.11 has native support for un-str-able exceptions
|
||||
- result.stdout.fnmatch_lines(
|
||||
- ["E AssertionError: <exception str() failed>"]
|
||||
- )
|
||||
- else:
|
||||
- result.stdout.fnmatch_lines(
|
||||
- ["E AssertionError: <unprintable AssertionError object>"]
|
||||
- )
|
||||
+ result.stdout.fnmatch_lines(["E AssertionError: <exception str() failed>"])
|
||||
|
||||
|
||||
def test_issue_1944(pytester: Pytester) -> None:
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45
|
||||
size 1256241
|
3
pytest-7.2.0.tar.gz
Normal file
3
pytest-7.2.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59
|
||||
size 1300608
|
@ -1,3 +1,128 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 5 08:51:41 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Add fix-test-raising-repr.patch gh#pytest-dev/pytest#10473, this make it
|
||||
compatible with latest release of python-exceptiongroup
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 29 13:09:22 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Remove python_module macro definition
|
||||
- Update to 7.2.0:
|
||||
# Deprecations
|
||||
- #10012: Update pytest.PytestUnhandledCoroutineWarning{.interpreted-text
|
||||
role="class"} to a deprecation; it will raise an error in pytest 8.
|
||||
- #10396: pytest no longer depends on the py library. pytest provides a
|
||||
vendored copy of py.error and py.path modules but will use the py library
|
||||
if it is installed. If you need other py.* modules, continue to install the
|
||||
deprecated py library separately, otherwise it can usually be removed as a
|
||||
dependency.
|
||||
- #4562: Deprecate configuring hook specs/impls using attributes/marks.
|
||||
- Instead use :pypytest.hookimpl{.interpreted-text role="func"} and
|
||||
:pypytest.hookspec{.interpreted-text role="func"}.
|
||||
For more details, see the docs
|
||||
<legacy-path-hooks-deprecated>{.interpreted-text role="ref"}.
|
||||
- #9886: The functionality for running tests written for nose has been
|
||||
officially deprecated.
|
||||
This includes:
|
||||
* Plain setup and teardown functions and methods: this might catch users
|
||||
by surprise, as setup() and teardown() are not pytest idioms, but part
|
||||
of the nose support.
|
||||
* Setup/teardown using the @with_setup decorator.
|
||||
For more details, consult the deprecation docs
|
||||
<nose-deprecation>{.interpreted-text role="ref"}.
|
||||
# Features
|
||||
- #9897: Added shell-style wildcard support to testpaths.
|
||||
# Improvements
|
||||
- #10218: @pytest.mark.parametrize() (and similar functions) now accepts any
|
||||
Sequence[str] for the argument names, instead of just list[str] and
|
||||
tuple[str, ...].
|
||||
(Note that str, which is itself a Sequence[str], is still treated as a
|
||||
comma-delimited name list, as before).
|
||||
- #10381: The --no-showlocals flag has been added. This can be passed
|
||||
directly to tests to override --showlocals declared through addopts.
|
||||
- #3426: Assertion failures with strings in NFC and NFD forms that normalize
|
||||
to the same string now have a dedicated error message detailing the issue,
|
||||
and their utf-8 representation is expresed instead.
|
||||
- #7337: A warning is now emitted if a test function returns something other
|
||||
than [None]{.title-ref}. This prevents a common mistake among beginners
|
||||
that expect that returning a [bool]{.title-ref} (for example [return foo(a,
|
||||
b) == result]{.title-ref}) would cause a test to pass or fail, instead of
|
||||
using [assert]{.title-ref}.
|
||||
- #8508: Introduce multiline display for warning matching via
|
||||
:pypytest.warns{.interpreted-text role="func"} and enhance match comparison
|
||||
for :py_pytest._code.ExceptionInfo.match{.interpreted-text role="func"} as
|
||||
returned by :pypytest.raises{.interpreted-text role="func"}.
|
||||
- #8646: Improve :pypytest.raises{.interpreted-text role="func"}. Previously
|
||||
passing an empty tuple would give a confusing error. We now raise
|
||||
immediately with a more helpful message.
|
||||
- #9741: On Python 3.11, use the standard library's tomllib{.interpreted-text
|
||||
role="mod"} to parse TOML. tomli{.interpreted-text role="mod"}` is no
|
||||
longer a dependency on Python 3.11.
|
||||
- #9742: Display assertion message without escaped newline characters with
|
||||
-vv.
|
||||
- #9823: Improved error message that is shown when no collector is found for
|
||||
a given file.
|
||||
- #9873: Some coloring has been added to the short test summary.
|
||||
- #9883: Normalize the help description of all command-line options.
|
||||
- #9920: Display full crash messages in short test summary info, when runng
|
||||
in a CI environment.
|
||||
- #9987: Added support for hidden configuration file by allowing .pytest.ini
|
||||
as an alternative to pytest.ini.
|
||||
# Bug Fixes
|
||||
- #10150: sys.stdin{.interpreted-text role="data"} now contains all expected
|
||||
methods of a file-like object when capture is enabled.
|
||||
- #10382: Do not break into pdb when raise unittest.SkipTest() appears
|
||||
top-level in a file.
|
||||
- #7792: Marks are now inherited according to the full MRO in test classes.
|
||||
Previously, if a test class inherited from two or more classes, only marks
|
||||
from the first super-class would apply.
|
||||
|
||||
When inheriting marks from super-classes, marks from the sub-classes are
|
||||
now ordered before marks from the super-classes, in MRO order. Previously
|
||||
it was the reverse.
|
||||
|
||||
When inheriting marks from super-classes, the [pytestmark]{.title-ref}
|
||||
attribute of the sub-class now only contains the marks directly applied to
|
||||
it. Previously, it also contained marks from its super-classes. Please note
|
||||
that this attribute should not normally be accessed directly; use
|
||||
pytest.Node.iter_markers{.interpreted-text role="func"} instead.
|
||||
|
||||
- #9159: Showing inner exceptions by forcing native display in
|
||||
ExceptionGroups even when using display options other than --tb=native. A
|
||||
temporary step before full implementation of pytest-native display for
|
||||
inner exceptions in ExceptionGroups.
|
||||
|
||||
- #9877: Ensure caplog.get_records(when) returns current/correct data after
|
||||
invoking caplog.clear().
|
||||
|
||||
# Improved Documentation
|
||||
- #10344: Update information on writing plugins to use pyproject.toml instead
|
||||
of setup.py.
|
||||
- #9248: The documentation is now built using Sphinx 5.x (up from 3.x
|
||||
previously).
|
||||
- #9291: Update documentation on how pytest.warns{.interpreted-text
|
||||
role="func"} affects DeprecationWarning{.interpreted-text role="class"}.
|
||||
- pytest 7.1.3 (2022-08-31)
|
||||
# Bug Fixes
|
||||
- #10060: When running with --pdb, TestCase.tearDown is no longer called for
|
||||
tests when the class has been skipped via unittest.skip or
|
||||
pytest.mark.skip.
|
||||
- #10190: Invalid XML characters in setup or teardown error messages are now
|
||||
properly escaped for JUnit XML reports.
|
||||
- #10230: Ignore .py files created by pyproject.toml-based editable builds
|
||||
introduced in pip 21.3.
|
||||
- #3396: Doctests now respect the --import-mode flag.
|
||||
- #9514: Type-annotate FixtureRequest.param as Any as a stop gap measure
|
||||
until 8073{.interpreted-text role="issue"} is fixed.
|
||||
- #9791: Fixed a path handling code in rewrite.py that seems to work fine,
|
||||
but was incorrect and fails in some systems.
|
||||
- #9917: Fixed string representation for pytest.approx{.interpreted-text
|
||||
role="func"} when used to compare tuples.
|
||||
# Improved Documentation
|
||||
- #9937: Explicit note that tmpdir{.interpreted-text role="fixture"} fixture
|
||||
is discouraged in favour of tmp_path{.interpreted-text role="fixture"}.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 11:36:38 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
|
@ -31,15 +31,16 @@
|
||||
%bcond_with test
|
||||
%endif
|
||||
|
||||
%{?!python_module:%define python_module() python3-%{**}}
|
||||
%define skip_python2 1
|
||||
Name: python-pytest%{psuffix}
|
||||
Version: 7.1.2
|
||||
Version: 7.2.0
|
||||
Release: 0
|
||||
Summary: Simple powerful testing with Python
|
||||
License: MIT
|
||||
URL: https://github.com/pytest-dev/pytest
|
||||
Source: https://files.pythonhosted.org/packages/source/p/pytest/pytest-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM fix-test-raising-repr.patch gh#pytest-dev/pytest#10473
|
||||
Patch: fix-test-raising-repr.patch
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
BuildRequires: %{python_module setuptools_scm >= 6}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
@ -47,11 +48,11 @@ BuildRequires: %{python_module tomli >= 1}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros >= 20210929
|
||||
Requires: python-attrs >= 19.2.0
|
||||
Requires: python-exceptiongroup
|
||||
Requires: python-importlib-metadata >= 0.12
|
||||
Requires: python-iniconfig
|
||||
Requires: python-packaging
|
||||
Requires: python-pluggy >= 0.12
|
||||
Requires: python-py >= 1.8.2
|
||||
Requires: python-setuptools
|
||||
Requires: python-tomli >= 1
|
||||
%if %{with libalternatives}
|
||||
@ -90,6 +91,8 @@ complex functional testing for applications and libraries.
|
||||
%autosetup -p1 -n pytest-%{version}
|
||||
# fix gh#pytest-dev/pytest#7891 still happening for Leap
|
||||
sed -i '/^\[metadata\]/ a version = %{version}' setup.cfg
|
||||
# Tests not failing with our current version of packages gh#pytest-dev/pytest#10042
|
||||
sed -i '/pytest.mark.xfail(reason="#10042")/d' testing/test_debugging.py
|
||||
|
||||
%build
|
||||
%python_build
|
||||
@ -139,7 +142,9 @@ alternatives=$(update-alternatives --quiet --list py.test 2> /dev/null) && (
|
||||
%license LICENSE
|
||||
%python_alternative %{_bindir}/pytest
|
||||
%python_alternative %{_bindir}/py.test
|
||||
%pycache_only %{python_sitelib}/__pycache__/*.pyc
|
||||
%{python_sitelib}/_pytest
|
||||
%{python_sitelib}/py.py
|
||||
%{python_sitelib}/pytest
|
||||
%{python_sitelib}/pytest-%{version}*-info
|
||||
%endif
|
||||
|
Loading…
Reference in New Issue
Block a user