참고소스 수정본
This commit is contained in:
40
참고/instructor-main/tests/docs/conftest.py
Normal file
40
참고/instructor-main/tests/docs/conftest.py
Normal file
@@ -0,0 +1,40 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user