Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pytest for openSUSE:Factory checked in at 2022-08-10 17:12:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pytest (Old) and /work/SRC/openSUSE:Factory/.python-pytest.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest" Wed Aug 10 17:12:24 2022 rev:70 rq:993543 version:7.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pytest/python-pytest.changes 2022-04-23 19:45:28.650948459 +0200 +++ /work/SRC/openSUSE:Factory/.python-pytest.new.1521/python-pytest.changes 2022-08-10 17:12:29.237580715 +0200 @@ -1,0 +2,13 @@ +Fri Aug 5 11:36:38 UTC 2022 - Ben Greiner <c...@bnavigator.de> + +- Update to 7.1.2 + * #9726: An unnecessary numpy import inside + pytest.approx{.interpreted-text role="func"} was removed. + * #9820: Fix comparison of dataclasses with InitVar. + * #9869: Increase stacklevel for the NODE_CTOR_FSPATH_ARG + deprecation to point to the user's code, not pytest. + * #9871: Fix a bizarre (and fortunately rare) bug where the + [temp_path]{.title-ref} fixture could raise an internal error + while attempting to get the current user's username. + +------------------------------------------------------------------- Old: ---- pytest-7.1.1.tar.gz New: ---- pytest-7.1.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pytest.spec ++++++ --- /var/tmp/diff_new_pack.7FvCJH/_old 2022-08-10 17:12:29.865582355 +0200 +++ /var/tmp/diff_new_pack.7FvCJH/_new 2022-08-10 17:12:29.869582365 +0200 @@ -34,7 +34,7 @@ %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 Name: python-pytest%{psuffix} -Version: 7.1.1 +Version: 7.1.2 Release: 0 Summary: Simple powerful testing with Python License: MIT @@ -104,8 +104,7 @@ %check %if %{with test} -# assert rewrite: gh#pytest-dev/pytest#9761 -%pytest -n auto -k "not (test_assertrewrite)" +%pytest -n auto %endif %if ! %{with test} ++++++ pytest-7.1.1.tar.gz -> pytest-7.1.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/.github/workflows/deploy.yml new/pytest-7.1.2/.github/workflows/deploy.yml --- old/pytest-7.1.1/.github/workflows/deploy.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-7.1.2/.github/workflows/deploy.yml 2022-04-23 16:35:34.000000000 +0200 @@ -0,0 +1,56 @@ +name: deploy + +on: + push: + tags: + # These tags are protected, see: + # https://github.com/pytest-dev/pytest/settings/tag_protection + - "[0-9]+.[0-9]+.[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+" + + +# Set permissions at the job level. +permissions: {} + +jobs: + + deploy: + if: github.repository == 'pytest-dev/pytest' + + runs-on: ubuntu-latest + timeout-minutes: 30 + permissions: + contents: write + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.7" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade build tox + + - name: Build package + run: | + python -m build + + - name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.pypi_token }} + + - name: Publish GitHub release notes + env: + GH_RELEASE_NOTES_TOKEN: ${{ github.token }} + run: | + sudo apt-get install pandoc + tox -e publish-gh-release-notes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/.github/workflows/main.yml new/pytest-7.1.2/.github/workflows/main.yml --- old/pytest-7.1.1/.github/workflows/main.yml 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/.github/workflows/main.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,232 +0,0 @@ -name: main - -on: - push: - branches: - - main - - "[0-9]+.[0-9]+.x" - - "test-me-*" - tags: - - "[0-9]+.[0-9]+.[0-9]+" - - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+" - - pull_request: - branches: - - main - - "[0-9]+.[0-9]+.x" - -env: - PYTEST_ADDOPTS: "--color=yes" - -# Set permissions at the job level. -permissions: {} - -jobs: - build: - runs-on: ${{ matrix.os }} - timeout-minutes: 45 - permissions: - contents: read - - strategy: - fail-fast: false - matrix: - name: [ - "windows-py37", - "windows-py37-pluggy", - "windows-py38", - "windows-py39", - "windows-py310", - "windows-py311", - - "ubuntu-py37", - "ubuntu-py37-pluggy", - "ubuntu-py37-freeze", - "ubuntu-py38", - "ubuntu-py39", - "ubuntu-py310", - "ubuntu-py311", - "ubuntu-pypy3", - - "macos-py37", - "macos-py38", - "macos-py39", - "macos-py310", - - "docs", - "doctesting", - "plugins", - ] - - include: - - name: "windows-py37" - python: "3.7" - os: windows-latest - tox_env: "py37-numpy" - - name: "windows-py37-pluggy" - python: "3.7" - os: windows-latest - tox_env: "py37-pluggymain-xdist" - - name: "windows-py38" - python: "3.8" - os: windows-latest - tox_env: "py38-unittestextras" - use_coverage: true - - name: "windows-py39" - python: "3.9" - os: windows-latest - tox_env: "py39-xdist" - - name: "windows-py310" - python: "3.10" - os: windows-latest - tox_env: "py310-xdist" - - name: "windows-py311" - python: "3.11-dev" - os: windows-latest - tox_env: "py311" - - - name: "ubuntu-py37" - python: "3.7" - os: ubuntu-latest - tox_env: "py37-lsof-numpy-pexpect" - use_coverage: true - - name: "ubuntu-py37-pluggy" - python: "3.7" - os: ubuntu-latest - tox_env: "py37-pluggymain-xdist" - - name: "ubuntu-py37-freeze" - python: "3.7" - os: ubuntu-latest - tox_env: "py37-freeze" - - name: "ubuntu-py38" - python: "3.8" - os: ubuntu-latest - tox_env: "py38-xdist" - - name: "ubuntu-py39" - python: "3.9" - os: ubuntu-latest - tox_env: "py39-xdist" - - name: "ubuntu-py310" - python: "3.10" - os: ubuntu-latest - tox_env: "py310-xdist" - - name: "ubuntu-py311" - python: "3.11-dev" - os: ubuntu-latest - tox_env: "py311" - - name: "ubuntu-pypy3" - python: "pypy-3.7" - os: ubuntu-latest - tox_env: "pypy3-xdist" - - - name: "macos-py37" - python: "3.7" - os: macos-latest - tox_env: "py37-xdist" - - name: "macos-py38" - python: "3.8" - os: macos-latest - tox_env: "py38-xdist" - use_coverage: true - - name: "macos-py39" - python: "3.9" - os: macos-latest - tox_env: "py39-xdist" - - name: "macos-py310" - python: "3.10" - os: macos-latest - tox_env: "py310-xdist" - - - name: "plugins" - python: "3.9" - os: ubuntu-latest - tox_env: "plugins" - - - name: "docs" - python: "3.7" - os: ubuntu-latest - tox_env: "docs" - - name: "doctesting" - python: "3.7" - os: ubuntu-latest - tox_env: "doctesting" - use_coverage: true - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - persist-credentials: false - - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install tox coverage - - - name: Test without coverage - if: "! matrix.use_coverage" - run: "tox -e ${{ matrix.tox_env }}" - - - name: Test with coverage - if: "matrix.use_coverage" - run: "tox -e ${{ matrix.tox_env }}-coverage" - - - name: Generate coverage report - if: "matrix.use_coverage" - run: python -m coverage xml - - - name: Upload coverage to Codecov - if: "matrix.use_coverage" - uses: codecov/codecov-action@v2 - with: - fail_ci_if_error: true - files: ./coverage.xml - verbose: true - - deploy: - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'pytest-dev/pytest' - - runs-on: ubuntu-latest - timeout-minutes: 30 - permissions: - contents: write - - needs: [build] - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - persist-credentials: false - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.7" - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install --upgrade build tox - - - name: Build package - run: | - python -m build - - - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.pypi_token }} - - - name: Publish GitHub release notes - env: - GH_RELEASE_NOTES_TOKEN: ${{ github.token }} - run: | - sudo apt-get install pandoc - tox -e publish-gh-release-notes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/.github/workflows/test.yml new/pytest-7.1.2/.github/workflows/test.yml --- old/pytest-7.1.1/.github/workflows/test.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-7.1.2/.github/workflows/test.yml 2022-04-23 16:35:34.000000000 +0200 @@ -0,0 +1,189 @@ +name: test + +on: + push: + branches: + - main + - "[0-9]+.[0-9]+.x" + - "test-me-*" + tags: + - "[0-9]+.[0-9]+.[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+" + + pull_request: + branches: + - main + - "[0-9]+.[0-9]+.x" + +env: + PYTEST_ADDOPTS: "--color=yes" + +# Set permissions at the job level. +permissions: {} + +jobs: + build: + runs-on: ${{ matrix.os }} + timeout-minutes: 45 + permissions: + contents: read + + strategy: + fail-fast: false + matrix: + name: [ + "windows-py37", + "windows-py37-pluggy", + "windows-py38", + "windows-py39", + "windows-py310", + "windows-py311", + + "ubuntu-py37", + "ubuntu-py37-pluggy", + "ubuntu-py37-freeze", + "ubuntu-py38", + "ubuntu-py39", + "ubuntu-py310", + "ubuntu-py311", + "ubuntu-pypy3", + + "macos-py37", + "macos-py38", + "macos-py39", + "macos-py310", + + "docs", + "doctesting", + "plugins", + ] + + include: + - name: "windows-py37" + python: "3.7" + os: windows-latest + tox_env: "py37-numpy" + - name: "windows-py37-pluggy" + python: "3.7" + os: windows-latest + tox_env: "py37-pluggymain-xdist" + - name: "windows-py38" + python: "3.8" + os: windows-latest + tox_env: "py38-unittestextras" + use_coverage: true + - name: "windows-py39" + python: "3.9" + os: windows-latest + tox_env: "py39-xdist" + - name: "windows-py310" + python: "3.10" + os: windows-latest + tox_env: "py310-xdist" + - name: "windows-py311" + python: "3.11-dev" + os: windows-latest + tox_env: "py311" + + - name: "ubuntu-py37" + python: "3.7" + os: ubuntu-latest + tox_env: "py37-lsof-numpy-pexpect" + use_coverage: true + - name: "ubuntu-py37-pluggy" + python: "3.7" + os: ubuntu-latest + tox_env: "py37-pluggymain-xdist" + - name: "ubuntu-py37-freeze" + python: "3.7" + os: ubuntu-latest + tox_env: "py37-freeze" + - name: "ubuntu-py38" + python: "3.8" + os: ubuntu-latest + tox_env: "py38-xdist" + - name: "ubuntu-py39" + python: "3.9" + os: ubuntu-latest + tox_env: "py39-xdist" + - name: "ubuntu-py310" + python: "3.10" + os: ubuntu-latest + tox_env: "py310-xdist" + - name: "ubuntu-py311" + python: "3.11-dev" + os: ubuntu-latest + tox_env: "py311" + - name: "ubuntu-pypy3" + python: "pypy-3.7" + os: ubuntu-latest + tox_env: "pypy3-xdist" + + - name: "macos-py37" + python: "3.7" + os: macos-latest + tox_env: "py37-xdist" + - name: "macos-py38" + python: "3.8" + os: macos-latest + tox_env: "py38-xdist" + use_coverage: true + - name: "macos-py39" + python: "3.9" + os: macos-latest + tox_env: "py39-xdist" + - name: "macos-py310" + python: "3.10" + os: macos-latest + tox_env: "py310-xdist" + + - name: "plugins" + python: "3.9" + os: ubuntu-latest + tox_env: "plugins" + + - name: "docs" + python: "3.7" + os: ubuntu-latest + tox_env: "docs" + - name: "doctesting" + python: "3.7" + os: ubuntu-latest + tox_env: "doctesting" + use_coverage: true + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox coverage + + - name: Test without coverage + if: "! matrix.use_coverage" + run: "tox -e ${{ matrix.tox_env }}" + + - name: Test with coverage + if: "matrix.use_coverage" + run: "tox -e ${{ matrix.tox_env }}-coverage" + + - name: Generate coverage report + if: "matrix.use_coverage" + run: python -m coverage xml + + - name: Upload coverage to Codecov + if: "matrix.use_coverage" + uses: codecov/codecov-action@v2 + with: + fail_ci_if_error: true + files: ./coverage.xml + verbose: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/.pre-commit-config.yaml new/pytest-7.1.2/.pre-commit-config.yaml --- old/pytest-7.1.1/.pre-commit-config.yaml 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/.pre-commit-config.yaml 2022-04-23 16:35:34.000000000 +0200 @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 22.1.0 + rev: 22.3.0 hooks: - id: black args: [--safe, --quiet] @@ -37,7 +37,7 @@ - flake8-typing-imports==1.12.0 - flake8-docstrings==1.5.0 - repo: https://github.com/asottile/reorder_python_imports - rev: v2.7.1 + rev: v3.0.1 hooks: - id: reorder-python-imports args: ['--application-directories=.:src', --py37-plus] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/AUTHORS new/pytest-7.1.2/AUTHORS --- old/pytest-7.1.1/AUTHORS 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/AUTHORS 2022-04-23 16:35:34.000000000 +0200 @@ -185,6 +185,7 @@ Keri Volans Kevin Cox Kevin J. Foley +Kian Eliasi Kian-Meng Ang Kodi B. Arfer Kojo Idrissa @@ -255,6 +256,7 @@ Oscar Benjamin Parth Patel Patrick Hayes +Paul M??ller Pauli Virtanen Pavel Karateev Pawe?? Adamczak diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/CONTRIBUTING.rst new/pytest-7.1.2/CONTRIBUTING.rst --- old/pytest-7.1.1/CONTRIBUTING.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/CONTRIBUTING.rst 2022-04-23 16:35:34.000000000 +0200 @@ -50,6 +50,8 @@ -------- Look through the `GitHub issues for bugs <https://github.com/pytest-dev/pytest/labels/type:%20bug>`_. +See also the `"status: easy" issues <https://github.com/pytest-dev/pytest/labels/status%3A%20easy>`_ +that are friendly to new contributors. :ref:`Talk <contact>` to developers to find out how you can fix specific bugs. To indicate that you are going to work on a particular issue, add a comment to that effect on the specific issue. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/PKG-INFO new/pytest-7.1.2/PKG-INFO --- old/pytest-7.1.1/PKG-INFO 2022-03-17 22:14:50.000000000 +0100 +++ new/pytest-7.1.2/PKG-INFO 2022-04-23 16:35:45.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pytest -Version: 7.1.1 +Version: 7.1.2 Summary: pytest: simple powerful testing with Python Home-page: https://docs.pytest.org/en/latest/ Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others @@ -57,8 +57,8 @@ :target: https://codecov.io/gh/pytest-dev/pytest :alt: Code coverage Status -.. image:: https://github.com/pytest-dev/pytest/workflows/main/badge.svg - :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Amain +.. image:: https://github.com/pytest-dev/pytest/workflows/test/badge.svg + :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Atest .. image:: https://results.pre-commit.ci/badge/github/pytest-dev/pytest/main.svg :target: https://results.pre-commit.ci/latest/github/pytest-dev/pytest/main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/README.rst new/pytest-7.1.2/README.rst --- old/pytest-7.1.1/README.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/README.rst 2022-04-23 16:35:34.000000000 +0200 @@ -20,8 +20,8 @@ :target: https://codecov.io/gh/pytest-dev/pytest :alt: Code coverage Status -.. image:: https://github.com/pytest-dev/pytest/workflows/main/badge.svg - :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Amain +.. image:: https://github.com/pytest-dev/pytest/workflows/test/badge.svg + :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Atest .. image:: https://results.pre-commit.ci/badge/github/pytest-dev/pytest/main.svg :target: https://results.pre-commit.ci/latest/github/pytest-dev/pytest/main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/announce/index.rst new/pytest-7.1.2/doc/en/announce/index.rst --- old/pytest-7.1.1/doc/en/announce/index.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/announce/index.rst 2022-04-23 16:35:34.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 2 + release-7.1.2 release-7.1.1 release-7.1.0 release-7.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/announce/release-7.1.2.rst new/pytest-7.1.2/doc/en/announce/release-7.1.2.rst --- old/pytest-7.1.1/doc/en/announce/release-7.1.2.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-7.1.2/doc/en/announce/release-7.1.2.rst 2022-04-23 16:35:34.000000000 +0200 @@ -0,0 +1,23 @@ +pytest-7.1.2 +======================================= + +pytest 7.1.2 has just been released to PyPI. + +This is a bug-fix release, being a drop-in replacement. To upgrade:: + + pip install --upgrade pytest + +The full changelog is available at https://docs.pytest.org/en/stable/changelog.html. + +Thanks to all of the contributors to this release: + +* Anthony Sottile +* Bruno Oliveira +* Hugo van Kemenade +* Kian Eliasi +* Ran Benita +* Zac Hatfield-Dodds + + +Happy testing, +The pytest Development Team diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/builtin.rst new/pytest-7.1.2/doc/en/builtin.rst --- old/pytest-7.1.1/doc/en/builtin.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/builtin.rst 2022-04-23 16:35:34.000000000 +0200 @@ -170,10 +170,10 @@ See https://docs.python.org/library/how-to/capture-warnings.html for information on warning categories. - tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:183 + tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:184 Return a :class:`pytest.TempPathFactory` instance for the test session. - tmp_path -- .../_pytest/tmpdir.py:198 + tmp_path -- .../_pytest/tmpdir.py:199 Return a temporary directory path object which is unique to each test function invocation, created as a sub directory of the base temporary directory. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/changelog.rst new/pytest-7.1.2/doc/en/changelog.rst --- old/pytest-7.1.1/doc/en/changelog.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/changelog.rst 2022-04-23 16:35:34.000000000 +0200 @@ -28,6 +28,26 @@ .. towncrier release notes start +pytest 7.1.2 (2022-04-23) +========================= + +Bug Fixes +--------- + +- `#9726 <https://github.com/pytest-dev/pytest/issues/9726>`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed. + + +- `#9820 <https://github.com/pytest-dev/pytest/issues/9820>`_: Fix comparison of ``dataclasses`` with ``InitVar``. + + +- `#9869 <https://github.com/pytest-dev/pytest/issues/9869>`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the + user's code, not pytest. + + +- `#9871 <https://github.com/pytest-dev/pytest/issues/9871>`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise + an internal error while attempting to get the current user's username. + + pytest 7.1.1 (2022-03-17) ========================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/getting-started.rst new/pytest-7.1.2/doc/en/getting-started.rst --- old/pytest-7.1.1/doc/en/getting-started.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/getting-started.rst 2022-04-23 16:35:34.000000000 +0200 @@ -22,7 +22,7 @@ .. code-block:: bash $ pytest --version - pytest 7.1.1 + pytest 7.1.2 .. _`simpletest`: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/how-to/logging.rst new/pytest-7.1.2/doc/en/how-to/logging.rst --- old/pytest-7.1.1/doc/en/how-to/logging.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/how-to/logging.rst 2022-04-23 16:35:34.000000000 +0200 @@ -198,6 +198,8 @@ If you need to record the whole test suite logging calls to a file, you can pass ``--log-file=/path/to/log/file``. This log file is opened in write mode which means that it will be overwritten at each run tests session. +Note that relative paths for the log-file location, whether passed on the CLI or declared in a +config file, are always resolved relative to the current working directory. You can also specify the logging level for the log file by passing ``--log-file-level``. This setting accepts the logging level names as seen in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/reference/reference.rst new/pytest-7.1.2/doc/en/reference/reference.rst --- old/pytest-7.1.1/doc/en/reference/reference.rst 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/reference/reference.rst 2022-04-23 16:35:34.000000000 +0200 @@ -1514,7 +1514,7 @@ - Sets a file name relative to the ``pytest.ini`` file where log messages should be written to, in addition + Sets a file name relative to the current working directory where log messages should be written to, in addition to the other logging facilities that are active. .. code-block:: ini diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/doc/en/requirements.txt new/pytest-7.1.2/doc/en/requirements.txt --- old/pytest-7.1.1/doc/en/requirements.txt 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/doc/en/requirements.txt 2022-04-23 16:35:34.000000000 +0200 @@ -5,3 +5,6 @@ sphinx>=3.1,<4 sphinxcontrib-trio sphinxcontrib-svg2pdfconverter + +# XXX: sphinx<4 is broken with latest jinja2 +jinja2<3.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/_pytest/_version.py new/pytest-7.1.2/src/_pytest/_version.py --- old/pytest-7.1.1/src/_pytest/_version.py 2022-03-17 22:14:48.000000000 +0100 +++ new/pytest-7.1.2/src/_pytest/_version.py 2022-04-23 16:35:44.000000000 +0200 @@ -1,5 +1,5 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '7.1.1' -version_tuple = (7, 1, 1) +version = '7.1.2' +version_tuple = (7, 1, 2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/_pytest/assertion/util.py new/pytest-7.1.2/src/_pytest/assertion/util.py --- old/pytest-7.1.1/src/_pytest/assertion/util.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/src/_pytest/assertion/util.py 2022-04-23 16:35:34.000000000 +0200 @@ -437,8 +437,10 @@ if not has_default_eq(left): return [] if isdatacls(left): - all_fields = left.__dataclass_fields__ - fields_to_check = [field for field, info in all_fields.items() if info.compare] + import dataclasses + + all_fields = dataclasses.fields(left) + fields_to_check = [info.name for info in all_fields if info.compare] elif isattrs(left): all_fields = left.__attrs_attrs__ fields_to_check = [field.name for field in all_fields if getattr(field, "eq")] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/_pytest/nodes.py new/pytest-7.1.2/src/_pytest/nodes.py --- old/pytest-7.1.1/src/_pytest/nodes.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/src/_pytest/nodes.py 2022-04-23 16:35:34.000000000 +0200 @@ -111,7 +111,7 @@ NODE_CTOR_FSPATH_ARG.format( node_type_name=node_type.__name__, ), - stacklevel=3, + stacklevel=6, ) if path is not None: if fspath is not None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/_pytest/python_api.py new/pytest-7.1.2/src/_pytest/python_api.py --- old/pytest-7.1.1/src/_pytest/python_api.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/src/_pytest/python_api.py 2022-04-23 16:35:34.000000000 +0200 @@ -319,7 +319,6 @@ def _repr_compare(self, other_side: Sequence[float]) -> List[str]: import math - import numpy as np if len(self.expected) != len(other_side): return [ @@ -340,7 +339,7 @@ abs_diff = abs(approx_value.expected - other_value) max_abs_diff = max(max_abs_diff, abs_diff) if other_value == 0.0: - max_rel_diff = np.inf + max_rel_diff = math.inf else: max_rel_diff = max(max_rel_diff, abs_diff / abs(other_value)) different_ids.append(i) @@ -573,7 +572,7 @@ >>> {'a': 0.1 + 0.2, 'b': 0.2 + 0.4} == approx({'a': 0.3, 'b': 0.6}) True - The comparision will be true if both mappings have the same keys and their + The comparison will be true if both mappings have the same keys and their respective values match the expected tolerances. **Tolerances** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/_pytest/tmpdir.py new/pytest-7.1.2/src/_pytest/tmpdir.py --- old/pytest-7.1.1/src/_pytest/tmpdir.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/src/_pytest/tmpdir.py 2022-04-23 16:35:34.000000000 +0200 @@ -158,9 +158,10 @@ def get_user() -> Optional[str]: """Return the current user name, or None if getuser() does not work in the current environment (see #1010).""" - import getpass - try: + # In some exotic environments, getpass may not be importable. + import getpass + return getpass.getuser() except (ImportError, KeyError): return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/pytest.egg-info/PKG-INFO new/pytest-7.1.2/src/pytest.egg-info/PKG-INFO --- old/pytest-7.1.1/src/pytest.egg-info/PKG-INFO 2022-03-17 22:14:49.000000000 +0100 +++ new/pytest-7.1.2/src/pytest.egg-info/PKG-INFO 2022-04-23 16:35:45.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pytest -Version: 7.1.1 +Version: 7.1.2 Summary: pytest: simple powerful testing with Python Home-page: https://docs.pytest.org/en/latest/ Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others @@ -57,8 +57,8 @@ :target: https://codecov.io/gh/pytest-dev/pytest :alt: Code coverage Status -.. image:: https://github.com/pytest-dev/pytest/workflows/main/badge.svg - :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Amain +.. image:: https://github.com/pytest-dev/pytest/workflows/test/badge.svg + :target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Atest .. image:: https://results.pre-commit.ci/badge/github/pytest-dev/pytest/main.svg :target: https://results.pre-commit.ci/latest/github/pytest-dev/pytest/main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/src/pytest.egg-info/SOURCES.txt new/pytest-7.1.2/src/pytest.egg-info/SOURCES.txt --- old/pytest-7.1.1/src/pytest.egg-info/SOURCES.txt 2022-03-17 22:14:50.000000000 +0100 +++ new/pytest-7.1.2/src/pytest.egg-info/SOURCES.txt 2022-04-23 16:35:45.000000000 +0200 @@ -28,8 +28,9 @@ .github/ISSUE_TEMPLATE/2_feature_request.md .github/ISSUE_TEMPLATE/config.yml .github/workflows/backport.yml -.github/workflows/main.yml +.github/workflows/deploy.yml .github/workflows/prepare-release-pr.yml +.github/workflows/test.yml .github/workflows/update-plugin-list.yml bench/bench.py bench/bench_argcomplete.py @@ -222,6 +223,7 @@ doc/en/announce/release-7.0.1.rst doc/en/announce/release-7.1.0.rst doc/en/announce/release-7.1.1.rst +doc/en/announce/release-7.1.2.rst doc/en/announce/sprint2016.rst doc/en/example/attic.rst doc/en/example/conftest.py @@ -476,6 +478,7 @@ testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +testing/example_scripts/dataclasses/test_compare_initvar.py testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py testing/example_scripts/doctest/main_py/__main__.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/testing/example_scripts/dataclasses/test_compare_initvar.py new/pytest-7.1.2/testing/example_scripts/dataclasses/test_compare_initvar.py --- old/pytest-7.1.1/testing/example_scripts/dataclasses/test_compare_initvar.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-7.1.2/testing/example_scripts/dataclasses/test_compare_initvar.py 2022-04-23 16:35:34.000000000 +0200 @@ -0,0 +1,12 @@ +from dataclasses import dataclass +from dataclasses import InitVar + + +@dataclass +class Foo: + init_only: InitVar[int] + real_attr: int + + +def test_demonstrate(): + assert Foo(1, 2) == Foo(1, 3) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/testing/python/approx.py new/pytest-7.1.2/testing/python/approx.py --- old/pytest-7.1.1/testing/python/approx.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/testing/python/approx.py 2022-04-23 16:35:34.000000000 +0200 @@ -92,9 +92,7 @@ class TestApprox: - def test_error_messages(self, assert_approx_raises_regex): - np = pytest.importorskip("numpy") - + def test_error_messages_native_dtypes(self, assert_approx_raises_regex): assert_approx_raises_regex( 2.0, 1.0, @@ -135,6 +133,22 @@ ], ) + # Specific test for comparison with 0.0 (relative diff will be 'inf') + assert_approx_raises_regex( + [0.0], + [1.0], + [ + r" comparison failed. Mismatched elements: 1 / 1:", + rf" Max absolute difference: {SOME_FLOAT}", + r" Max relative difference: inf", + r" Index \| Obtained\s+\| Expected ", + rf"\s*0\s*\| {SOME_FLOAT} \| {SOME_FLOAT} ?? {SOME_FLOAT}", + ], + ) + + def test_error_messages_numpy_dtypes(self, assert_approx_raises_regex): + np = pytest.importorskip("numpy") + a = np.linspace(0, 100, 20) b = np.linspace(0, 100, 20) a[10] += 0.5 @@ -176,18 +190,6 @@ # Specific test for comparison with 0.0 (relative diff will be 'inf') assert_approx_raises_regex( - [0.0], - [1.0], - [ - r" comparison failed. Mismatched elements: 1 / 1:", - rf" Max absolute difference: {SOME_FLOAT}", - r" Max relative difference: inf", - r" Index \| Obtained\s+\| Expected ", - rf"\s*0\s*\| {SOME_FLOAT} \| {SOME_FLOAT} ?? {SOME_FLOAT}", - ], - ) - - assert_approx_raises_regex( np.array([0.0]), np.array([1.0]), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/testing/test_assertion.py new/pytest-7.1.2/testing/test_assertion.py --- old/pytest-7.1.1/testing/test_assertion.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/testing/test_assertion.py 2022-04-23 16:35:34.000000000 +0200 @@ -882,6 +882,13 @@ result.assert_outcomes(failed=1, passed=0) result.stdout.no_re_match_line(".*Differing attributes.*") + def test_data_classes_with_initvar(self, pytester: Pytester) -> None: + p = pytester.copy_example("dataclasses/test_compare_initvar.py") + # issue 9820 + result = pytester.runpytest(p, "-vv") + result.assert_outcomes(failed=1, passed=0) + result.stdout.no_re_match_line(".*AttributeError.*") + class TestAssert_reprcompare_attrsclass: def test_attrs(self) -> None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-7.1.1/testing/test_collection.py new/pytest-7.1.2/testing/test_collection.py --- old/pytest-7.1.1/testing/test_collection.py 2022-03-17 22:14:35.000000000 +0100 +++ new/pytest-7.1.2/testing/test_collection.py 2022-04-23 16:35:34.000000000 +0200 @@ -651,7 +651,7 @@ for parent in col.listchain(): assert parent.config is config - def test_pkgfile(self, pytester: Pytester) -> None: + def test_pkgfile(self, pytester: Pytester, monkeypatch: MonkeyPatch) -> None: """Verify nesting when a module is within a package. The parent chain should match: Module<x.py> -> Package<subdir> -> Session. Session's parent should always be None. @@ -660,7 +660,8 @@ subdir = tmp_path.joinpath("subdir") x = ensure_file(subdir / "x.py") ensure_file(subdir / "__init__.py") - with subdir.cwd(): + with monkeypatch.context() as mp: + mp.chdir(subdir) config = pytester.parseconfigure(x) col = pytester.getnode(config, x) assert col is not None @@ -1188,8 +1189,7 @@ """ % (str(subdir),) ) - with pytester.path.cwd(): - result = pytester.runpytest() + result = pytester.runpytest() result.stdout.fnmatch_lines(["*1 passed in*"]) assert result.ret == 0 @@ -1200,8 +1200,7 @@ testpaths = . """ ) - with pytester.path.cwd(): - result = pytester.runpytest("--collect-only") + result = pytester.runpytest("--collect-only") result.stdout.fnmatch_lines(["collected 1 item"]) @@ -1224,7 +1223,8 @@ ) ) monkeypatch.setenv("PYTHONPATH", str(pytester.path), prepend=os.pathsep) - with root.cwd(): + with monkeypatch.context() as mp: + mp.chdir(root) result = pytester.runpytest_subprocess() result.stdout.fnmatch_lines(["*1 passed in*"])