forked from pool/python-coverage
Compare commits
19 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 3a246ea738 | |||
| 87555074e4 | |||
| d3a921d1b4 | |||
| cde544897a | |||
| 0bc8cfbc37 | |||
| 660fa2b719 | |||
| a73f2b4748 | |||
| 2ad5ca4ab2 | |||
| 9bb487b215 | |||
| b1804bf702 | |||
| d2d2356f41 | |||
| 36e943bb1c | |||
| 048020afca | |||
| 1dce80791d | |||
| 4c19dc7d40 | |||
| dd1e48911f | |||
| 2eea3f1bf2 | |||
| c38d47df63 | |||
| 170423b153 |
3
_multibuild
Normal file
3
_multibuild
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>test</package>
|
||||||
|
</multibuild>
|
||||||
3
coverage-7.10.7.tar.gz
Normal file
3
coverage-7.10.7.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239
|
||||||
|
size 827704
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d
|
|
||||||
size 798791
|
|
||||||
@@ -1,3 +1,202 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 20 08:45:59 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
|
||||||
|
|
||||||
|
- ignore testresults from test_numbits, fails sometimes because of slow
|
||||||
|
hypothesis performance on i586 (bsc#1251955)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 13 09:16:29 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 7.10.7:
|
||||||
|
* Performance: with branch coverage in large files, generating
|
||||||
|
HTML, JSON, or LCOV reports could take far too long due to
|
||||||
|
some quadratic behavior when creating the function and class
|
||||||
|
index pages. This is now fixed, closing issue 2048. Thanks
|
||||||
|
to Daniel Diniz for help diagnosing the problem.
|
||||||
|
* Most warnings and a few errors now have links to a page in
|
||||||
|
the docs explaining the specific message. Closes issue 1921.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 9 05:58:32 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Update to 7.10.6
|
||||||
|
* A new configuration option: ":ref:`config_run_patch`" specifies
|
||||||
|
named patches to work around some limitations in coverage
|
||||||
|
measurement. Please see docs for more info.
|
||||||
|
* The HTML report now dimly colors subsequent lines in multi-line
|
||||||
|
statements.
|
||||||
|
* Two new exclusion patterns are part of the defaults: ... is
|
||||||
|
automatically excluded as a line and if TYPE_CHECKING: is
|
||||||
|
excluded as a branch.
|
||||||
|
* A new command-line option: --save-signal=USR1 specifies a signal
|
||||||
|
that coverage.py will listen for. When the signal is sent, the
|
||||||
|
coverage data will be saved.
|
||||||
|
* Big speed improvements for coverage combine: it's now about twice
|
||||||
|
as fast!
|
||||||
|
* fix: source directories were not properly communicated to
|
||||||
|
subprocesses that ran in different directories.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 19 10:42:47 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
|
||||||
|
|
||||||
|
- Add _multibuild for running tests, it's required to call "coverage"
|
||||||
|
command when using libalternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 14 12:33:02 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Convert to libalternatives on SLE-16-based and newer systems
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 17 19:35:48 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 7.9.2:
|
||||||
|
* Fix: complex conditionals within a line might cause a
|
||||||
|
KeyError when using sys.monitoring, as reported in issue
|
||||||
|
1991. This is now fixed.
|
||||||
|
* Fix: we can now measure coverage for code in Python archive
|
||||||
|
(.par) files. Thanks, Itamer Oren.
|
||||||
|
* The "no-ctracer" warning is not issued for Python pre-release
|
||||||
|
versions. Coverage doesn't ship compiled wheels for those
|
||||||
|
versions, so this was far too noisy.
|
||||||
|
* On Python 3.14+, the "sysmon" core is now the default if it's
|
||||||
|
supported for your configuration. Plugins and dynamic
|
||||||
|
contexts are still not supported with it.
|
||||||
|
* Added a [run] core configuration setting to specify the
|
||||||
|
measurement core, which was previously only available through
|
||||||
|
the COVERAGE_CORE environment variable. Finishes issue 1746.
|
||||||
|
* Fixed incorrect rendering of f-strings with doubled braces,
|
||||||
|
closing issue 1980.
|
||||||
|
* If the C tracer core can't be imported, a warning ("no-
|
||||||
|
ctracer") is issued with the reason.
|
||||||
|
* The C tracer core extension module now conforms to PEP 489,
|
||||||
|
closing issue 1977. Thanks, Adam Turner.
|
||||||
|
* Fixed a "ValueError: min() arg is an empty sequence" error
|
||||||
|
caused by strange empty modules, found by oss-fuzz.
|
||||||
|
* Wheels are provided for Windows ARM64 on Python 3.11, 3.12,
|
||||||
|
and 3.13. Thanks, Finn Womack.
|
||||||
|
* A number of EncodingWarnings were fixed that could appear if
|
||||||
|
you've enabled PYTHONWARNDEFAULTENCODING, fixing issue 1966.
|
||||||
|
Thanks, Henry Schreiner.
|
||||||
|
* Fixed a race condition when using sys.monitoring with free-
|
||||||
|
threading Python, closing issue 1970.
|
||||||
|
* Added a new source_dirs setting for symmetry with the
|
||||||
|
existing source_pkgs setting. It's preferable to the existing
|
||||||
|
source setting, because you'll get a clear error when
|
||||||
|
directories don't exist. Fixes issue 1942. Thanks, Jeremy
|
||||||
|
Fleischman.
|
||||||
|
* Fix: the PYTHONSAFEPATH environment variable new in Python
|
||||||
|
3.11 is properly supported, closing issue 1696. Thanks,
|
||||||
|
Philipp A.. This works properly except for a detail when
|
||||||
|
using the coverage command on Windows. There you can use
|
||||||
|
python -m coverage instead if you need exact emulation.
|
||||||
|
- drop setuptools77.patch (upstream)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 27 09:44:38 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- update to 7.7.1
|
||||||
|
* The Coverage object has a new method, .Coverage.branch_stats
|
||||||
|
for getting simple branch information for a module.
|
||||||
|
* The Coverage constructor<.Coverage> now has a plugins parameter
|
||||||
|
for passing in plugin objects directly.
|
||||||
|
* Many constant tests in if statements are now recognized as
|
||||||
|
being optimized away.
|
||||||
|
* The experimental sys.monitoring support now works for branch
|
||||||
|
coverage if you are using Python 3.14.0 alpha 6 or newer.
|
||||||
|
* A few small tweaks to the sys.monitoring support for Python 3.14.
|
||||||
|
Please test!
|
||||||
|
- Add setuptools77.patch to fix tests with setuptools 77
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 2 14:15:50 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
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.
|
||||||
|
* 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.
|
||||||
|
* One of the new asserts from 7.6.5 caused problems in real
|
||||||
|
projects, as reported in issue 1891. The assert has been
|
||||||
|
removed.
|
||||||
|
* 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.
|
||||||
|
* Refactor: some code unreachable code paths in parser.py were
|
||||||
|
changed to asserts. If you encounter any of these, please
|
||||||
|
let me know!
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 22 15:51:19 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
* 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 <dmueller@suse.com>
|
Sat Aug 31 13:44:09 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-coverage
|
# spec file for package python-coverage
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,26 +16,49 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == "test"
|
||||||
|
%define psuffix -test
|
||||||
|
%bcond_without test
|
||||||
|
%else
|
||||||
|
%define psuffix %{nil}
|
||||||
|
%bcond_with test
|
||||||
|
%endif
|
||||||
|
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-coverage
|
Name: python-coverage%{psuffix}
|
||||||
Version: 7.6.1
|
Version: 7.10.7
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Code coverage measurement for Python
|
Summary: Code coverage measurement for Python
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
URL: https://github.com/nedbat/coveragepy
|
URL: https://github.com/nedbat/coveragepy
|
||||||
Source: https://files.pythonhosted.org/packages/source/c/coverage/coverage-%{version}.tar.gz
|
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 pip}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module wheel}
|
BuildRequires: %{python_module wheel}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
Requires: python
|
Requires: python
|
||||||
Requires(post): update-alternatives
|
|
||||||
Requires(postun): update-alternatives
|
|
||||||
# coverage[toml]
|
# coverage[toml]
|
||||||
Recommends: python-tomli
|
Recommends: python-tomli
|
||||||
|
%if %{with libalternatives}
|
||||||
|
BuildRequires: alts
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun): update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with test}
|
||||||
# SECTION test requirements
|
# SECTION test requirements
|
||||||
|
BuildRequires: %{python_module coverage = %{version}}
|
||||||
BuildRequires: %{python_module flaky}
|
BuildRequires: %{python_module flaky}
|
||||||
BuildRequires: %{python_module hypothesis >= 6}
|
BuildRequires: %{python_module hypothesis >= 6}
|
||||||
BuildRequires: %{python_module pytest-xdist}
|
BuildRequires: %{python_module pytest-xdist}
|
||||||
@@ -44,6 +67,7 @@ BuildRequires: %{python_module tomli}
|
|||||||
# for database (sqlite3) support
|
# for database (sqlite3) support
|
||||||
BuildRequires: %{pythons}
|
BuildRequires: %{pythons}
|
||||||
# /SECTION
|
# /SECTION
|
||||||
|
%endif
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@@ -58,15 +82,20 @@ library to determine which lines are executable, and which have been executed.
|
|||||||
sed -i -e '/addopts/d' setup.cfg
|
sed -i -e '/addopts/d' setup.cfg
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%if %{without test}
|
||||||
%pyproject_wheel
|
%pyproject_wheel
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
%if %{without test}
|
||||||
%pyproject_install
|
%pyproject_install
|
||||||
rm -vf %{buildroot}%{_bindir}/coverage{2,3}
|
rm -vf %{buildroot}%{_bindir}/coverage{2,3}
|
||||||
%python_clone -a %{buildroot}%{_bindir}/coverage
|
%python_clone -a %{buildroot}%{_bindir}/coverage
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
%if %{with test}
|
||||||
export LANG=en_US.UTF8
|
export LANG=en_US.UTF8
|
||||||
%python_flavored_alternatives
|
%python_flavored_alternatives
|
||||||
%{python_expand # indicate a writeable .pth directory for tests
|
%{python_expand # indicate a writeable .pth directory for tests
|
||||||
@@ -101,9 +130,17 @@ donttest+=" or test_process"
|
|||||||
donttest+=" or test_plugins"
|
donttest+=" or test_plugins"
|
||||||
# asserts PYTHONPATH is empty, which it can't be
|
# asserts PYTHONPATH is empty, which it can't be
|
||||||
donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit"
|
donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit"
|
||||||
|
%ifarch i586
|
||||||
|
# flaky due to bad hypothesis performance
|
||||||
|
donttest+=" or test_numbits.py"
|
||||||
|
%endif
|
||||||
|
|
||||||
%pytest_arch -n auto --no-flaky-report -k "$donttest" -rp ||:
|
%pytest_arch -n auto --no-flaky-report -k "$donttest" -rp ||:
|
||||||
%pytest_arch -n auto --no-flaky-report -k "not ($donttest)"
|
%pytest_arch -n auto --no-flaky-report -k "not ($donttest)"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%python_libalternatives_reset_alternative coverage
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%python_install_alternative coverage
|
%python_install_alternative coverage
|
||||||
@@ -111,11 +148,13 @@ donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit"
|
|||||||
%postun
|
%postun
|
||||||
%python_uninstall_alternative coverage
|
%python_uninstall_alternative coverage
|
||||||
|
|
||||||
|
%if %{without test}
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE.txt
|
%license LICENSE.txt
|
||||||
%doc CHANGES.rst CONTRIBUTORS.txt README.rst howto.txt
|
%doc CHANGES.rst CONTRIBUTORS.txt README.rst howto.txt
|
||||||
%python_alternative %{_bindir}/coverage
|
%python_alternative %{_bindir}/coverage
|
||||||
%{python_sitearch}/coverage/
|
%{python_sitearch}/coverage/
|
||||||
%{python_sitearch}/coverage-%{version}.dist-info
|
%{python_sitearch}/coverage-%{version}.dist-info
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
Reference in New Issue
Block a user