Skip to content

Include tests in source distributions - #618

Open
David-the-happy-piglet wants to merge 1 commit into
cloudpipe:masterfrom
David-the-happy-piglet:fix/555-sdist-tests
Open

David-the-happy-piglet wants to merge 1 commit into
cloudpipe:masterfrom
David-the-happy-piglet:fix/555-sdist-tests

Conversation

@David-the-happy-piglet

Copy link
Copy Markdown

Fixes #555.

Source distributions built by the Flit backend omit the test suite, so downstream packagers cannot run the tests from the source archive. The existing MANIFEST.in test inclusion does not configure this backend.

Include the complete test tree, dev-requirements.txt and tox.ini in the sdist, while excluding Python caches and generated test-helper build metadata. Add packaging regressions that build an sdist and then a wheel from its extraction, checking test/support files, generated-file exclusions and unchanged runtime-only wheel contents. No runtime code changes.

Validation on macOS arm64 with CPython 3.12.15:

  • The final packaging regressions produce 1 failure and 1 pass with the original configuration, and 2 passes with the fix.
  • Built and extracted the final source archive, installed its test dependencies in a separate environment, and ran the full suite: 268 passed, 10 skipped and 2 xfailed. The baseline had 266 passes with the same skips and expected failures.
  • Packaging checks pass with flit_core 3.11.0 and 4.1.0. python -m build --no-isolation successfully builds the sdist and a wheel from it. All tracked test/support files are present in the sdist; the wheel contains only the original runtime package and metadata.
  • Changed-file pre-commit and full Ruff pass. Full Black retains one pre-existing formatting failure in the unchanged tests/cloudpickle_ipykernel_test.py.

The complete Python/OS/tox matrix, downstream integration suites and hosted CI were not run locally. Python 3.8 received a syntax check, not runtime validation. Other declared Flit versions and the release workflow were not exercised; the local frontend build used installed dependencies with --no-isolation.

This branch has not been deployed

No deployments
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.

3.1.1: sdist is missing tests

1 participant