Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 28, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
coverage ==7.4.4 -> ==7.7.0 age adoption passing confidence

Release Notes

nedbat/coveragepy (coverage)

v7.7.0

Compare Source

  • The Coverage object has a new method, :meth:.Coverage.branch_stats for
    getting simple branch information for a module. Closes issue 1888_.

  • The :class:Coverage constructor<.Coverage> now has a plugins parameter
    for passing in plugin objects directly, thanks to Alex Gaynor <pull 1919_>_.

  • Many constant tests in if statements are now recognized as being optimized
    away. For example, previously if 13: would have been considered a branch
    with one path not taken. Now it is understood as always true and no coverage
    is missing.

  • The experimental sys.monitoring support now works for branch coverage if you
    are using Python 3.14.0 alpha 6 or newer. This should reduce the overhead
    coverage.py imposes on your test suite. Set the environment variable
    COVERAGE_CORE=sysmon to try it out.

  • Confirmed support for PyPy 3.11. Thanks Michał Górny.

.. _issue 1888:https://github.com/nedbat/coveragepy/issues/18888
.. _pull 1919https://github.com/nedbat/coveragepy/pull/191919

.. _changes_7-6-12:

v7.6.12

Compare Source

  • Fix: some aarch64 distributions were missing (issue 1927_). These are now
    building reliably.

.. _issue 1927:https://github.com/nedbat/coveragepy/issues/19277

.. _changes_7-6-11:

v7.6.11

Compare Source

  • Fix: a memory leak in CTracer has been fixed. The details are in issue 1924_ and pytest-dev 676_. This should reduce the memory footprint for
    everyone even if it hadn't caused a problem before.

  • We now ship a py3-none-any.whl wheel file. Thanks, Russell Keith-Magee <pull 1914_>_.

.. _pull 1914:https://github.com/nedbat/coveragepy/pull/19144
.. _issue 1924https://github.com/nedbat/coveragepy/issues/192424
.. _pytest-dev 67https://github.com/pytest-dev/pytest-cov/issues/676676

.. _changes_7-6-10:

v7.6.10

Compare Source

  • Fix: some descriptions of missing branches in HTML and LCOV reports were
    incorrect when multi-line statements were involved (issue 1874_ and issue 1875_). These are now fixed.

  • Fix: Python 3.14 defers evaluation of annotations <pep649_>_ by moving them
    into separate code objects. That code is rarely executed, so coverage.py
    would mark them as missing, as reported in issue 1908_. Now they are
    ignored by coverage automatically.

  • Fixed an obscure and mysterious problem on PyPy 3.10 seemingly involving
    mocks, imports, and trace functions: issue 1902_. To be honest, I don't
    understand the problem or the solution, but git bisect helped find it,
    and now it's fixed.

  • Docs: re-wrote the :ref:subprocess page to put multiprocessing first and to
    highlight the correct use of :class:multiprocessing.Pool <python:multiprocessing.pool.Pool>.

.. _issue 1874:https://github.com/nedbat/coveragepy/issues/18744
.. _issue 1875https://github.com/nedbat/coveragepy/issues/187575
.. _issue 190https://github.com/nedbat/coveragepy/issues/1902902
.. _issue 19https://github.com/nedbat/coveragepy/issues/19081908
.. _pep649: https://docs.python.org/3.14/whatsnew/3.14.html#pep-649-deferred-evaluation-of-annotations

.. _changes_7-6-9:

v7.6.9

Compare Source

  • Fix: Tomas Uribe fixed <pull 1901_>_ a performance problem in the XML
    report. Large code bases should produce XML reports much faster now.

.. _pull 1901:https://github.com/nedbat/coveragepy/pull/19011

.. _changes_7-6-8:

v7.6.8

Compare Source

  • Fix: the LCOV report code assumed that a branch line that took no branches
    meant that the entire line was unexecuted. This isn't true in a few cases:
    the line might always raise an exception, or might have been optimized away.
    Fixes issue 1896_.

  • Fix: similarly, the HTML report will now explain that a line that jumps to
    none of its expected destinations must have always raised an exception.
    Previously, it would say something nonsensical like, "line 4 didn't jump to
    line 5 because line 4 was never true, and it didn't jump to line 7 because
    line 4 was always true." This was also shown in issue 1896_.

.. _issue 1896:https://github.com/nedbat/coveragepy/issues/18966

.. _changes_7-6-7:

v7.6.7

Compare Source

  • Fix: ugh, the other assert from 7.6.5 can also be encountered in the wild,
    so it's been restored to a conditional. Sorry for the churn.

.. _changes_7-6-6:

v7.6.6

Compare Source

  • One of the new asserts from 7.6.5 caused problems in real projects, as
    reported in issue 1891_. The assert has been removed.

.. _issue 1891:https://github.com/nedbat/coveragepy/issues/18911

.. _changes_7-6-5:

v7.6.5

Compare Source

  • Fix: fine-tuned the exact Python version (3.12.6) when exiting from with
    statements changed how they traced. This affected whether people saw the
    fix for issue 1880_.

  • Fix: isolate our code more from mocking in the os module that in rare cases
    can cause bizarre behavior <pytest-cov-666_>_.

  • Refactor: some code unreachable code paths in parser.py were changed to
    asserts. If you encounter any of these, please let me know!

.. _pytest-cov-666:https://github.com/pytest-dev/pytest-cov/issues/6666

.. _changes_7-6-4:

v7.6.4

Compare Source

  • Fix: multi-line with statements could cause contained branches to be
    incorrectly marked as missing (issue 1880_). This is now fixed.

.. _issue 1880:https://github.com/nedbat/coveragepy/issues/18800

.. _changes_7-6-3:

v7.6.3

Compare Source

  • Fix: nested context managers could incorrectly be analyzed to flag a missing
    branch on the last context manager, as described in issue 1876_. This is
    now fixed.

  • Fix: the missing branch message about not exiting a module had an extra
    "didn't," as described in issue 1873_. This is now fixed.

.. _issue 1873:https://github.com/nedbat/coveragepy/issues/18733
.. _issue 1876https://github.com/nedbat/coveragepy/issues/187676

.. _changes_7-6-2:

v7.6.2

Compare Source

  • Dropped support for Python 3.8 and PyPy 3.8.

  • Fix: a final wildcard match/case clause assigning to a name (case _ as value) was incorrectly marked as a missing branch. This is now fixed,
    closing issue 1860_.

  • Fewer things are considered branches now. Lambdas, comprehensions, and
    generator expressions are no longer marked as missing branches if they don't
    complete execution. Closes issue 1852_.

  • Fix: the HTML report didn't properly show multi-line f-strings that end with
    a backslash continuation. This is now fixed, closing issue 1836, thanks
    to LiuYinCarl and Marco Ricci <pull 1838_>
    .

  • Fix: the LCOV report now has correct line numbers (fixing issue 1846) and
    better branch descriptions for BRDA records (fixing issue 1850
    ). There
    are other changes to lcov also, including a new configuration option
    :ref:line_checksums <config_lcov_line_checksums> to control whether line
    checksums are included in the lcov report. The default is false. To keep
    checksums set it to true. All this work is thanks to Zack Weinberg
    (pull 1849_ and pull 1851_).

  • Fixed the docs for multi-line regex exclusions, closing issue 1863_.

  • Fixed a potential crash in the C tracer, closing issue 1835, thanks to
    Jan Kühle <pull 1843_>
    .

.. _issue 1835:https://github.com/nedbat/coveragepy/issues/18355
.. _issue 1836https://github.com/nedbat/coveragepy/issues/183636
.. _pull 183https://github.com/nedbat/coveragepy/pull/1838838
.. _pull 18https://github.com/nedbat/coveragepy/pull/18431843
.. _issue 1https://github.com/nedbat/coveragepy/issues/1846/1846
.. _pull https://github.com/nedbat/coveragepy/pull/1849l/1849
.. _issuehttps://github.com/nedbat/coveragepy/issues/1850es/1850
.. _pulhttps://github.com/nedbat/coveragepy/pull/1851ull/1851
.. _isshttps://github.com/nedbat/coveragepy/issues/1852sues/1852
.. _ishttps://github.com/nedbat/coveragepy/issues/1860ssues/1860
.. _ihttps://github.com/nedbat/coveragepy/issues/1863issues/1863

.. _changes_7-6-1:

v7.6.1

Compare Source

  • Fix: some aarch64 distributions were missing (issue 1927_). These are now
    building reliably.

.. _issue 1927:https://github.com/nedbat/coveragepy/issues/19277

.. _changes_7-6-11:

v7.6.0

