Skip to content

chore(deps): update pytest-cov requirement from <8,>=3 to >=7.1.0,<8#1507

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/pip/pytest-cov-gte-7.1.0-and-lt-8
Open

chore(deps): update pytest-cov requirement from <8,>=3 to >=7.1.0,<8#1507
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/pip/pytest-cov-gte-7.1.0-and-lt-8

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 25, 2026

Warning

Dependabot will stop supporting python v3.9!

Please upgrade to one of the following versions: v3.9, v3.10, v3.11, v3.12, v3.13, or v3.14.

Updates the requirements on pytest-cov to permit the latest version.

Changelog

Sourced from pytest-cov's changelog.

7.1.0 (2026-03-21)

  • Fixed total coverage computation to always be consistent, regardless of reporting settings. Previously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on reporting options. See [#641](https://github.com/pytest-dev/pytest-cov/issues/641) <https://github.com/pytest-dev/pytest-cov/issues/641>_.

  • Improve handling of ResourceWarning from sqlite3.

    The plugin adds warning filter for sqlite3 ResourceWarning unclosed database (since 6.2.0). It checks if there is already existing plugin for this message by comparing filter regular expression. When filter is specified on command line the message is escaped and does not match an expected message. A check for an escaped regular expression is added to handle this case.

    With this fix one can suppress ResourceWarning from sqlite3 from command line::

    pytest -W "ignore:unclosed database in <sqlite3.Connection object at:ResourceWarning" ...

  • Various improvements to documentation. Contributed by Art Pelling in [#718](https://github.com/pytest-dev/pytest-cov/issues/718) <https://github.com/pytest-dev/pytest-cov/pull/718>_ and "vivodi" in [#738](https://github.com/pytest-dev/pytest-cov/issues/738) <https://github.com/pytest-dev/pytest-cov/pull/738>. Also closed [#736](https://github.com/pytest-dev/pytest-cov/issues/736) <https://github.com/pytest-dev/pytest-cov/issues/736>.

  • Fixed some assertions in tests. Contributed by in Markéta Machová in [#722](https://github.com/pytest-dev/pytest-cov/issues/722) <https://github.com/pytest-dev/pytest-cov/pull/722>_.

  • Removed unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).

7.0.0 (2025-09-09)

  • Dropped support for subprocesses measurement.

    It was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests. It relied on a .pth file, there was no way to opt-out and it created bad interations with coverage's new patch system <https://coverage.readthedocs.io/en/latest/config.html#run-patch>_ added in 7.10 <https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24>_.

    To migrate to this release you might need to enable the suprocess patch, example for .coveragerc:

    .. code-block:: ini

    [run] patch = subprocess

    This release also requires at least coverage 7.10.6.

  • Switched packaging to have metadata completely in pyproject.toml and use hatchling <https://pypi.org/project/hatchling/>_ for building. Contributed by Ofek Lev in [#551](https://github.com/pytest-dev/pytest-cov/issues/551) <https://github.com/pytest-dev/pytest-cov/pull/551>_ with some extras in [#716](https://github.com/pytest-dev/pytest-cov/issues/716) <https://github.com/pytest-dev/pytest-cov/pull/716>_.

  • Removed some not really necessary testing deps like six.

... (truncated)

Commits
  • 66c8a52 Bump version: 7.0.0 → 7.1.0
  • f707662 Make the examples use pypy 3.11.
  • 6049a78 Make context test use the old ctracer (seems the new sysmon tracer behaves di...
  • 8ebf20b Update changelog.
  • 861d30e Remove the backup context manager - shouldn't be needed since coverage 5.0, ...
  • fd4c956 Pass the precision on the nulled total (seems that there's some caching goion...
  • 78c9c4e Only run the 3.9 on older deps.
  • 4849a92 Punctuation.
  • 197c35e Update changelog and hopefully I don't forget to publish release again :))
  • 14dc1c9 Update examples to use 3.11 and make the adhoc layout example look a bit more...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels May 25, 2026
@dependabot dependabot Bot requested a review from a team as a code owner May 25, 2026 17:49
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels May 25, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 25, 2026

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
910 4 906 0
View the top 3 failed test(s) by shortest run time
tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon::test_events
Stack Traces | 0.012s run time
self = <tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon object at 0x7f184735d7e0>

    def test_events(self):
        app = AsyncApp(
            client=self.web_client,
            signing_secret=self.signing_secret,
        )
    
        async def event_handler():
            pass
    
        app.event("app_mention")(event_handler)
    
        input = {
            "token": "verification_token",
            "team_id": "T111",
            "enterprise_id": "E111",
            "api_app_id": "A111",
            "event": {
                "client_msg_id": "9cbd4c5b-7ddf-4ede-b479-ad21fca66d63",
                "type": "app_mention",
                "text": "<@W111> Hi there!",
                "user": "W222",
                "ts": "1595926230.009600",
                "team": "T111",
                "channel": "C111",
                "event_ts": "1595926230.009600",
            },
            "type": "event_callback",
            "event_id": "Ev111",
            "event_time": 1595926230,
            "authed_users": ["W111"],
        }
        timestamp, body = str(int(time())), json.dumps(input)
    
        api = new_falcon_app()
        resource = AsyncSlackAppResource(app)
        api.add_route("/slack/events", resource)
    
        client = testing.TestClient(api)
>       response = client.simulate_post(
            "/slack/events",
            body=body,
            headers=self.build_headers(timestamp, body),
        )

tests/adapter_tests_async/test_async_falcon.py:96: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2145: in simulate_post
    return self.simulate_request('POST', path, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2194: in simulate_request
    return simulate_request(self.app, *args, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:606: in simulate_request
    return async_to_sync(  # type: ignore[return-value]
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:260: in async_to_sync
    return _active_runner().run(coroutine(*args, **kwargs))
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:53: in __call__
    if self._runner.get_loop().is_closed():
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:36: in get_loop
    return asyncio.get_event_loop_policy().get_event_loop()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f18486b3dc0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10/asyncio/events.py:656: RuntimeError
tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon::test_commands
Stack Traces | 0.016s run time
self = <tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon object at 0x7f184735dba0>

    def test_commands(self):
        app = AsyncApp(
            client=self.web_client,
            signing_secret=self.signing_secret,
        )
    
        async def command_handler(ack):
            await ack()
    
        app.command("/hello-world")(command_handler)
    
        input = (
            "token=verification_token"
            "&team_id=T111"
            "&team_domain=test-domain"
            "&channel_id=C111"
            "&channel_name=random"
            "&user_id=W111"
            "&user_name=primary-owner"
            "&command=%2Fhello-world"
            "&text=Hi"
            "&enterprise_id=E111"
            "&enterprise_name=Org+Name"
            "&response_url=https%3A%2F%2Fhooks.slack.com%2Fcommands%2FT111%2F111%2Fxxxxx"
            "&trigger_id=111.111.xxx"
        )
        timestamp, body = str(int(time())), input
    
        api = new_falcon_app()
        resource = AsyncSlackAppResource(app)
        api.add_route("/slack/events", resource)
    
        client = testing.TestClient(api)
>       response = client.simulate_post(
            "/slack/events",
            body=body,
            headers=self.build_headers(timestamp, body),
        )

tests/adapter_tests_async/test_async_falcon.py:178: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2145: in simulate_post
    return self.simulate_request('POST', path, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2194: in simulate_request
    return simulate_request(self.app, *args, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:606: in simulate_request
    return async_to_sync(  # type: ignore[return-value]
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:260: in async_to_sync
    return _active_runner().run(coroutine(*args, **kwargs))
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:53: in __call__
    if self._runner.get_loop().is_closed():
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:36: in get_loop
    return asyncio.get_event_loop_policy().get_event_loop()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f18486b3dc0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10/asyncio/events.py:656: RuntimeError
tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon::test_shortcuts
Stack Traces | 0.016s run time
self = <tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon object at 0x7f184735d9c0>

    def test_shortcuts(self):
        app = AsyncApp(
            client=self.web_client,
            signing_secret=self.signing_secret,
        )
    
        async def shortcut_handler(ack):
            await ack()
    
        app.shortcut("test-shortcut")(shortcut_handler)
    
        input = {
            "type": "shortcut",
            "token": "verification_token",
            "action_ts": "111.111",
            "team": {
                "id": "T111",
                "domain": "workspace-domain",
                "enterprise_id": "E111",
                "enterprise_name": "Org Name",
            },
            "user": {"id": "W111", "username": "primary-owner", "team_id": "T111"},
            "callback_id": "test-shortcut",
            "trigger_id": "111.111.xxxxxx",
        }
    
        timestamp, body = str(int(time())), f"payload={quote(json.dumps(input))}"
    
        api = new_falcon_app()
        resource = AsyncSlackAppResource(app)
        api.add_route("/slack/events", resource)
    
        client = testing.TestClient(api)
>       response = client.simulate_post(
            "/slack/events",
            body=body,
            headers=self.build_headers(timestamp, body),
        )

tests/adapter_tests_async/test_async_falcon.py:137: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2145: in simulate_post
    return self.simulate_request('POST', path, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2194: in simulate_request
    return simulate_request(self.app, *args, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:606: in simulate_request
    return async_to_sync(  # type: ignore[return-value]
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:260: in async_to_sync
    return _active_runner().run(coroutine(*args, **kwargs))
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:53: in __call__
    if self._runner.get_loop().is_closed():
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:36: in get_loop
    return asyncio.get_event_loop_policy().get_event_loop()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f18486b3dc0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10/asyncio/events.py:656: RuntimeError
tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon::test_oauth
Stack Traces | 0.028s run time
self = <tests.adapter_tests_async.test_async_falcon.TestAsyncFalcon object at 0x7f184735dd80>

    def test_oauth(self):
        app = AsyncApp(
            client=self.web_client,
            signing_secret=self.signing_secret,
            oauth_settings=AsyncOAuthSettings(
                client_id="111.111",
                client_secret="xxx",
                scopes=["chat:write", "commands"],
            ),
        )
        api = new_falcon_app()
        resource = AsyncSlackAppResource(app)
        api.add_route("/slack/install", resource)
    
        client = testing.TestClient(api)
>       response = client.simulate_get("/slack/install")

tests/adapter_tests_async/test_async_falcon.py:201: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2131: in simulate_get
    return self.simulate_request('GET', path, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:2194: in simulate_request
    return simulate_request(self.app, *args, **kwargs)
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/testing/client.py:606: in simulate_request
    return async_to_sync(  # type: ignore[return-value]
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:260: in async_to_sync
    return _active_runner().run(coroutine(*args, **kwargs))
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:53: in __call__
    if self._runner.get_loop().is_closed():
.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10.../falcon/util/sync.py:36: in get_loop
    return asyncio.get_event_loop_policy().get_event_loop()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f18486b3dc0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

.../hostedtoolcache/Python/3.10.20...................../x64/lib/python3.10/asyncio/events.py:656: RuntimeError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@dependabot dependabot Bot force-pushed the dependabot/pip/pytest-cov-gte-7.1.0-and-lt-8 branch from 969cfd4 to 3570ccd Compare May 25, 2026 17:59
Updates the requirements on [pytest-cov](https://github.com/pytest-dev/pytest-cov) to permit the latest version.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v3.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/pytest-cov-gte-7.1.0-and-lt-8 branch from 3570ccd to 1e9313c Compare May 25, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant