Files
AI/참고/instructor-main/tests/docs/conftest.py

41 lines
1.1 KiB
Python
Raw Normal View History

2026-05-12 19:40:31 +09:00
from __future__ import annotations
from pathlib import Path
import pytest
from pytest_examples import CodeExample, EvalExample
def pytest_addoption(parser: pytest.Parser) -> None:
group = parser.getgroup("docs")
group.addoption(
"--run-doc-examples",
action="store_true",
help="Execute doc code examples (requires network access and API keys).",
)
@pytest.fixture(name="eval_example")
def eval_example(
tmp_path: Path,
request: pytest.FixtureRequest,
_examples_to_update: list[CodeExample],
):
eval_ex = EvalExample(tmp_path=tmp_path, pytest_request=request)
run_live = bool(
request.config.getoption("run_doc_examples")
or request.config.getoption("update_examples")
)
if not run_live:
def _skip_run(_example: CodeExample) -> None:
return None
eval_ex.run = _skip_run # type: ignore[assignment]
eval_ex.run_print_update = _skip_run # type: ignore[assignment]
yield eval_ex
if request.config.getoption("update_examples"):
_examples_to_update.extend(eval_ex.to_update)