Skip to content

Commit

Permalink
Keep tests working w/ upcoming aiohttp 4.0.0 (#2974)
Browse files Browse the repository at this point in the history
aiohttp.test_utils.unittest_run_loop was deprecated since aiohttp 3.8
and aiohttp 4 (which isn't a thing quite yet) removes it. To maintain
compatibility with the full range of versions we declare to support,
test_blackd.py will now define a no-op replacement if it can't be
imported.

Also, mypy is painfully slow to use without a cache, let's reenable it.
  • Loading branch information
ichard26 authored Mar 30, 2022
1 parent 2d62a09 commit 82e150a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
3 changes: 0 additions & 3 deletions mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ warn_unreachable=True
disallow_untyped_defs=True
check_untyped_defs=True

# No incremental mode
cache_dir=/dev/null

[mypy-black]
# The following is because of `patch_click()`. Remove when
# we drop Python 3.6 support.
Expand Down
15 changes: 11 additions & 4 deletions tests/test_blackd.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import re
from typing import Any
from unittest.mock import patch

from click.testing import CliRunner
Expand All @@ -8,12 +9,18 @@

try:
import blackd
from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
from aiohttp.test_utils import AioHTTPTestCase
from aiohttp import web
except ImportError as e:
raise RuntimeError("Please install Black with the 'd' extra") from e

try:
from aiohttp.test_utils import unittest_run_loop
except ImportError:
has_blackd_deps = False
else:
has_blackd_deps = True
# unittest_run_loop is unnecessary and a no-op since aiohttp 3.8, and aiohttp 4
# removed it. To maintain compatibility we can make our own no-op decorator.
def unittest_run_loop(func: Any, *args: Any, **kwargs: Any) -> Any:
return func


@pytest.mark.blackd
Expand Down

0 comments on commit 82e150a

Please sign in to comment.