Third-party packages are now ignored in coverage reporting. This solves a few problems:
Coverage will no longer report about other people’s code (issue 876). This is true even when using --source=. with a venv in the current directory.
Coverage will no longer generate “Already imported a file that will be measured” warnings about coverage itself (issue 905).
The HTML report uses j/k to move up and down among the highlighted chunks of code. They used to highlight the current chunk, but 5.0 broke that behavior. Now the highlighting is working again.
The JSON report now includes percent_covered_display, a string with the total percentage, rounded to the same number of decimal places as the other reports’ totals.
Performance: an internal cache of file names was accidentally disabled,
resulting in sometimes drastic reductions in performance. This is now fixed,
closing issue 1527_. Thanks to Ivan Ciuvalschii for the reproducible test
case.
Fix: when using pytest-cov or pytest-xdist, or perhaps both, the combining
step could fail with assert row is not None using 7.0.2. This was due to
a race condition that has always been possible and is still possible. In
7.0.1 and before, the error was silently swallowed by the combining code.
Now it will produce a message "Couldn't combine data file" and ignore the
data file as it used to do before 7.0.2. Closes issue 1522_.
Fix: when using the [run] relative_files = True setting, a relative
[paths] pattern was still being made absolute. This is now fixed,
closing issue 1519_.
Fix: if Python doesn't provide tomllib, then TOML configuration files can
only be read if coverage.py is installed with the [toml] extra.
Coverage.py will raise an error if TOML support is not installed when it sees
your settings are in a .toml file. But it didn't understand that
[tools.coverage] was a valid section header, so the error wasn't reported
if you used that header, and settings were silently ignored. This is now
fixed, closing issue 1516_.
Fix: adjusted how decorators are traced on PyPy 7.3.10, fixing issue 1515_.
Fix: the coverage lcov report did not properly implement the
--fail-under=MIN option. This has been fixed.
Refactor: added many type annotations, including a number of refactorings.
This should not affect outward behavior, but they were a bit invasive in some
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps coverage from 5.5 to 7.0.4.
Release notes
Sourced from coverage's releases.
Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
f4c27c7
docs: sample html report for 7.0.42b95dba
docs: prep for 7.0.461ccfb8
test(benchmark): more reasonable numeric displays2fa45d6
refactor(benchmark): move benchmark.py to its own directory4d6ac8b
test(perf): randomize the order of benchmark runs405fae8
build: add .git-blame-ignore-revs9554e50
style(perf): blacken lab/benchmark.pydc4f0c1
test(perf): more experiments for #1527b3b05bd
perf: the file mapping cache was off by mistake. #1527d00f1dd
mypy: debug.pyDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)