Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-coverage for openSUSE:Factory 
checked in at 2023-09-22 21:46:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-coverage (Old)
 and      /work/SRC/openSUSE:Factory/.python-coverage.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-coverage"

Fri Sep 22 21:46:46 2023 rev:60 rq:1111926 version:7.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-coverage/python-coverage.changes  
2023-09-07 21:13:45.527488306 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-coverage.new.1770/python-coverage.changes    
    2023-09-22 21:47:06.376189810 +0200
@@ -1,0 +2,9 @@
+Mon Sep 18 09:20:10 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- 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.
+
+-------------------------------------------------------------------

Old:
----
  coverage-7.3.0.tar.gz

New:
----
  coverage-7.3.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-coverage.spec ++++++
--- /var/tmp/diff_new_pack.0n80Mm/_old  2023-09-22 21:47:07.512231052 +0200
+++ /var/tmp/diff_new_pack.0n80Mm/_new  2023-09-22 21:47:07.512231052 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-coverage
-Version:        7.3.0
+Version:        7.3.1
 Release:        0
 Summary:        Code coverage measurement for Python
 License:        Apache-2.0

++++++ coverage-7.3.0.tar.gz -> coverage-7.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/.readthedocs.yaml 
new/coverage-7.3.1/.readthedocs.yaml
--- old/coverage-7.3.0/.readthedocs.yaml        2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/.readthedocs.yaml        2023-09-06 14:03:22.000000000 
+0200
@@ -22,3 +22,5 @@
 python:
   install:
     - requirements: doc/requirements.pip
+    - method: pip
+      path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/CHANGES.rst 
new/coverage-7.3.1/CHANGES.rst
--- old/coverage-7.3.0/CHANGES.rst      2023-08-12 18:08:23.000000000 +0200
+++ new/coverage-7.3.1/CHANGES.rst      2023-09-06 14:03:22.000000000 +0200
@@ -19,6 +19,25 @@
 
 .. scriv-start-here
 
+.. _changes_7-3-1:
+
+Version 7.3.1 — 2023-09-06
+--------------------------
+
+- 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.  This discrepancy was `identified by Sviatoslav Sydorenko
+  <starbad_>`_, who `provided patient detailed diagnosis <pull 1650_>`_ and
+  graciously agreed to a pragmatic resolution.
+
+- The API docs were missing from the last version. They are now `restored
+  <apidocs_>`_.
+
+.. _apidocs: https://coverage.readthedocs.io/en/latest/api_coverage.html
+.. _starbad: 
https://github.com/nedbat/coveragepy/issues/1407#issuecomment-1631085209
+.. _pull 1650: https://github.com/nedbat/coveragepy/pull/1650
+
 .. _changes_7-3-0:
 
 Version 7.3.0 — 2023-08-12
@@ -26,7 +45,7 @@
 
 - Added a :meth:`.Coverage.collect` context manager to start and stop coverage
   data collection.
-  
+
 - Dropped support for Python 3.7.
 
 - Fix: in unusual circumstances, SQLite cannot be set to asynchronous mode.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/PKG-INFO new/coverage-7.3.1/PKG-INFO
--- old/coverage-7.3.0/PKG-INFO 2023-08-12 18:08:33.982700800 +0200
+++ new/coverage-7.3.1/PKG-INFO 2023-09-06 14:03:34.015134300 +0200
@@ -1,12 +1,12 @@
 Metadata-Version: 2.1
 Name: coverage
-Version: 7.3.0
+Version: 7.3.1
 Summary: Code coverage measurement for Python
 Home-page: https://github.com/nedbat/coveragepy
 Author: Ned Batchelder and 216 others
 Author-email: n...@nedbatchelder.com
 License: Apache-2.0
-Project-URL: Documentation, https://coverage.readthedocs.io/en/7.3.0
+Project-URL: Documentation, https://coverage.readthedocs.io/en/7.3.1
 Project-URL: Funding, 
https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=pypi
 Project-URL: Issues, https://github.com/nedbat/coveragepy/issues
 Project-URL: Mastodon, https://hachyderm.io/@coveragepy
@@ -66,7 +66,7 @@
 Documentation is on `Read the Docs`_.  Code repository and issue tracker are on
 `GitHub`_.
 
-.. _Read the Docs: https://coverage.readthedocs.io/en/7.3.0/
+.. _Read the Docs: https://coverage.readthedocs.io/en/7.3.1/
 .. _GitHub: https://github.com/nedbat/coveragepy
 
 **New in 7.x:**
@@ -108,7 +108,7 @@
 Looking to run ``coverage`` on your test suite? See the `Quick Start section`_
 of the docs.
 
-.. _Quick Start section: https://coverage.readthedocs.io/en/7.3.0/#quick-start
+.. _Quick Start section: https://coverage.readthedocs.io/en/7.3.1/#quick-start
 
 
 Change history
@@ -116,7 +116,7 @@
 
 The complete history of changes is on the `change history page`_.
 
-.. _change history page: https://coverage.readthedocs.io/en/7.3.0/changes.html
+.. _change history page: https://coverage.readthedocs.io/en/7.3.1/changes.html
 
 
 Code of Conduct
@@ -135,7 +135,7 @@
 Found a bug? Want to help improve the code or documentation? See the
 `Contributing section`_ of the docs.
 
-.. _Contributing section: 
https://coverage.readthedocs.io/en/7.3.0/contributing.html
+.. _Contributing section: 
https://coverage.readthedocs.io/en/7.3.1/contributing.html
 
 
 Security
@@ -163,9 +163,9 @@
     :target: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml
     :alt: Quality check status
 .. |docs| image:: 
https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat
-    :target: https://coverage.readthedocs.io/en/7.3.0/
+    :target: https://coverage.readthedocs.io/en/7.3.1/
     :alt: Documentation
-.. |kit| image:: https://badge.fury.io/py/coverage.svg
+.. |kit| image:: https://img.shields.io/pypi/v/coverage
     :target: https://pypi.org/project/coverage/
     :alt: PyPI status
 .. |versions| image:: 
https://img.shields.io/pypi/pyversions/coverage.svg?logo=python&logoColor=FBE072
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/README.rst 
new/coverage-7.3.1/README.rst
--- old/coverage-7.3.0/README.rst       2023-08-12 18:08:23.000000000 +0200
+++ new/coverage-7.3.1/README.rst       2023-09-06 14:03:22.000000000 +0200
@@ -130,7 +130,7 @@
 .. |docs| image:: 
https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat
     :target: https://coverage.readthedocs.io/
     :alt: Documentation
-.. |kit| image:: https://badge.fury.io/py/coverage.svg
+.. |kit| image:: https://img.shields.io/pypi/v/coverage
     :target: https://pypi.org/project/coverage/
     :alt: PyPI status
 .. |versions| image:: 
https://img.shields.io/pypi/pyversions/coverage.svg?logo=python&logoColor=FBE072
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/ci/parse_relnotes.py 
new/coverage-7.3.1/ci/parse_relnotes.py
--- old/coverage-7.3.0/ci/parse_relnotes.py     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/ci/parse_relnotes.py     2023-09-06 14:03:22.000000000 
+0200
@@ -44,9 +44,7 @@
     buffer = TextChunkBuffer()
 
     for line in lines:
-        header_match = re.search(r"^(#+) (.+)$", line)
-        is_header = bool(header_match)
-        if is_header:
+        if header_match := re.search(r"^(#+) (.+)$", line):
             yield from buffer.flush()
             hashes, text = header_match.groups()
             yield (f"h{len(hashes)}", text)
@@ -80,8 +78,7 @@
 
 def refind(regex, text):
     """Find a regex in some text, and return the matched text, or None."""
-    m = re.search(regex, text)
-    if m:
+    if m := re.search(regex, text):
         return m.group()
     else:
         return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/__init__.py 
