Skip to content

Replace request.param fixture selection with typed parameters - #3299

Merged
adamtheturtle merged 1 commit into
mainfrom
replace-request-param
Oct 12, 2026
Merged

adamtheturtle merged 1 commit into
mainfrom
replace-request-param

Conversation

@adamtheturtle

@adamtheturtle adamtheturtle commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Report month, image source, and file mode selection currently depend on parametrized fixtures reading request.param. Replace them with ordinary typed test parameters and a shared image factory fixture that owns file handles through ExitStack.

Retain all 467 collected case IDs and every existing assertion, including the buffer cases repeated for both file modes. Keep fixture annotations importable at runtime for pytest-beartype, and check the factory's source, mode, and return type with Beartype.

Validation: final full suites on Python 3.14 and final Python 3.15 each pass all 467 cases with 100% branch coverage; all four type checkers and public type completeness; applicable pre-commit hooks and Pylint; direct checks for image bytes, file cleanup, buffer ownership, and invalid source/mode rejection. Local Mypy used MYPY_NUM_WORKERS=0.

Existing limitation: selecting only README.rst and docs/source/index.rst enables package import checking and fails three examples because vws.reports._checked annotates hint as type[T] while receiving a generic alias. The same failure reproduces on unchanged main. The repository's complete test collection passes its documentation examples; its existing package-check configuration remains enabled.

@adamtheturtle
adamtheturtle marked this pull request as ready for review October 12, 2026 22:57
@adamtheturtle
adamtheturtle merged commit 0c50ef3 into main Oct 12, 2026
15 checks passed
@adamtheturtle
adamtheturtle deleted the replace-request-param branch October 12, 2026 23:02

This branch was successfully deployed

1 active deployment
development — ceba3428 Deployed Oct 12, 2026 by adamtheturtle via pages #1175
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant