From f136b79f1a5df99753fd4e0c5290fcee1eb45f47 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 9 Apr 2020 16:56:01 +0200 Subject: [PATCH] Fix test_no_warnings to handle e.g. `_pytest.async` (#7044) Before this patch it would result in a SyntaxError with e.g. `import _pytest.async`. --- testing/test_meta.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/testing/test_meta.py b/testing/test_meta.py index ffc8fd38a..7ab8951a0 100644 --- a/testing/test_meta.py +++ b/testing/test_meta.py @@ -7,29 +7,29 @@ namespace being set, which is critical for the initialization of xdist. import pkgutil import subprocess import sys +from typing import List import _pytest import pytest -def _modules(): +def _modules() -> List[str]: + pytest_pkg = _pytest.__path__ # type: str # type: ignore return sorted( n - for _, n, _ in pkgutil.walk_packages( - _pytest.__path__, prefix=_pytest.__name__ + "." - ) + for _, n, _ in pkgutil.walk_packages(pytest_pkg, prefix=_pytest.__name__ + ".") ) @pytest.mark.slow @pytest.mark.parametrize("module", _modules()) -def test_no_warnings(module): +def test_no_warnings(module: str) -> None: # fmt: off subprocess.check_call(( sys.executable, "-W", "error", # https://github.com/pytest-dev/pytest/issues/5901 "-W", "ignore:The usage of `cmp` is deprecated and will be removed on or after 2021-06-01. Please use `eq` and `order` instead.:DeprecationWarning", # noqa: E501 - "-c", "import {}".format(module), + "-c", "__import__({!r})".format(module), )) # fmt: on