dd1e48911fAccepting request 1234571 from devel:languages:python
factory
Ana Guerrero
2025-01-06 15:04:56 +00:00
2eea3f1bf2- update to 7.6.10: * 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 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>. * Fix: Tomas Uribe fixed a performance problem in the XML report. Large code bases should produce XML reports much faster now. * 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
devel
Dirk Mueller2025-01-02 14:15:55 +00:00
c38d47df63Accepting request 1217070 from devel:languages:python
Ana Guerrero
2024-10-23 19:08:17 +00:00
170423b153- update to 7.6.4: * fix: multi-line with statements could cause contained branches to be incorrectly marked as missing (issue 1880). This is now fixed. * 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. * 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. * 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).Dirk Mueller2024-10-22 15:51:31 +00:00
b4fc4a077e- update to 7.6.1: * Fix: coverage used to fail when measuring code using :func:runpy.run_path <python:runpy.run_path> with a :class:Path <python:pathlib.Path> argument. This is now fixed, thanks to Ask Hjorth Larsen. * Fix: backslashes preceding a multi-line backslashed string could confuse the HTML report. This is now fixed, thanks to LiuYinCarl. * Now we publish wheels for Python 3.13, both regular and free- threaded. * Exclusion patterns can now be multi-line, thanks to Daniel Diniz. This enables many interesting exclusion use-cases, including those requested in issues 118 (entire files), 996 (multiple lines only when appearing together), 1741 (remainder of a function), and 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 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. * 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."Dirk Mueller2024-08-31 13:44:53 +00:00
437b3f3ad4Accepting request 1178912 from devel:languages:python
Ana Guerrero
2024-06-07 13:02:08 +00:00
b3cb68c942- update to 7.5.3: * 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. * 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. * 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. Closes issue 1787.Dirk Mueller2024-06-06 07:29:58 +00:00
4696296a00Accepting request 1173002 from devel:languages:python
Ana Guerrero
2024-05-16 15:12:30 +00:00
aed5dc7064- Update to 7.5.1: * 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. * Fix: very complex source files could cause a maximum recursion error when creating an HTML report. * 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. * Added initial support for function and class reporting in the HTML report. * Other HTML report improvements: + There is now a "hide covered" checkbox to filter out 100% files. + 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. * 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." * Fix: in some cases, even with [run] relative_files=True, a data file could be created with absolute path names. When combined with other relative data files, it was random whether the absolute file names would be made relative or not. If they weren't, then a file would be listed
Steve Kowalik
2024-05-10 03:07:01 +00:00
cda41630d6Accepting request 1129470 from devel:languages:python
Ana Guerrero
2023-11-28 21:17:37 +00:00
7d130be0e2- update to 7.3.2: * The `coverage lcov command ignored the [report] exclude_lines and [report] exclude_also settings * Sometimes SQLite will create journal files alongside the coverage.py database files. These are ephemeral, but could be mistakenly included when combining data files. * On Python 3.12+, we now disable SQLite writing journal files, which should be a little faster. * The new 3.12 soft keyword type` is properly bolded in HTML reports. * Removed the "fullcoverage" feature used by CPython to measure the coverage of early-imported standard library modules.Dirk Mueller2023-11-28 09:04:28 +00:00
74802ad36cAccepting request 1111926 from devel:languages:python
Ana Guerrero
2023-09-22 19:46:46 +00:00
7a4bcfb1ea- update to 7.3.1: * The semantics of stars in file patterns has been clarified in the docs. A leading or trailing star matches any number of path components, like a double star would. This is different than the behavior of a star in the middle of a pattern. since 6.4.3. - Handle cases where python2 is disabled - add LICENSE.txt - python3 package added - minor spec improvement (files section)Dirk Mueller2023-09-18 09:20:43 +00:00
3941edb538Accepting request 1109341 from devel:languages:python
Ana Guerrero
2023-09-07 19:12:50 +00:00
dd47370469- Add fix-tests.patch gh#nedbat/coveragepy@3fdda7d017ff - Update to 7.2.5: * Fix: html_report() could fail with an AttributeError on isatty if run in an unusual environment where sys.stdout had been replaced. This is now fixed. - 7.2.4: * Fix: with relative_files = true, specifying a specific file to include or omit wouldn't work correctly (issue 1604). This is now fixed, with testing help by Marc Gibbons. * Fix: the XML report would have an incorrect <source> element when using relative files and the source option ended with a slash (issue 1541). This is now fixed, thanks to Kevin Brown-Silva. * When the HTML report location is printed to the terminal, it's now a terminal-compatible URL, so that you can click the location to open the HTML file in your browser. Finishes issue 1523 thanks to Ricardo Newbery. * Docs: a new :ref:Migrating page <migrating> with details about how to migrate between major versions of coverage.py. It currently covers the wildcard changes in 7.x. Thanks, Brian Grohe. - 7.2.3: * Fix: the :ref:config_run_sigterm setting was meant to capture data if a process was terminated with a SIGTERM signal, but it didn't always. This was fixed thanks to Lewis Gaul, closing issue 1599. * Performance: HTML reports with context information are now much more compact. File sizes are typically as small as one-third the previous size, but can be dramatically smaller. This closes issue 1584 thanks to Oleh Krehel. * Development dependencies no longer use hashed pins, closing issue 1592.Daniel Garcia2023-05-10 08:08:06 +00:00
0ace59809c- update to 7.2.2: * Fix: if a virtualenv was created inside a source directory, and a sourced package was installed inside the virtualenv, then all of the third-party packages inside the virtualenv would be measured. This was incorrect, but has now been fixed: only the specified packages will be measured. * Fix: the `coverage lcov command could create a .lcov file with incorrect LF (lines found) and LH (lines hit) totals * Fix: the coverage xml command on Windows could create a .xml file with duplicate <package>` elements.Dirk Mueller2023-03-26 19:14:59 +00:00
8ccfe16237- update to 7.2.1: * Fix: the PyPI page had broken links to documentation pages, but no longer does * Fix: public members of the coverage module are now properly indicated so that mypy will find them * Added a new setting `[report] exclude_also to let you add more exclusions without overwriting the defaults. * Added a :meth:.CoverageData.purge_files method to remove recorded data for a particular file. * Fix: when reporting commands fail, they will no longer congratulate themselves with messages like "Wrote XML report to file.xml" before spewing a traceback about their failure. * Fix: arguments in the public API that name file paths now accept pathlib.Path objects. This includes the data_file and config_file arguments to the Coverage constructor and the basename argument to CoverageData. * Fix: In some embedded environments, an IndexError could occur on stop() when the originating thread exits before completion. This is now fixed, thanks to * Added a py.typed` file to announce our type-hintedness.Dirk Mueller2023-03-14 22:28:43 +00:00
aac4c7aa79- update to 7.1.0: * Added: the debug output file can now be specified with `[run] debug_file in the configuration file. Closes issue 1319_. * Performance: fixed a slowdown with dynamic contexts that's been around since 6.4.3. * Typing: all product and test code has type annotations. * Fix: On Python 3.7, a file with type annotations but no from __future__ import annotations would be missing statements in the coverage report. This is now fixed, closing issue 1524_. * Performance: an internal cache of file names was accidentally disabled, resulting in sometimes drastic reductions in performance. This is now fixed, closing issue 1527`_.Dirk Mueller2023-01-28 13:39:30 +00:00
24cf41ada9- update to 7.0.3: * 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.Dirk Mueller2023-01-04 16:20:53 +00:00
8196418c29- Add change__file__report-dir.patch to fix another issue repored in gh#nedbat/coveragepy#1161.Matej Cepl2021-05-12 09:30:53 +00:00
84b70b73d2Accepting request 892209 from home:alarrosa:branches:devel:languages:pythonMarkéta Machová2021-05-11 11:06:02 +00:00
3f641ff159- Add traced_file_absolute.patch to fix gh#nedbat/coveragepy#1161.Matej Cepl2021-05-09 22:28:09 +00:00
b7166d25efAccepting request 868480 from devel:languages:python
Richard Brown
2021-03-19 15:39:31 +00:00
cb359ddb8a- update to 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 - 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. - Combining files on Windows across drives how works properly - Fix an obscure warning from deep in the _decimal module, as reported in issue 1084_. - Update to support Python 3.10 alphas in progress, including PEP 626: Precise line numbers for debugging and other tools <pep626_>`_.Dirk Mueller2021-02-01 22:39:33 +00:00
ae26c26a48- update to 5.3.1: - 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 :ref:Sleepy Snake <sleepy>` favicon. - Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).Dirk Mueller2020-12-20 09:25:34 +00:00
53d560aee6Accepting request 450363 from home:frispete:pythonDirk Mueller2017-01-18 13:54:24 +00:00
ac2ec10d17- update to 4.2: - Since `concurrency=multiprocessing uses subprocesses, options specified on the coverage.py command line will not be communicated down to them. Only options in the configuration file will apply to the subprocesses. Previously, the options didn't apply to the subprocesses, but there was no indication. Now it is an error to use --concurrency=multiprocessing and other run-affecting options on the command line. This prevents failures like those reported in issue 495`_. - Filtering the HTML report is now faster, thanks to Ville Skyttä.Dirk Mueller2016-11-15 10:06:55 +00:00