Compare Source

  • Exclusion patterns can now be multi-line, thanks to Daniel Diniz <pull 1807_>. This enables many interesting exclusion use-cases, including those
    requested in issues 118 <issue 118_>
    (entire files), 996 <issue 996_>_ (multiple lines only when appearing together), 1741 <issue 1741_>_ (remainder of a function), and 1803 <issue 1803_>_
    (arbitrary sequence of marked lines). See the :ref:multi_line_exclude
    section of the docs for more details and examples.

  • The JSON report now includes per-function and per-class coverage information.
    Thanks to Daniel Diniz <pull 1809_>_ for getting the work started. This
    closes issue 1793_ and issue 1532_.

  • Fixed an incorrect calculation of "(no class)" lines in the HTML classes
    report.

  • Python 3.13.0b3 is supported.

.. _issue 118:https://github.com/nedbat/coveragepy/issues/1188
.. _issue 996https://github.com/nedbat/coveragepy/issues/99696
.. _issue 153https://github.com/nedbat/coveragepy/issues/1532532
.. _issue 17https://github.com/nedbat/coveragepy/issues/17411741
.. _issue 1https://github.com/nedbat/coveragepy/issues/1793/1793
.. _issue https://github.com/nedbat/coveragepy/issues/1803s/1803
.. _pullhttps://github.com/nedbat/coveragepy/pull/1807ll/1807
.. _pulhttps://github.com/nedbat/coveragepy/pull/1809ull/1809

.. _changes_7-5-4:

v7.5.4

Compare Source

  • If you attempt to combine statement coverage data with branch coverage data,
    coverage.py used to fail with the message "Can't combine arc data with line
    data" or its reverse, "Can't combine line data with arc data." These
    messages used internal terminology, making it hard for people to understand
    the problem. They are now changed to mention "branch coverage data" and
    "statement coverage data."

  • Fixed a minor branch coverage problem with wildcard match/case cases using
    names or guard clauses.

  • Started testing on 3.13 free-threading (nogil) builds of Python. I'm not
    claiming full support yet. Closes issue 1799_.

.. _issue 1799:https://github.com/nedbat/coveragepy/issues/17999

.. _changes_7-5-3:

v7.5.3

Compare Source

  • Performance improvements for combining data files, especially when measuring
    line coverage. A few different quadratic behaviors were eliminated. In one
    extreme case of combining 700+ data files, the time dropped from more than
    three hours to seven minutes. Thanks for Kraken Tech for funding the fix.

  • Performance improvements for generating HTML reports, with a side benefit of
    reducing memory use, closing issue 1791_. Thanks to Daniel Diniz for
    helping to diagnose the problem.

.. _issue 1791:https://github.com/nedbat/coveragepy/issues/17911

.. _changes_7-5-2:

v7.5.2

Compare Source

  • Fix: nested matches of exclude patterns could exclude too much code, as
    reported in issue 1779_. This is now fixed.

  • Changed: previously, coverage.py would consider a module docstring to be an
    executable statement if it appeared after line 1 in the file, but not
    executable if it was the first line. Now module docstrings are never counted
    as executable statements. This can change coverage.py's count of the number
    of statements in a file, which can slightly change the coverage percentage
    reported.

  • In the HTML report, the filter term and "hide covered" checkbox settings are
    remembered between viewings, thanks to Daniel Diniz <pull 1776_>_.

  • Python 3.13.0b1 is supported.

  • Fix: parsing error handling is improved to ensure bizarre source files are
    handled gracefully, and to unblock oss-fuzz fuzzing, thanks to Liam DeVoe <pull 1788_>. Closes issue 1787.

.. _pull 1776:https://github.com/nedbat/coveragepy/pull/17766
.. _issue 1779https://github.com/nedbat/coveragepy/issues/177979
.. _issue 178https://github.com/nedbat/coveragepy/issues/1787787
.. _pull 17https://github.com/nedbat/coveragepy/pull/17881788

.. _changes_7-5-1:

v7.5.1

Compare Source

  • Fix: a pragma comment on the continuation lines of a multi-line statement
    now excludes the statement and its body, the same as if the pragma is
    on the first line. This closes issue 754. The fix was contributed by
    Daniel Diniz <pull 1773_>
    .

  • Fix: very complex source files like this one <resolvent_lookup_>_ could
    cause a maximum recursion error when creating an HTML report. This is now
    fixed, closing issue 1774_.

  • HTML report improvements:

    • Support files (JavaScript and CSS) referenced by the HTML report now have
      hashes added to their names to ensure updated files are used instead of
      stale cached copies.

    • Missing branch coverage explanations that said "the condition was never
      false" now read "the condition was always true" because it's easier to
      understand.

    • Column sort order is remembered better as you move between the index pages,
      fixing issue 1766. Thanks, Daniel Diniz <pull 1768_>.

.. _resolvent_lookup: https://github.com/sympy/sympy/blob/130950f3e6b3f97fcc17f4599ac08f70fdd2e9d4/sympy/polys/numberfields/resolvent_lookup.py
.. _issue 754https://github.com/nedbat/coveragepy/issues/75454
.. _issue 176https://github.com/nedbat/coveragepy/issues/1766766
.. _pull 17https://github.com/nedbat/coveragepy/pull/17681768
.. _pull 1https://github.com/nedbat/coveragepy/pull/1773/1773
.. _issue https://github.com/nedbat/coveragepy/issues/1774s/1774

.. _changes_7-5-0:

v7.5.0

Compare Source

  • Added initial support for function and class reporting in the HTML report.
    There are now three index pages which link to each other: files, functions,
    and classes. Other reports don't yet have this information, but it will be
    added in the future where it makes sense. Feedback gladly accepted!
    Finishes issue 780_.

  • Other HTML report improvements:

    • There is now a "hide covered" checkbox to filter out 100% files, finishing
      issue 1384_.

    • The index page is always sorted by one of its columns, with clearer
      indications of the sorting.

    • The "previous file" shortcut key didn't work on the index page, but now it
      does, fixing issue 1765_.

  • The debug output showing which configuration files were tried now shows
    absolute paths to help diagnose problems where settings aren't taking effect,
    and is renamed from "attempted_config_files" to the more logical
    "config_files_attempted."

  • Python 3.13.0a6 is supported.

.. _issue 780:https://github.com/nedbat/coveragepy/issues/7800
.. _issue 1384https://github.com/nedbat/coveragepy/issues/138484
.. _issue 176https://github.com/nedbat/coveragepy/issues/1765765

.. _changes_7-4-4:


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Feb 28, 2025
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch 7 times, most recently from 154eb5e to 1d832d4 Compare March 1, 2025 18:45
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch 3 times, most recently from 84eab87 to bf93695 Compare March 16, 2025 18:38
@renovate renovate bot changed the title chore(dev): update dependency coverage to v7.6.12 (v5) chore(dev): update dependency coverage to v7.7.0 (v5) Mar 16, 2025
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch from bf93695 to 077c4c0 Compare March 16, 2025 19:07
@renovate renovate bot changed the title chore(dev): update dependency coverage to v7.7.0 (v5) chore(dev): update dependency coverage to v7.7.0 (v5) - autoclosed Mar 21, 2025
@renovate renovate bot closed this Mar 21, 2025
@renovate renovate bot deleted the renovate/v5-coverage-7.x branch March 21, 2025 03:22
@renovate renovate bot changed the title chore(dev): update dependency coverage to v7.7.0 (v5) - autoclosed chore(dev): update dependency coverage to v7.7.0 (v5) Mar 21, 2025
@renovate renovate bot reopened this Mar 21, 2025
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch from 243d4a4 to 077c4c0 Compare March 21, 2025 05:40
@renovate renovate bot changed the title chore(dev): update dependency coverage to v7.7.0 (v5) chore(deps): update dependency coverage to v7.7.0 (v5) Mar 21, 2025
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch from 077c4c0 to afa2c84 Compare March 21, 2025 05:41
@codecov
Copy link

codecov bot commented Mar 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (v5@224ca54). Learn more about missing BASE report.
Report is 1 commits behind head on v5.

Additional details and impacted files
@@          Coverage Diff          @@
##             v5     #861   +/-   ##
=====================================
  Coverage      ?   82.34%           
=====================================
  Files         ?       44           
  Lines         ?     2849           
  Branches      ?        0           
=====================================
  Hits          ?     2346           
  Misses        ?      503           
  Partials      ?        0           
Flag Coverage Δ
downloader 43.23% <ø> (?)
e2e 77.08% <ø> (?)
unit 64.83% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch 7 times, most recently from 1270699 to 654e5ea Compare March 21, 2025 06:16
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch from 654e5ea to dc69085 Compare March 21, 2025 06:20
@renovate renovate bot force-pushed the renovate/v5-coverage-7.x branch from dc69085 to 5a264d3 Compare March 21, 2025 06:41
@trim21 trim21 merged commit 2339cf3 into v5 Mar 21, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants