36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
"""
|
|
Test importing of all internal packages and modules.
|
|
|
|
This ensures all internal packages can be imported without needing the pytest
|
|
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() -> List[str]:
|
|
pytest_pkg = _pytest.__path__ # type: str # type: ignore
|
|
return sorted(
|
|
n
|
|
for _, n, _ in pkgutil.walk_packages(pytest_pkg, prefix=_pytest.__name__ + ".")
|
|
)
|
|
|
|
|
|
@pytest.mark.slow
|
|
@pytest.mark.parametrize("module", _modules())
|
|
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__({!r})".format(module),
|
|
))
|
|
# fmt: on
|