17
0

15 Commits

Author SHA256 Message Date
3958ca93c8 Accepting request 1300270 from devel:languages:python
- Add _multibuild for running tests, it's required to call "coverage"
  command when using libalternatives.
- Convert to libalternatives on SLE-16-based and newer systems

OBS-URL: https://build.opensuse.org/request/show/1300270
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=69
2025-08-20 11:24:43 +00:00
db7a8fde2e - Add _multibuild for running tests, it's required to call "coverage"
command when using libalternatives.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=146
2025-08-19 10:46:51 +00:00
29978ca83d - Convert to libalternatives on SLE-16-based and newer systems
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=145
2025-08-14 12:34:34 +00:00
ffb4ebdfb9 Accepting request 1294221 from devel:languages:python
- 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.

OBS-URL: https://build.opensuse.org/request/show/1294221
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=68
2025-07-18 13:57:48 +00:00
fbcf24787a - 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.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=143
2025-07-17 19:36:20 +00:00
17c1475e4c Accepting request 1291005 from devel:languages:python
revert libalternatives conversion, did not work

OBS-URL: https://build.opensuse.org/request/show/1291005
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=142
2025-07-07 09:39:16 +00:00
cdd845f23f OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=141 2025-07-07 09:26:57 +00:00
d77721a37f Accepting request 1265232 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1265232
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=67
2025-04-11 14:44:31 +00:00
cd674aa944 Accepting request 1256425 from home:mcalabkova:branches:devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1256425
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=139
2025-03-28 15:05:41 +00:00
8e89e14f38 Accepting request 1234571 from devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1234571
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=66
2025-01-06 15:04:56 +00:00
54870fa8a1 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=137
2025-01-02 14:15:55 +00:00
6d6f5e3f8e Accepting request 1217070 from devel:languages:python
- 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).

OBS-URL: https://build.opensuse.org/request/show/1217070
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=65
2024-10-23 19:08:17 +00:00
9767297991 - 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).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=135
2024-10-22 15:51:31 +00:00
3492e71d59 Accepting request 1198085 from devel:languages:python
- 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."

OBS-URL: https://build.opensuse.org/request/show/1198085
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-coverage?expand=0&rev=64
2024-09-03 11:37:10 +00:00
831f923e0a - 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."

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-coverage?expand=0&rev=133
2024-08-31 13:44:53 +00:00
5 changed files with 247 additions and 9 deletions

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f
size 786184

3
coverage-7.9.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:997024fa51e3290264ffd7492ec97d0690293ccd2b45a6cd7d82d945a4a80c8b
size 813556

View File

@@ -1,3 +1,203 @@
-------------------------------------------------------------------
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>
- 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."
* 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 <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# 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
# 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}
Name: python-coverage
Version: 7.5.3
Name: python-coverage%{psuffix}
Version: 7.9.2
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}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python
Requires(post): update-alternatives
Requires(postun): update-alternatives
# coverage[toml]
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
BuildRequires: %{python_module coverage = %{version}}
BuildRequires: %{python_module flaky}
BuildRequires: %{python_module hypothesis >= 6}
BuildRequires: %{python_module pytest-xdist}
@@ -44,6 +67,7 @@ BuildRequires: %{python_module tomli}
# for database (sqlite3) support
BuildRequires: %{pythons}
# /SECTION
%endif
%python_subpackages
%description
@@ -58,15 +82,20 @@ library to determine which lines are executable, and which have been executed.
sed -i -e '/addopts/d' setup.cfg
%build
%if %{without test}
%pyproject_wheel
%endif
%install
%if %{without test}
%pyproject_install
rm -vf %{buildroot}%{_bindir}/coverage{2,3}
%python_clone -a %{buildroot}%{_bindir}/coverage
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%endif
%check
%if %{with test}
export LANG=en_US.UTF8
%python_flavored_alternatives
%{python_expand # indicate a writeable .pth directory for tests
@@ -104,6 +133,10 @@ 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)"
%endif
%pre
%python_libalternatives_reset_alternative coverage
%post
%python_install_alternative coverage
@@ -111,11 +144,13 @@ donttest+=" or test_report_wildcard or test_run_omit_vs_report_omit"
%postun
%python_uninstall_alternative coverage
%if %{without test}
%files %{python_files}
%license LICENSE.txt
%doc CHANGES.rst CONTRIBUTORS.txt README.rst howto.txt
%python_alternative %{_bindir}/coverage
%{python_sitearch}/coverage/
%{python_sitearch}/coverage-%{version}.dist-info
%endif
%changelog