conftest.py 911 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from __future__ import annotations
  2. import sys
  3. import typing as t
  4. from types import ModuleType
  5. import pytest
  6. import markupsafe
  7. from markupsafe import _native
  8. try:
  9. from markupsafe import _speedups
  10. except ImportError:
  11. _speedups = None # type: ignore
  12. def pytest_report_header() -> list[str]:
  13. """Return a list of strings to be displayed in the header of the report."""
  14. if sys.version_info >= (3, 13):
  15. return [f"Free-threaded: {not sys._is_gil_enabled()}"]
  16. return []
  17. @pytest.fixture(
  18. scope="session",
  19. autouse=True,
  20. params=(
  21. _native,
  22. pytest.param(
  23. _speedups,
  24. marks=pytest.mark.skipif(_speedups is None, reason="speedups unavailable"),
  25. ),
  26. ),
  27. )
  28. def _mod(request: pytest.FixtureRequest) -> None:
  29. mod = t.cast(ModuleType, request.param)
  30. markupsafe._escape_inner = mod._escape_inner # type: ignore[attr-defined]