diff --git a/coverage-7.3.1.tar.gz b/coverage-7.3.1.tar.gz deleted file mode 100644 index 80dd2d5..0000000 --- a/coverage-7.3.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cb7fe1581deb67b782c153136541e20901aa312ceedaf1467dcb35255787952 -size 764806 diff --git a/coverage-7.6.4.tar.gz b/coverage-7.6.4.tar.gz new file mode 100644 index 0000000..399d93d --- /dev/null +++ b/coverage-7.6.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73 +size 798716 diff --git a/python-coverage.changes b/python-coverage.changes index 3fcb46d..4c619ec 100644 --- a/python-coverage.changes +++ b/python-coverage.changes @@ -1,3 +1,187 @@ +------------------------------------------------------------------- +Tue Oct 22 15:51:19 UTC 2024 - Dirk Müller + +- 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 + ` 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. + +------------------------------------------------------------------- +Sat Aug 31 13:44:09 UTC 2024 - Dirk Müller + +- update to 7.6.1: + * Fix: coverage used to fail when measuring code using + :func:`runpy.run_path ` with a + :class:`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." + * 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. + +------------------------------------------------------------------- +Thu Jun 6 07:29:28 UTC 2024 - Dirk Müller + +- 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. + +------------------------------------------------------------------- +Fri May 10 03:05:12 UTC 2024 - Steve Kowalik + +- 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 + twice in reports. + * Fix: the last case of a match/case statement had an incorrect message if + the branch was missed. It said the pattern never matched, when actually + the branch is missed if the last case always matched. + * Fix: clicking a line number in the HTML report now positions more + accurately. + * Fix: the report:format setting was defined as a boolean, but should be a + string. + * Fix: in some cases, coverage could fail with a RuntimeError: "Set changed + size during iteration." + * Fix: setting COVERAGE_CORE=sysmon no longer errors on 3.11 and lower. + * Fix: the JSON report now includes an explicit format version number. + * Fix: the change for multi-line signature exclusions in 7.3.3 broke other + forms of nested clauses being excluded properly. + * Fix: in the HTML report, selecting code for copying won't select the line + numbers also. Thanks, `Robert Harris `_. + * Fix: function definitions with multi-line signatures can now be excluded + by matching any of the lines. + * Fix: XML reports could fail with a TypeError if files had numeric + components that were duplicates except for leading zeroes, like file1.py + and file001.py. + * The coverage annotate command used to announce that it would be removed + in a future version. Enough people got in touch to say that they use it, + so it will stay. Don't expect it to keep up with other new features though. +- Set COVERAGE_CORE, so we no longer need to skip the ctrace tests, it will be + handled for us. +- Skip two tests that assert PYTHONPATH is empty, which it can't be. + +------------------------------------------------------------------- +Tue Nov 28 08:53:23 UTC 2023 - Dirk Müller + +- 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. + ------------------------------------------------------------------- Mon Sep 18 09:20:10 UTC 2023 - Dirk Müller diff --git a/python-coverage.spec b/python-coverage.spec index 801b0d4..aa0d53d 100644 --- a/python-coverage.spec +++ b/python-coverage.spec @@ -1,7 +1,7 @@ # # spec file for package python-coverage # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,13 @@ %{?sle15_python_module_pythons} Name: python-coverage -Version: 7.3.1 +Version: 7.6.4 Release: 0 Summary: Code coverage measurement for Python License: Apache-2.0 URL: https://github.com/nedbat/coveragepy Source: https://files.pythonhosted.org/packages/source/c/coverage/coverage-%{version}.tar.gz -BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module devel >= 3.9} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} @@ -32,7 +32,7 @@ BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives # coverage[toml] Recommends: python-tomli # SECTION test requirements @@ -76,6 +76,8 @@ cp %{python_sitearch}/zzzz-import-failed-hooks.pth build/mysite/ # the tests need the empty leading part for importing local test projects" export PYTHONPATH=":$PWD/build/mysite" +export COVERAGE_CORE="pytrace" + %python_exec -mcoverage debug sys # d:l:p:backports 15.4_py39 does not have python3 @@ -91,14 +93,14 @@ $mypython igor.py zip_mods donttest="test_version" # test_xdist_sys_path_nuttiness_is_fixed - xdist check that we actually fail on purpose donttest+=" or test_xdist_sys_path_nuttiness_is_fixed" -# test_debug_sys_ctracer - requires dep on ctracer -donttest+=" or test_debug_sys_ctracer" # does not find a usable venv donttest+=" or test_venv" # writes in /usr/ donttest+=" or test_process" # requires additional plugins donttest+=" or test_plugins" +# asserts PYTHONPATH is empty, which it can't be +donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit" %pytest_arch -n auto --no-flaky-report -k "$donttest" -rp ||: %pytest_arch -n auto --no-flaky-report -k "not ($donttest)"