new/coverage-7.3.1/coverage/__init__.py
--- old/coverage-7.3.0/coverage/__init__.py     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/__init__.py     2023-09-06 14:03:22.000000000 
+0200
@@ -9,6 +9,8 @@
 
 """
 
+from __future__ import annotations
+
 # mypy's convention is that "import as" names are public from the module.
 # We import names as themselves to indicate that. Pylint sees it as pointless,
 # so disable its warning.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/__main__.py 
new/coverage-7.3.1/coverage/__main__.py
--- old/coverage-7.3.0/coverage/__main__.py     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/__main__.py     2023-09-06 14:03:22.000000000 
+0200
@@ -3,6 +3,8 @@
 
 """Coverage.py's main entry point."""
 
+from __future__ import annotations
+
 import sys
 from coverage.cmdline import main
 sys.exit(main())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/config.py 
new/coverage-7.3.1/coverage/config.py
--- old/coverage-7.3.0/coverage/config.py       2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/config.py       2023-09-06 14:03:22.000000000 
+0200
@@ -521,10 +521,10 @@
         self.data_file = self.post_process_file(self.data_file)
         self.html_dir = self.post_process_file(self.html_dir)
         self.xml_output = self.post_process_file(self.xml_output)
-        self.paths = dict(
-            (k, [self.post_process_file(f) for f in v])
+        self.paths = {
+            k: [self.post_process_file(f) for f in v]
             for k, v in self.paths.items()
-        )
+        }
         self.exclude_list += self.exclude_also
 
     def debug_info(self) -> List[Tuple[str, Any]]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/exceptions.py 
new/coverage-7.3.1/coverage/exceptions.py
--- old/coverage-7.3.0/coverage/exceptions.py   2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/exceptions.py   2023-09-06 14:03:22.000000000 
+0200
@@ -3,6 +3,7 @@
 
 """Exceptions coverage.py can raise."""
 
+from __future__ import annotations
 
 class _BaseCoverageException(Exception):
     """The base-base of all Coverage exceptions."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/files.py 
new/coverage-7.3.1/coverage/files.py
--- old/coverage-7.3.0/coverage/files.py        2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/files.py        2023-09-06 14:03:22.000000000 
+0200
@@ -300,8 +300,7 @@
 
 def sep(s: str) -> str:
     """Find the path separator used in this string, or os.sep if none."""
-    sep_match = re.search(r"[\\/]", s)
-    if sep_match:
+    if sep_match := re.search(r"[\\/]", s):
         the_sep = sep_match[0]
     else:
         the_sep = os.sep
@@ -337,8 +336,7 @@
     pos = 0
     while pos < len(pattern):
         for rx, sub in G2RX_TOKENS:                     # pragma: always breaks
-            m = rx.match(pattern, pos=pos)
-            if m:
+            if m := rx.match(pattern, pos=pos):
                 if sub is None:
                     raise ConfigError(f"File pattern can't include {m[0]!r}")
                 path_rx.append(m.expand(sub))
@@ -469,8 +467,7 @@
             self.pprinted = True
 
         for original_pattern, regex, result in self.aliases:
-            m = regex.match(path)
-            if m:
+            if m := regex.match(path):
                 new = path.replace(m[0], result)
                 new = new.replace(sep(path), sep(result))
                 if not self.relative:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/multiproc.py 
new/coverage-7.3.1/coverage/multiproc.py
--- old/coverage-7.3.0/coverage/multiproc.py    2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/multiproc.py    2023-09-06 14:03:22.000000000 
+0200
@@ -3,6 +3,8 @@
 
 """Monkey-patching to add multiprocessing support for coverage.py"""
 
+from __future__ import annotations
+
 import multiprocessing
 import multiprocessing.process
 import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage/version.py 
new/coverage-7.3.1/coverage/version.py
--- old/coverage-7.3.0/coverage/version.py      2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/coverage/version.py      2023-09-06 14:03:22.000000000 
+0200
@@ -8,7 +8,7 @@
 
 # version_info: same semantics as sys.version_info.
 # _dev: the .devN suffix if any.
-version_info = (7, 3, 0, "final", 0)
+version_info = (7, 3, 1, "final", 0)
 _dev = 0
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/coverage.egg-info/PKG-INFO 
new/coverage-7.3.1/coverage.egg-info/PKG-INFO
--- old/coverage-7.3.0/coverage.egg-info/PKG-INFO       2023-08-12 
18:08:33.000000000 +0200
+++ new/coverage-7.3.1/coverage.egg-info/PKG-INFO       2023-09-06 
14:03:33.000000000 +0200
@@ -1,12 +1,12 @@
 Metadata-Version: 2.1
 Name: coverage
-Version: 7.3.0
+Version: 7.3.1
 Summary: Code coverage measurement for Python
 Home-page: https://github.com/nedbat/coveragepy
 Author: Ned Batchelder and 216 others
 Author-email: n...@nedbatchelder.com
 License: Apache-2.0
-Project-URL: Documentation, https://coverage.readthedocs.io/en/7.3.0
+Project-URL: Documentation, https://coverage.readthedocs.io/en/7.3.1
 Project-URL: Funding, 
https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=pypi
 Project-URL: Issues, https://github.com/nedbat/coveragepy/issues
 Project-URL: Mastodon, https://hachyderm.io/@coveragepy
@@ -66,7 +66,7 @@
 Documentation is on `Read the Docs`_.  Code repository and issue tracker are on
 `GitHub`_.
 
-.. _Read the Docs: https://coverage.readthedocs.io/en/7.3.0/
+.. _Read the Docs: https://coverage.readthedocs.io/en/7.3.1/
 .. _GitHub: https://github.com/nedbat/coveragepy
 
 **New in 7.x:**
@@ -108,7 +108,7 @@
 Looking to run ``coverage`` on your test suite? See the `Quick Start section`_
 of the docs.
 
-.. _Quick Start section: https://coverage.readthedocs.io/en/7.3.0/#quick-start
+.. _Quick Start section: https://coverage.readthedocs.io/en/7.3.1/#quick-start
 
 
 Change history
@@ -116,7 +116,7 @@
 
 The complete history of changes is on the `change history page`_.
 
-.. _change history page: https://coverage.readthedocs.io/en/7.3.0/changes.html
+.. _change history page: https://coverage.readthedocs.io/en/7.3.1/changes.html
 
 
 Code of Conduct
@@ -135,7 +135,7 @@
 Found a bug? Want to help improve the code or documentation? See the
 `Contributing section`_ of the docs.
 
-.. _Contributing section: 
https://coverage.readthedocs.io/en/7.3.0/contributing.html
+.. _Contributing section: 
https://coverage.readthedocs.io/en/7.3.1/contributing.html
 
 
 Security
@@ -163,9 +163,9 @@
     :target: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml
     :alt: Quality check status
 .. |docs| image:: 
https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat
-    :target: https://coverage.readthedocs.io/en/7.3.0/
+    :target: https://coverage.readthedocs.io/en/7.3.1/
     :alt: Documentation
-.. |kit| image:: https://badge.fury.io/py/coverage.svg
+.. |kit| image:: https://img.shields.io/pypi/v/coverage
     :target: https://pypi.org/project/coverage/
     :alt: PyPI status
 .. |versions| image:: 
https://img.shields.io/pypi/pyversions/coverage.svg?logo=python&logoColor=FBE072
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/doc/_static/coverage.css 
new/coverage-7.3.1/doc/_static/coverage.css
--- old/coverage-7.3.0/doc/_static/coverage.css 2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/doc/_static/coverage.css 2023-09-06 14:03:22.000000000 
+0200
@@ -66,6 +66,16 @@
     background: #efc;
 }
 
+/* I'm not sure why I had to make this so specific to get it to take effect... 
*/
+div.rst-content div.document div.wy-table-responsive 
table.docutils.align-default tbody tr td {
+    vertical-align: top !important;
+}
+
+/* And this doesn't work, and I guess I just have to live with it. */
+div.rst-content div.document div.wy-table-responsive 
table.docutils.align-default tbody tr td .line-block {
+    margin-bottom: 0 !important;
+}
+
 /* sphinx-code-tabs */
 
 /* Some selectors here are extra-specific (.container) because this file comes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/doc/conf.py 
new/coverage-7.3.1/doc/conf.py
--- old/coverage-7.3.0/doc/conf.py      2023-08-12 18:08:23.000000000 +0200
+++ new/coverage-7.3.1/doc/conf.py      2023-09-06 14:03:22.000000000 +0200
@@ -67,11 +67,11 @@
 # @@@ editable
 copyright = "2009–2023, Ned Batchelder" # pylint: disable=redefined-builtin
 # The short X.Y.Z version.
-version = "7.3.0"
+version = "7.3.1"
 # The full version, including alpha/beta/rc tags.
-release = "7.3.0"
+release = "7.3.1"
 # The date of release, in "monthname day, year" format.
-release_date = "August 12, 2023"
+release_date = "September 6, 2023"
 # @@@ end
 
 rst_epilog = """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/doc/source.rst 
new/coverage-7.3.1/doc/source.rst
--- old/coverage-7.3.0/doc/source.rst   2023-08-12 18:08:23.000000000 +0200
+++ new/coverage-7.3.1/doc/source.rst   2023-09-06 14:03:22.000000000 +0200
@@ -178,15 +178,67 @@
 File patterns
 -------------
 
-File path patterns are used for include and omit, and for combining path
-remapping.  They follow common shell syntax:
-
-- ``*`` matches any number of file name characters, not including the directory
-  separator.
+File path patterns are used for :ref:`include <config_run_include>` and
+:ref:`omit <config_run_omit>`, and for :ref:`combining path remapping
+<cmd_combine_remapping>`.  They follow common shell syntax:
 
 - ``?`` matches a single file name character.
 
-- ``**`` matches any number of nested directory names, including none.
+- ``*`` matches any number of file name characters, not including the directory
+  separator.  As a special case, if a pattern starts with ``*/``, it is treated
+  as ``**/``, and if a pattern ends with ``/*``, it is treated as ``/**``.
+
+- ``**`` matches any number of nested directory names, including none. It must
+  be used as a full component of the path, not as part of a word: ``/**/`` is
+  allowed, but ``/a**/`` is not.
 
 - Both ``/`` and ``\`` will match either a slash or a backslash, to make
   cross-platform matching easier.
