from __future__ import annotations import sys import typing as t from types import ModuleType import pytest import markupsafe from markupsafe import _native try: from markupsafe import _speedups except ImportError: _speedups = None # type: ignore def pytest_report_header() -> list[str]: """Return a list of strings to be displayed in the header of the report.""" if sys.version_info >= (3, 13): return [f"Free-threaded: {not sys._is_gil_enabled()}"] return [] @pytest.fixture( scope="session", autouse=True, params=( _native, pytest.param( _speedups, marks=pytest.mark.skipif(_speedups is None, reason="speedups unavailable"), ), ), ) def _mod(request: pytest.FixtureRequest) -> None: mod = t.cast(ModuleType, request.param) markupsafe._escape_inner = mod._escape_inner # type: ignore[attr-defined]