remove cycle-breaker test-crates#2590
Merged
Merged
Conversation
This means that a trait implementation has to always be passed for what boils down to ignore handling. The `standalone` portion of the API is also removed. Co-authored-by: Sebastian Thiel <[email protected]>
4f9f22c to
63b0c5a
Compare
There was a problem hiding this comment.
Pull request overview
This PR removes the standalone “cycle-breaker” *-tests crates and folds their integration tests back into the primary crates, simplifying test selection (e.g., by tooling like Zed) and reducing workspace member indirection.
Changes:
- Removed the dedicated
*/tests/Cargo.tomltest-crate manifests and corresponding workspace membership. - Updated test code to use non-standalone fixture helpers and added per-test-crate re-exports to keep callsites concise.
- Adjusted
gix-testtoolsfixture archive exclusion handling behind a newworktree-exclusionsfeature (now default forgix-testtoolsitself) and updatedjustfiletest invocations to target the primary crates.
Reviewed changes
Copilot reviewed 77 out of 78 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/tools/tests/tools/rust_fixture.rs | Removes standalone fixture path test that no longer applies after folding. |
| tests/tools/src/lib.rs | Removes standalone fixture APIs; adds exclusion abstraction + fallback matcher; routes fixture/archive logic through a single base path. |
| tests/tools/Cargo.toml | Adds worktree-exclusions feature (default) and makes related deps optional. |
| justfile | Updates nextest commands to run tests from primary crates instead of *-tests crates. |
| gix-worktree/tests/worktree/stack/ignore.rs | Switches fixtures to crate::scripted_fixture_read_only. |
| gix-worktree/tests/worktree/stack/attributes.rs | Switches fixtures to crate::scripted_fixture_read_only. |
| gix-worktree/tests/integrate.rs | Re-exports scripted_fixture_read_only for submodules. |
| gix-worktree/tests/Cargo.toml | Removes standalone gix-worktree-tests crate manifest. |
| gix-worktree/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] to host folded tests. |
| gix-worktree-state/tests/worktree.rs | Re-exports scripted_fixture_read_only for submodules. |
| gix-worktree-state/tests/state/mod.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-worktree-state/tests/Cargo.toml | Removes standalone gix-worktree-state-tests crate manifest. |
| gix-worktree-state/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] for folded tests. |
| gix-traverse/tests/traverse/util.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-traverse/tests/traverse/main.rs | Re-exports scripted_fixture_read_only for submodules. |
| gix-traverse/tests/Cargo.toml | Removes standalone gix-traverse-tests crate manifest. |
| gix-traverse/Cargo.toml | Adds dev-deps and explicit [[test]] for folded tests. |
| gix-status/tests/status/stack.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-status/tests/status/main.rs | Re-exports needed fixture helpers; adjusts paths to non-standalone helpers. |
| gix-status/tests/status/index_as_worktree.rs | Switches to crate::scripted_fixture_writable. |
| gix-status/tests/Cargo.toml | Removes standalone gix-status-tests crate manifest. |
| gix-status/Cargo.toml | Enables autotests (removes autotests=false), adds parallel feature and dev-deps for folded tests. |
| gix-ref/tests/refs/store.rs | Updates parallel cfg flag + uses crate::scripted_fixture_read_only. |
| gix-ref/tests/refs/packed/open.rs | Switches from fixture_path_standalone to fixture_path. |
| gix-ref/tests/refs/packed/iter.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-ref/tests/refs/packed/find.rs | Switches from fixture_path_standalone to fixture_path. |
| gix-ref/tests/refs/main.rs | Re-exports fixture helpers for submodules. |
| gix-ref/tests/refs/file/worktree.rs | Switches to crate::scripted_fixture_*_with_args. |
| gix-ref/tests/refs/file/store/reflog.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-ref/tests/refs/file/mod.rs | Switches all fixture helpers to crate::* re-exports. |
| gix-ref/tests/refs/file/log.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-ref/tests/Cargo.toml | Removes standalone gix-ref-tests crate manifest. |
| gix-ref/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] for folded tests. |
| gix-pack/tests/pack/multi_index/write.rs | Switches from fixture_path_standalone to fixture_path. |
| gix-pack/tests/pack/mod.rs | Simplifies fixture re-exports; makes fuzz artifact paths resilient to old/new directory layout. |
| gix-pack/tests/pack/index.rs | Updates parallel cfg flag and fixture_path usage. |
| gix-pack/tests/pack/data/output/count_and_entries.rs | Adds cfg-gating for streaming-input/wasm-specific validation paths. |
| gix-pack/tests/pack/bundle.rs | Gating write-to-directory module behind streaming-input/!wasm. |
| gix-pack/tests/integrate.rs | Re-exports scripted_fixture_read_only for submodules. |
| gix-pack/tests/Cargo.toml | Removes standalone gix-pack-tests crate manifest. |
| gix-pack/fuzz/README.md | Updates instructions to run tests from gix-pack instead of removed test crate. |
| gix-pack/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] for folded tests. |
| gix-odb/tests/odb/store/loose.rs | Switches to fixture_path; updates scripted fixture helper calls. |
| gix-odb/tests/odb/store/dynamic.rs | Switches to fixture_path; updates scripted fixture helper calls; minor formatting. |
| gix-odb/tests/odb/regression/mod.rs | Updates parallel cfg flag and scripted fixture helper usage. |
| gix-odb/tests/odb/mod.rs | Switches to fixture_path for object DB fixtures. |
| gix-odb/tests/odb/memory.rs | Switches scripted fixture helpers to crate::* re-exports. |
| gix-odb/tests/odb/find/mod.rs | Switches to fixture_path. |
| gix-odb/tests/integrate.rs | Re-exports fixture helpers for submodules. |
| gix-odb/tests/Cargo.toml | Removes standalone gix-odb-tests crate manifest. |
| gix-odb/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] for folded tests. |
| gix-index/tests/integrate.rs | Re-exports Result and scripted_fixture_read_only. |
| gix-index/tests/index/mod.rs | Switches fixture helpers to non-standalone variants. |
| gix-index/tests/index/init.rs | Switches to crate::scripted_fixture_read_only via re-export. |
| gix-index/tests/index/fs.rs | Switches fixture helper to crate::scripted_fixture_read_only. |
| gix-index/tests/index/file/read.rs | Switches scripted fixture helper to crate::scripted_fixture_read_only. |
| gix-index/tests/Cargo.toml | Removes standalone gix-index-tests crate manifest. |
| gix-index/fuzz/README.md | Updates instructions to run tests from gix-index instead of removed test crate. |
| gix-index/Cargo.toml | Adds parallel feature, dev-deps, and explicit [[test]] for folded tests. |
| gix-diff/tests/README.md | Updates instructions to run tests from gix-diff instead of removed test crate. |
| gix-diff/tests/diff/tree.rs | Switches to crate::scripted_fixture_read_only_with_args. |
| gix-diff/tests/diff/tree_with_rewrites.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/diff/rewrites/tracker.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/diff/main.rs | Re-exports scripted fixture helpers at the test crate root. |
| gix-diff/tests/diff/index.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/diff/blob/slider.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/diff/blob/platform.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/diff/blob/pipeline.rs | Switches to crate::scripted_fixture_read_only. |
| gix-diff/tests/Cargo.toml | Removes standalone gix-diff-tests crate manifest. |
| gix-diff/Cargo.toml | Enables autotests (removes autotests=false); adds dev-deps needed by folded tests. |
| gix-config/tests/config/main.rs | Re-exports Result and scripted_fixture_read_only. |
| gix-config/tests/config/file/mod.rs | Switches from fixture_path_standalone to fixture_path; adjusts fuzz artifact path lookup. |
| gix-config/tests/config/file/init/from_paths/includes/conditional/hasconfig.rs | Switches to crate::scripted_fixture_read_only. |
| gix-config/tests/config/file/init/comfort.rs | Switches to crate::scripted_fixture_read_only. |
| gix-config/tests/Cargo.toml | Removes standalone gix-config-tests crate manifest. |
| gix-config/Cargo.toml | Enables autotests (removes autotests=false); adds dev-deps needed by folded tests/benches. |
| Cargo.toml | Removes standalone test crates from workspace members list. |
| Cargo.lock | Updates lockfile to reflect removed test crates and shifted dev-dependencies. |
63b0c5a to
914aaab
Compare
ddf54dd to
fe897b3
Compare
Co-authored-by: Sebastian Thiel <[email protected]>
These were an artifact of the past where this was needed to hide modules from `autotests = true`. Finally the structure for integration tests has settled, so lets make sure it's there.
9c39242 to
1bc4ce3
Compare
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.
This mostly helps the workflow with Zed which deduces tests-to-run by crate.
Tasks