summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2023-01-05 07:12:49 -0500
committerNed Batchelder <ned@nedbatchelder.com>2023-01-05 12:55:18 -0500
commit8ff3c6dfe6207dc79ed7be5105675d2f08725b76 (patch)
tree326161486c3e239245fcab7bdc8c90be0a2f92e2
parent4ea850a695e3ab8e42d400dc9dceaebea9246081 (diff)
downloadpython-coveragepy-git-8ff3c6dfe6207dc79ed7be5105675d2f08725b76.tar.gz
mypy: Iterator is better than Generator
-rw-r--r--coverage/bytecode.py4
-rw-r--r--coverage/control.py4
-rw-r--r--coverage/debug.py5
-rw-r--r--coverage/misc.py4
-rw-r--r--coverage/sqldata.py6
-rw-r--r--tests/conftest.py10
-rw-r--r--tests/coveragetest.py4
-rw-r--r--tests/helpers.py8
-rw-r--r--tests/test_execfile.py4
-rw-r--r--tests/test_files.py4
10 files changed, 26 insertions, 27 deletions
diff --git a/coverage/bytecode.py b/coverage/bytecode.py
index e9a908f7..2cad4f9b 100644
--- a/coverage/bytecode.py
+++ b/coverage/bytecode.py
@@ -6,10 +6,10 @@
from __future__ import annotations
from types import CodeType
-from typing import Generator
+from typing import Iterator
-def code_objects(code: CodeType) -> Generator[CodeType, None, None]:
+def code_objects(code: CodeType) -> Iterator[CodeType]:
"""Iterate over all the code objects in `code`."""
stack = [code]
while stack:
diff --git a/coverage/control.py b/coverage/control.py
index 4e97ce9c..637a8f6a 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -20,7 +20,7 @@ import warnings
from types import FrameType
from typing import (
cast,
- Any, Callable, Dict, Generator, IO, Iterable, List, Optional, Tuple, Union,
+ Any, Callable, Dict, IO, Iterable, Iterator, List, Optional, Tuple, Union,
)
from coverage import env
@@ -56,7 +56,7 @@ from coverage.xmlreport import XmlReporter
os = isolate_module(os)
@contextlib.contextmanager
-def override_config(cov: Coverage, **kwargs: TConfigValueIn) -> Generator[None, None, None]:
+def override_config(cov: Coverage, **kwargs: TConfigValueIn) -> Iterator[None]:
"""Temporarily tweak the configuration of `cov`.
The arguments are applied to `cov.config` with the `from_args` method.
diff --git a/coverage/debug.py b/coverage/debug.py
index a3d1dfa8..145802b1 100644
--- a/coverage/debug.py
+++ b/coverage/debug.py
@@ -18,8 +18,7 @@ import types
import _thread
from typing import (
- Any, Callable, Generator, IO, Iterable, Iterator, Optional, List, Tuple,
- cast,
+ Any, Callable, IO, Iterable, Iterator, Optional, List, Tuple, cast,
)
from coverage.misc import isolate_module
@@ -65,7 +64,7 @@ class DebugControl:
return (option in self.options)
@contextlib.contextmanager
- def without_callers(self) -> Generator[None, None, None]:
+ def without_callers(self) -> Iterator[None]:
"""A context manager to prevent call stacks from being logged."""
old = self.suppress_callers
self.suppress_callers = True
diff --git a/coverage/misc.py b/coverage/misc.py
index 9b42d841..c2041b47 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -21,7 +21,7 @@ import types
from types import ModuleType
from typing import (
- Any, Callable, Dict, Generator, IO, Iterable, List, Mapping, Optional,
+ Any, Callable, Dict, IO, Iterable, Iterator, List, Mapping, Optional,
Sequence, Tuple, TypeVar, Union,
)
@@ -71,7 +71,7 @@ class SysModuleSaver:
@contextlib.contextmanager
-def sys_modules_saved() -> Generator[None, None, None]:
+def sys_modules_saved() -> Iterator[None]:
"""A context manager to remove any modules imported during a block."""
saver = SysModuleSaver()
try:
diff --git a/coverage/sqldata.py b/coverage/sqldata.py
index 4baea331..0a2f87a5 100644
--- a/coverage/sqldata.py
+++ b/coverage/sqldata.py
@@ -22,8 +22,8 @@ import threading
import zlib
from typing import (
- cast, Any, Callable, Collection, Dict, Generator, Iterable, List, Mapping, Optional,
- Sequence, Set, Tuple, TypeVar, Union,
+ cast, Any, Callable, Collection, Dict, Iterable, Iterator, List, Mapping,
+ Optional, Sequence, Set, Tuple, TypeVar, Union,
)
from coverage.debug import NoDebugging, AutoReprMixin, clipped_repr
@@ -1171,7 +1171,7 @@ class SqliteDb(AutoReprMixin):
self,
sql: str,
parameters: Iterable[Any]=(),
- ) -> Generator[sqlite3.Cursor, None, None]:
+ ) -> Iterator[sqlite3.Cursor]:
"""Context managed :meth:`python:sqlite3.Connection.execute`.
Use with a ``with`` statement to auto-close the returned cursor.
diff --git a/tests/conftest.py b/tests/conftest.py
index 9b10514b..41db85b4 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -15,7 +15,7 @@ import sysconfig
import warnings
from pathlib import Path
-from typing import Generator, Optional
+from typing import Iterator, Optional
import pytest
@@ -65,7 +65,7 @@ def set_warnings() -> None:
@pytest.fixture(autouse=True)
-def reset_sys_path() -> Generator[None, None, None]:
+def reset_sys_path() -> Iterator[None]:
"""Clean up sys.path changes around every test."""
sys_path = list(sys.path)
yield
@@ -73,7 +73,7 @@ def reset_sys_path() -> Generator[None, None, None]:
@pytest.fixture(autouse=True)
-def reset_environment() -> Generator[None, None, None]:
+def reset_environment() -> Iterator[None]:
"""Make sure a test setting an envvar doesn't leak into another test."""
old_environ = os.environ.copy()
yield
@@ -82,7 +82,7 @@ def reset_environment() -> Generator[None, None, None]:
@pytest.fixture(autouse=True)
-def reset_filesdotpy_globals() -> Generator[None, None, None]:
+def reset_filesdotpy_globals() -> Iterator[None]:
"""coverage/files.py has some unfortunate globals. Reset them every test."""
set_relative_directory()
yield
@@ -110,7 +110,7 @@ def pytest_sessionfinish() -> None:
pth_file.unlink()
-def possible_pth_dirs() -> Generator[Path, None, None]:
+def possible_pth_dirs() -> Iterator[Path]:
"""Produce a sequence of directories for trying to write .pth files."""
# First look through sys.path, and if we find a .pth file, then it's a good
# place to put ours.
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index 9b3e3342..100b8e3b 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -19,7 +19,7 @@ import sys
from types import ModuleType
from typing import (
- Any, Collection, Dict, Generator, Iterable, List, Mapping, Optional,
+ Any, Collection, Dict, Iterable, Iterator, List, Mapping, Optional,
Sequence, Tuple, Union,
)
@@ -272,7 +272,7 @@ class CoverageTest(
cov: Coverage,
warnings: Iterable[str],
not_warnings: Iterable[str]=(),
- ) -> Generator[None, None, None]:
+ ) -> Iterator[None]:
"""A context manager to check that particular warnings happened in `cov`.
`cov` is a Coverage instance. `warnings` is a list of regexes. Every
diff --git a/tests/helpers.py b/tests/helpers.py
index 6f427fc3..0f958a39 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -16,8 +16,8 @@ import textwrap
import warnings
from typing import (
- cast,
- Any, Callable, Generator, Iterable, List, Optional, Set, Tuple, Type, TypeVar, Union,
+ Any, Callable, Iterable, Iterator, List, Optional, Set, Tuple, Type,
+ TypeVar, Union, cast,
)
import pytest
@@ -267,7 +267,7 @@ def arcs_to_arcz_repr(arcs: Optional[Iterable[TArc]]) -> str:
@contextlib.contextmanager
-def change_dir(new_dir: str) -> Generator[None, None, None]:
+def change_dir(new_dir: str) -> Iterator[None]:
"""Change directory, and then change back.
Use as a context manager, it will return to the original
@@ -322,7 +322,7 @@ def assert_coverage_warnings(
def swallow_warnings(
message: str=r".",
category: Type[Warning]=CoverageWarning,
-) -> Generator[None, None, None]:
+) -> Iterator[None]:
"""Swallow particular warnings.
It's OK if they happen, or if they don't happen. Just ignore them.
diff --git a/tests/test_execfile.py b/tests/test_execfile.py
index 0b6afa61..90885794 100644
--- a/tests/test_execfile.py
+++ b/tests/test_execfile.py
@@ -14,7 +14,7 @@ import py_compile
import re
import sys
-from typing import Any, Generator
+from typing import Any, Iterator
import pytest
@@ -31,7 +31,7 @@ class RunFileTest(CoverageTest):
"""Test cases for `run_python_file`."""
@pytest.fixture(autouse=True)
- def clean_up(self) -> Generator[None, None, None]:
+ def clean_up(self) -> Iterator[None]:
"""These tests all run in-process. Clean up global changes."""
yield
sys.excepthook = sys.__excepthook__
diff --git a/tests/test_files.py b/tests/test_files.py
index e8a6eaca..fe6c36a2 100644
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -10,7 +10,7 @@ import os
import os.path
import re
-from typing import Any, Generator, Iterable, List
+from typing import Any, Iterable, Iterator, List
from unittest import mock
import pytest
@@ -137,7 +137,7 @@ def globs_to_regex_params(
partial: bool=False,
matches: Iterable[str]=(),
nomatches: Iterable[str]=(),
-) -> Generator[Any, None, None]:
+) -> Iterator[Any]:
"""Generate parameters for `test_globs_to_regex`.
`patterns`, `case_insensitive`, and `partial` are arguments for