+
+- A pattern with no directory separators matches the file name in any
+  directory.
+
+Some examples:
+
+.. list-table::
+    :widths: 20 20 20
+    :header-rows: 1
+
+    * - Pattern
+      - Matches
+      - Doesn't Match
+    * - ``a*.py``
+      - | anything.py
+        | sub1/sub2/another.py
+      - | cat.py
+    * - ``sub/*/*.py``
+      - | sub/a/main.py
+        | sub/b/another.py
+      - | sub/foo.py
+        | sub/m1/m2/foo.py
+    * - ``sub/**/*.py``
+      - | sub/something.py
+        | sub/a/main.py
+        | sub/b/another.py
+        | sub/m1/m2/foo.py
+      - | sub1/anything.py
+        | sub1/more/code/main.py
+    * - ``*/sub/*``
+      - | some/where/sub/more/something.py
+        | sub/hello.py
+      - | sub1/anything.py
+    * - ``*/sub*/*``
+      - | some/where/sub/more/something.py
+        | sub/hello.py
+        | sub1/anything.py
+      - | some/more/something.py
+    * - ``*/*sub/test_*.py``
+      - | some/where/sub/test_everything.py
+        | moresub/test_things.py
+      - | some/where/sub/more/test_everything.py
+        | more/test_things.py
+    * - ``*/*sub/*sub/**``
+      - | sub/sub/something.py
+        | asub/bsub/more/thing.py
+        | code/sub/sub/code.py
+      - | sub/something.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/lab/parser.py 
new/coverage-7.3.1/lab/parser.py
--- old/coverage-7.3.0/lab/parser.py    2023-08-12 18:08:23.000000000 +0200
+++ new/coverage-7.3.1/lab/parser.py    2023-09-06 14:03:22.000000000 +0200
@@ -61,8 +61,7 @@
         # `filename` can have a line number suffix. In that case, extract those
         # lines, dedent them, and use that.  This is for trying test cases
         # embedded in the test files.
-        match = re.search(r"^(.*):(\d+)-(\d+)$", filename)
-        if match:
+        if match := re.search(r"^(.*):(\d+)-(\d+)$", filename):
             filename, start, end = match.groups()
             start, end = int(start), int(end)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/dev.pip 
new/coverage-7.3.1/requirements/dev.pip
--- old/coverage-7.3.0/requirements/dev.pip     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/dev.pip     2023-09-06 14:03:22.000000000 
+0200
@@ -35,7 +35,7 @@
     # via virtualenv
 docutils==0.20.1
     # via readme-renderer
-exceptiongroup==1.1.2
+exceptiongroup==1.1.3
     # via
     #   hypothesis
     #   pytest
@@ -49,7 +49,7 @@
     # via -r requirements/pytest.in
 greenlet==2.0.2
     # via -r requirements/dev.in
-hypothesis==6.82.3
+hypothesis==6.82.6
     # via -r requirements/pytest.in
 idna==3.4
     # via requests
@@ -97,7 +97,7 @@
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.2.0
+pluggy==1.3.0
     # via
     #   pytest
     #   tox
@@ -110,7 +110,7 @@
     #   rich
 pylint==2.17.5
     # via -r requirements/dev.in
-pyproject-api==1.5.3
+pyproject-api==1.5.4
     # via tox
 pyproject-hooks==1.0.0
     # via build
@@ -120,7 +120,7 @@
     #   pytest-xdist
 pytest-xdist==3.3.1
     # via -r requirements/pytest.in
-readme-renderer==40.0
+readme-renderer==41.0
     # via
     #   -r requirements/dev.in
     #   twine
@@ -150,7 +150,7 @@
     #   tox
 tomlkit==0.12.1
     # via pylint
-tox==4.7.0
+tox==4.10.0
     # via
     #   -r requirements/tox.in
     #   tox-gh
@@ -173,7 +173,7 @@
     #   urwid-readline
 urwid-readline==0.13
     # via pudb
-virtualenv==20.24.2
+virtualenv==20.24.3
     # via
     #   -r requirements/pip.in
     #   tox
@@ -189,7 +189,7 @@
 # The following packages are considered to be unsafe in a requirements file:
 pip==23.2.1
     # via -r requirements/pip.in
-setuptools==68.0.0
+setuptools==68.1.2
     # via
     #   -r requirements/pip.in
     #   check-manifest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/kit.pip 
new/coverage-7.3.1/requirements/kit.pip
--- old/coverage-7.3.0/requirements/kit.pip     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/kit.pip     2023-09-06 14:03:22.000000000 
+0200
@@ -37,9 +37,9 @@
     #   pyproject-hooks
 typing-extensions==4.7.1
     # via cibuildwheel
-wheel==0.41.1
+wheel==0.41.2
     # via -r requirements/kit.in
 
 # The following packages are considered to be unsafe in a requirements file:
-setuptools==68.0.0
+setuptools==68.1.2
     # via -r requirements/kit.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/light-threads.pip 
new/coverage-7.3.1/requirements/light-threads.pip
--- old/coverage-7.3.0/requirements/light-threads.pip   2023-08-12 
18:08:23.000000000 +0200
+++ new/coverage-7.3.1/requirements/light-threads.pip   2023-09-06 
14:03:22.000000000 +0200
@@ -6,7 +6,7 @@
 #
 cffi==1.15.1
     # via -r requirements/light-threads.in
-dnspython==2.4.1
+dnspython==2.4.2
     # via eventlet
 eventlet==0.33.3
     # via -r requirements/light-threads.in
@@ -27,7 +27,7 @@
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-setuptools==68.0.0
+setuptools==68.1.2
     # via
     #   zope-event
     #   zope-interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/mypy.pip 
new/coverage-7.3.1/requirements/mypy.pip
--- old/coverage-7.3.0/requirements/mypy.pip    2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/mypy.pip    2023-09-06 14:03:22.000000000 
+0200
@@ -8,7 +8,7 @@
     # via hypothesis
 colorama==0.4.6
     # via -r requirements/pytest.in
-exceptiongroup==1.1.2
+exceptiongroup==1.1.3
     # via
     #   hypothesis
     #   pytest
@@ -16,17 +16,17 @@
     # via pytest-xdist
 flaky==3.7.0
     # via -r requirements/pytest.in
-hypothesis==6.82.3
+hypothesis==6.82.6
     # via -r requirements/pytest.in
 iniconfig==2.0.0
     # via pytest
-mypy==1.4.1
+mypy==1.5.1
     # via -r requirements/mypy.in
 mypy-extensions==1.0.0
     # via mypy
 packaging==23.1
     # via pytest
-pluggy==1.2.0
+pluggy==1.3.0
     # via pytest
 pytest==7.4.0
     # via
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/pip-tools.pip 
new/coverage-7.3.1/requirements/pip-tools.pip
--- old/coverage-7.3.0/requirements/pip-tools.pip       2023-08-12 
18:08:23.000000000 +0200
+++ new/coverage-7.3.1/requirements/pip-tools.pip       2023-09-06 
14:03:22.000000000 +0200
@@ -6,11 +6,11 @@
 #
 build==0.10.0
     # via pip-tools
-click==8.1.6
+click==8.1.7
     # via pip-tools
 packaging==23.1
     # via build
-pip-tools==7.2.0
+pip-tools==7.3.0
     # via -r requirements/pip-tools.in
 pyproject-hooks==1.0.0
     # via build
@@ -19,11 +19,11 @@
     #   build
     #   pip-tools
     #   pyproject-hooks
-wheel==0.41.1
+wheel==0.41.2
     # via pip-tools
 
 # The following packages are considered to be unsafe in a requirements file:
 pip==23.2.1
     # via pip-tools
-setuptools==68.0.0
+setuptools==68.1.2
     # via pip-tools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/pip.pip 
new/coverage-7.3.1/requirements/pip.pip
--- old/coverage-7.3.0/requirements/pip.pip     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/pip.pip     2023-09-06 14:03:22.000000000 
+0200
@@ -10,11 +10,11 @@
     # via virtualenv
 platformdirs==3.10.0
     # via virtualenv
-virtualenv==20.24.2
+virtualenv==20.24.3
     # via -r requirements/pip.in
 
 # The following packages are considered to be unsafe in a requirements file:
 pip==23.2.1
     # via -r requirements/pip.in
-setuptools==68.0.0
+setuptools==68.1.2
     # via -r requirements/pip.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/pytest.pip 
new/coverage-7.3.1/requirements/pytest.pip
--- old/coverage-7.3.0/requirements/pytest.pip  2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/pytest.pip  2023-09-06 14:03:22.000000000 
+0200
@@ -8,7 +8,7 @@
     # via hypothesis
 colorama==0.4.6
     # via -r requirements/pytest.in
-exceptiongroup==1.1.2
+exceptiongroup==1.1.3
     # via
     #   hypothesis
     #   pytest
@@ -16,13 +16,13 @@
     # via pytest-xdist
 flaky==3.7.0
     # via -r requirements/pytest.in
-hypothesis==6.82.3
+hypothesis==6.82.6
     # via -r requirements/pytest.in
 iniconfig==2.0.0
     # via pytest
 packaging==23.1
     # via pytest
-pluggy==1.2.0
+pluggy==1.3.0
     # via pytest
 pytest==7.4.0
     # via
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/requirements/tox.pip 
new/coverage-7.3.1/requirements/tox.pip
--- old/coverage-7.3.0/requirements/tox.pip     2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/requirements/tox.pip     2023-09-06 14:03:22.000000000 
+0200
@@ -26,19 +26,19 @@
     # via
     #   tox
     #   virtualenv
-pluggy==1.2.0
+pluggy==1.3.0
     # via tox
-pyproject-api==1.5.3
+pyproject-api==1.5.4
     # via tox
 tomli==2.0.1
     # via
     #   pyproject-api
     #   tox
-tox==4.7.0
+tox==4.10.0
     # via
     #   -r requirements/tox.in
     #   tox-gh
 tox-gh==1.3.1
     # via -r requirements/tox.in
-virtualenv==20.24.2
+virtualenv==20.24.3
     # via tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/tests/balance_xdist_plugin.py 
new/coverage-7.3.1/tests/balance_xdist_plugin.py
--- old/coverage-7.3.0/tests/balance_xdist_plugin.py    2023-08-12 
18:08:23.000000000 +0200
+++ new/coverage-7.3.1/tests/balance_xdist_plugin.py    2023-09-06 
14:03:22.000000000 +0200
@@ -117,7 +117,7 @@
         clumped = set()
         clumps = config.getini("balanced_clumps")
         for i, clump_word in enumerate(clumps):
-            clump_nodes = set(nodeid for nodeid in self.times.keys() if 
clump_word in nodeid)
+            clump_nodes = {nodeid for nodeid in self.times.keys() if 
clump_word in nodeid}
             i %= nchunks
             tests[i].update(clump_nodes)
             totals[i] += sum(self.times[nodeid] for nodeid in clump_nodes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/tests/test_files.py 
new/coverage-7.3.1/tests/test_files.py
--- old/coverage-7.3.0/tests/test_files.py      2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/tests/test_files.py      2023-09-06 14:03:22.000000000 
+0200
@@ -235,10 +235,25 @@
         ),
         globs_to_regex_params(
             ["*/foo"], case_insensitive=False, partial=True,
