fix: include tests/ (and tox.ini) in the flit sdist - #420
Closed
BetterAndBetterII wants to merge 2 commits into
Closed
BetterAndBetterII wants to merge 2 commits into
BetterAndBetterII wants to merge 2 commits into
Conversation
Fixes executablebooks#261 — flit_core sdists omitted the test suite while shipping tox.ini, so distro packagers could not run the project's tests from the PyPI source tarball. Explicitly include tests/ and tox.ini; keep docs/ and benchmarking/ excluded.
for more information, see https://pre-commit.ci
chrisjsewell
added a commit
that referenced
this pull request
Sep 9, 2026
## Summary Supersedes #420 by @BetterAndBetterII (GitHub refused to update that fork branch because the merge would carry workflow-file changes); their commits are carried here verbatim with authorship preserved (thank you!). Closes #261, open since 2023 from a distro packager. PyPI sdists shipped `tox.ini` but omitted `tests/`, so packagers could not run the suite from the tarball. `tests/` is moved out of `[tool.flit.sdist] exclude` and `tests/` plus `tox.ini` are explicitly included; `docs/` and `benchmarking/` stay excluded. ## Commits 1. `fix: include tests/ (and tox.ini) in the flit sdist` and the pre-commit.ci autofix — the contributor's commits, unchanged. 2. `🧪 TEST: Assert sdist contents by building the sdist` — the original test only string-matched `pyproject.toml`. It now builds a real sdist with `flit_core` (no network, ~0.15 s) and asserts `markdown_it/__init__.py`, `tests/test_api/test_main.py` and `tox.ini` are members and nothing under `docs/` or `benchmarking/` is. It skips cleanly when `flit_core` is unavailable or when not run from a source checkout. Verified negative: with the `include` reverted, the test fails on `tests/test_api/test_main.py`. ## Verification - 994 tests pass; the sdist test runs (not skipped) with flit_core 4.0.2, which is what `pyproject.toml` now allows after #414. - All pre-commit hooks pass under the new pins. - No changelog entry in the commits; suggest adding one at release time under 🔧. --------- Co-authored-by: Yuzhong Zhang <BetterAndBetterII@users.noreply.github.com>
Member
|
Thanks @BetterAndBetterII! Your commits have been merged verbatim, with your authorship preserved, via #426 (GitHub would not let us bring this fork branch up to date because the merge carried workflow-file changes). #426 also turned the regression test into one that builds a real sdist and checks its contents. Closing this in favour of #426; it will be in the next release, and #261 is closed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tox.inibut omittedtests/, so distro packagers could not run the project's tests from the source tarball.flit_core's default file set does not pull in VCS extras the way fullflitdoes, andtests/was also listed under[tool.flit.sdist] exclude. Explicitlyincludetests/andtox.ini; keepdocs/andbenchmarking/excluded.Test plan
python -m build --sdistand confirm the tarball containstests/(44 files) andtox.inipytest tests/test_packaging/test_sdist_includes_tests.py