Skip to content

Prune testing from Go and Rust builds - #207

Merged
jonringer merged 23 commits into
masterfrom
jonringer/prune-testing
Sep 20, 2026
Merged

jonringer merged 23 commits into
masterfrom
jonringer/prune-testing

Conversation

@jonringer

Copy link
Copy Markdown
Collaborator

This will automatically add the test to passthru.tests. But it avoids the need for rust to build the project twice, and should shorten the go build as well.

This should also shrink the dependency chain for building the package as well.

All build systems should default doCheck to false to keep builds fast.
Tests are automatically available via passthru.tests.build which re-runs
the build with doCheck = true. User-supplied passthru.tests entries are
merged alongside the auto-generated one.
All build systems should default doCheck to false to keep builds fast.
Tests are automatically available via passthru.tests.build which re-runs
the build with doCheck = true and allowGoReference = true. User-supplied
passthru.tests entries are merged alongside the auto-generated one.
Pass --no-test-load to R CMD INSTALL by default to skip test loading
during package installation, consistent with other build systems.
Document that all build systems now default doCheck to false.
Add guidance on passthru.tests patterns, auto-generated tests.build
for Rust/Go, and the Python testPaths mechanism.
The mergetool test requires git merge-file to be available.
Split single-string arguments into separate list elements so they are
passed correctly to cargo under structuredAttrs.
Git-related tests need git in the sandbox. Skip copyright notice scan
(chokes on cargo build artifacts), escript dependency test (needs
network), and echo tests (need bun runtime).
Run only lib tests and skip build_options tests that need the pyo3
crate (not in vendored deps) and metadata tests that need files not
included in the source archive.
The identity integration test references SecretKey type that was
removed from pijul_core::key. Restrict cargo tests to --bins only.
Tests require rustfmt +stable toolchain and a real Rust sysroot,
neither of which are available in the build sandbox.
All tests use -Zunpretty=expanded which requires nightly rustc,
and some additionally need cython.
Tests require grammar fixtures (language parsers) that are not
included in the source tarball.
Tests require python3, network access, and system keyring which
are not available in the build sandbox.
Tests are now disabled by default via buildGoModule. The Go reference
issue is handled by the auto-generated passthru.tests.build which
sets allowGoReference = true.
Integration tests compare error message paths which differ in the
Nix build sandbox.
Fails with "ZIP does not support timestamps before 1980" in the
Nix sandbox due to epoch-zeroed file timestamps.
sdist, wheel, bdist, develop, and utils tests require fixture archives
from docs/examples/ which are not present in the PyPI sdist.
These tests rely on _pytest.assertion.util internals that changed
in newer pytest versions.
Several tests asserting rerun outcomes with fixtures produce
inconsistent pass counts across environments.
Exception HTML output differs across pygments and markupsafe versions,
causing assertion failures on entity encoding.
test_long_description reads README.md which is not included in the
test_src output.
CLI tests need pyproject.toml at the source root which is not present
in the test_src output.
The profiler test reads benchmark/data.toml which may not be present
in all source archive formats.
@jonringer
jonringer force-pushed the jonringer/prune-testing branch from 1430920 to 136b354 Compare September 20, 2026 02:43
@jonringer
jonringer merged commit a9eba81 into master Sep 20, 2026
2 checks passed
@jonringer
jonringer deleted the jonringer/prune-testing branch September 20, 2026 13:44
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