-            matches=["abc/foo/hi.py", "foo/hi.py"],
+            matches=["abc/foo/hi.py", "foo/hi.py", "abc/def/foo/hi.py"],
             nomatches=["abc/xfoo/hi.py"],
         ),
         globs_to_regex_params(
+            ["*c/foo"], case_insensitive=False, partial=True,
+            matches=["abc/foo/hi.py"],
+            nomatches=["abc/xfoo/hi.py", "foo/hi.py", "def/abc/foo/hi.py"],
+        ),
+        globs_to_regex_params(
+            ["foo/x*"], case_insensitive=False, partial=True,
+            matches=["foo/x", "foo/xhi.py", "foo/x/hi.py"],
+            nomatches=[],
+        ),
+        globs_to_regex_params(
+            ["foo/x*"], case_insensitive=False, partial=False,
+            matches=["foo/x", "foo/xhi.py"],
+            nomatches=["foo/x/hi.py"],
+        ),
+        globs_to_regex_params(
             ["**/foo"],
             matches=["foo", "hello/foo", "hi/there/foo"],
             nomatches=["foob", "hello/foob", "hello/Foo"],
@@ -348,6 +363,7 @@
             (self.make_file("sub/file1.py"), True),
             (self.make_file("sub/file2.c"), False),
             (self.make_file("sub2/file3.h"), True),
+            (self.make_file("sub2/sub/file3.h"), True),
             (self.make_file("sub3/file4.py"), True),
             (self.make_file("sub3/file5.c"), False),
         ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/tests/test_lcov.py 
new/coverage-7.3.1/tests/test_lcov.py
--- old/coverage-7.3.0/tests/test_lcov.py       2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/tests/test_lcov.py       2023-09-06 14:03:22.000000000 
+0200
@@ -44,7 +44,7 @@
 
     def get_lcov_report_content(self, filename: str = "coverage.lcov") -> str:
         """Return the content of an LCOV report."""
-        with open(filename, "r") as file:
+        with open(filename) as file:
             return file.read()
 
     def test_lone_file(self) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/tests/test_oddball.py 
new/coverage-7.3.1/tests/test_oddball.py
--- old/coverage-7.3.0/tests/test_oddball.py    2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/tests/test_oddball.py    2023-09-06 14:03:22.000000000 
+0200
@@ -3,6 +3,8 @@
 
 """Oddball cases for testing coverage.py"""
 
+from __future__ import annotations
+
 import os.path
 import re
 import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coverage-7.3.0/tests/test_phystokens.py 
new/coverage-7.3.1/tests/test_phystokens.py
--- old/coverage-7.3.0/tests/test_phystokens.py 2023-08-12 18:08:23.000000000 
+0200
+++ new/coverage-7.3.1/tests/test_phystokens.py 2023-09-06 14:03:22.000000000 
+0200
@@ -3,6 +3,8 @@
 
 """Tests for coverage.py's improved tokenizer."""
 
+from __future__ import annotations
+
 import os.path
 import re
 import textwrap

Reply via email to