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.
coverage-5.5
coverage combine has a new option, --keep to keep the original data files after combining them. The default is still to delete the files after they have been combined. This was requested in issue 1108 and implemented in pull request 1110. Thanks, Éric Larivière.
When reporting missing branches in coverage report, branches aren’t reported that jump to missing lines. This adds to the long-standing behavior of not reporting branches from missing lines. Now branches are only reported if both the source and destination lines are executed. Closes both issue 1065 and issue 955.
Minor improvements to the HTML report:
The state of the line visibility selector buttons is saved in local storage so you don’t have to fiddle with them so often, fixing issue 1123.
It has a little more room for line numbers so that 4-digit numbers work well, fixing issue 1124.
Improved the error message when combining line and branch data, so that users will be more likely to understand what’s happening, closing issue 803.
coverage-5.4
The text report produced by coverage report now always outputs a TOTAL line, even if only one Python file is reported. This makes regex parsing of the output easier. Thanks, Judson Neer. This had been requested a number of times (issue 1086, issue 922, issue 732).
The skip_covered and skip_empty settings in the configuration file can now be specified in the [html] section, so that text reports and HTML reports can use separate settings. The HTML report will still use the [report] settings if there isn’t a value in the [html] section. Closes issue 1090.
Combining files on Windows across drives now works properly, fixing issue 577. Thanks, Valentin Lab.
Fix an obscure warning from deep in the _decimal module, as reported in issue 1084.
When using --source on a large source tree, v5.x was slower than previous versions. This performance regression is now fixed, closing issue 1037.
Mysterious SQLite errors can happen on PyPy, as reported in issue 1010. An immediate retry seems to fix the problem, although it is an unsatisfying solution.
The HTML report now saves the sort order in a more widely supported way, fixing issue 986. Thanks, Sebastián Ramírez (pull request 1066).
The HTML report pages now have a Sleepy Snake favicon.
Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).
Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
coverage-5.3
The source setting has always been interpreted as either a file path or a module, depending on which existed. If both interpretations were valid, it was assumed to be a file path. The new source_pkgs setting can be used to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes issue 268.
If a plugin was disabled due to an exception, we used to still try to record its information, causing an exception, as reported in issue 1011. This is now fixed.
Updated for a small change in Python 3.11.0 beta 4: modules now start with a
line with line number 0, which is ignored. This line cannnot be executed, so
coverage totals were thrown off. This line is now ignored by coverage.py,
but this also means that truly empty modules (like __init__.py) have no
lines in them, rather than one phantom line. Fixes issue 1419_.
Internal debugging data added to sys.modules is now an actual module, to
avoid confusing code that examines everything in sys.modules. Thanks,
Yilei Yang (pull 1399_).
Greatly improved performance on PyPy, and other environments that need the
pure Python trace function. Thanks, Carl Friedrich Bolz-Tereick (pull 1381_ and pull 1388). Slightly improved performance when using the C
trace function, as most environments do. Closes issue 1339.
The conditions for using tomllib from the standard library have been made
more precise, so that 3.11 alphas will continue to work. Closes issue 1390_.
A new setting, :ref:config_run_sigterm, controls whether a SIGTERM signal
handler is used. In 6.3, the signal handler was always installed, to capture
data at unusual process ends. Unfortunately, this introduced other problems
(see issue 1310_). Now the signal handler is only used if you opt-in by
setting [run] sigterm = true.
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.2.1 to 6.4.2.
Release notes
Sourced from coverage's releases.
Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
8ab9ff1
docs: latest sample HTML reportee751cf
docs: prep for 6.4.2413ccb7
build: run tests on nightly versions every dayd890bff
docs: update the 3.11 version0d64498
fix: 3.11.0b4 has 0-numbered lines. Fixes #1419297b70e
build: styfle/cancel-workflow-action@0.10.0 now accepts 'all'ef25867
build(deps): bump actions/dependency-review-action from 1 to 2 (#1404)b1f9cc0
build(deps): bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 (#1412)f75d60a
style: use new regex match object group access8447c99
test: copying pycache was causing race conditions, and was unneeded anyway.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)