Skip to content

docs(deps[gp-sphinx]): Wire sphinx-autodoc-pytest-fixtures and dogfood --doctest-docutils-modules#72

Draft
tony wants to merge 3 commits intomasterfrom
feat/sphinx-autodoc-pytest-fixtures
Draft

docs(deps[gp-sphinx]): Wire sphinx-autodoc-pytest-fixtures and dogfood --doctest-docutils-modules#72
tony wants to merge 3 commits intomasterfrom
feat/sphinx-autodoc-pytest-fixtures

Conversation

@tony
Copy link
Copy Markdown
Member

@tony tony commented May 11, 2026

Summary

  • Wire sphinx-autodoc-pytest-fixtures==0.0.1a18 into dev/docs dep groups and docs/conf.py extra_extensions=. Matches the libvcs/libtmux/unihan-etl alignment for gp-sphinx 0.0.1a18.
  • Switch gp-libs' own pytest config from stdlib --doctest-modules to gp-libs' own --doctest-docutils-modules, suppress the stdlib doctest plugin via -p no:doctest, add --reruns=2, and add README.md to testpaths.
  • CHANGES notes under the unreleased 0.0.18 block.

Draft because

The extension loads but docs/doctest/pytest.md doesn't yet contain any .. autofixture:: or .. auto-pytest-plugin:: directives, so the rendered /doctest/pytest/ page is unchanged. Resolving that needs a shipped fixture module or a different page strategy — tracked in #71.

Test plan

  • rm -rf docs/_build
  • uv run ruff check . --fix --show-fixes — All checks passed
  • uv run ruff format . — 15 files left unchanged
  • uv run mypy — no issues in 14 source files
  • uv run py.test --reruns 0 -vvv — 84 passed (includes newly-exercised README.md doctest)
  • just build-docs — build succeeded, extension loads without warnings

tony added 3 commits May 10, 2026 22:01
why: Pull in the fixture-autodoc extension shipped in
gp-sphinx 0.0.1a18 so gp-libs' docs stack aligns with
libvcs, libtmux, and unihan-etl. Page content is not yet
rendered - tracked separately in #71.
what:
- Add sphinx-autodoc-pytest-fixtures==0.0.1a18 to the dev
  and docs dependency groups
- Load sphinx_autodoc_pytest_fixtures in docs/conf.py
  extra_extensions= alongside sphinx_autodoc_api_style
- Refresh uv.lock
why: gp-libs ships --doctest-docutils-modules but its own
test suite used the stdlib --doctest-modules. Switch to the
libvcs/libtmux shape so the project exercises its own
plugin and any regression shows up locally first.
what:
- Convert [tool.pytest.ini_options] addopts from a string
  to a list and swap --doctest-modules for
  --doctest-docutils-modules
- Disable the stdlib doctest plugin via -p no:doctest
  (belt-and-suspenders with pytest_configure's existing
  set_blocked call)
- Add --reruns=2 (pytest-rerunfailures is already in dev)
- Add README.md to testpaths so future doctest blocks in
  it run automatically; one existing block now runs
why: Surface the dev-tooling and docs-stack changes from
this branch in the unreleased 0.0.18 block so readers of
the release notes see them when the next version cuts.
what:
- Add a paragraph under ### Documentation about loading
  sphinx_autodoc_pytest_fixtures alongside
  sphinx_autodoc_api_style
- Add a paragraph under ### Development about the pytest
  config dogfooding switch, --reruns=2, and README.md in
  testpaths
@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.08%. Comparing base (abdcb4a) to head (922f3a3).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #72   +/-   ##
=======================================
  Coverage   73.08%   73.08%           
=======================================
  Files          14       14           
  Lines         836      836           
=======================================
  Hits          611      611           
  Misses        225      225           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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