Repository navigation
Conversation
📊 Automated PR Analysis
SummaryThis PR adds end-to-end test coverage for the Review Checklist
Linked issues: #4432 Analyzed automatically by wshm · This is an automated analysis, not a human review. |
yeahjack
marked this pull request as ready for review
October 5, 2026 16:04
Contributor
Author
yeahjack
force-pushed
the
test/vitest-jest-command-routing
branch
from
October 19, 2026 10:25
1e2bdbd to
077effb
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.
Summary
rtk vitestandrtk jest, fromrun_clidispatch through actual process spawning and output handlingCloses #4432. This is the missing wiring coverage after #2418. No production code is changed, so this does not refactor the runner or take over the behavior fixes in #4264 / #3777 / #3680.
Test design
A small native Rust fake is compiled once per test process with the existing Rust toolchain, then installed under each framework/package-manager name. It records its own executable name and argv, so assertions cover the spawned command rather than only an invocation helper. Each child gets a fixture-only PATH; no Node installation, JS project dependencies, shell scripts, or network are needed. The test and fake are portable to Windows, macOS, and Linux. They exercise native executables, not Windows
.cmdshim quoting.Spec-driven re-review
Acceptance was derived from the three observable wiring failures in #4432 and the repository's machine-independent CLI-test rules before inspecting this test suite.
cli_dispatches_each_framework_to_its_own_executable_and_argumentschecks both programs, exact argv and direct-tool precedence. Addednative_spawn_preserves_argument_boundaries_and_metacharacterscovers the forwarded separator, dash-prefixed positional, quotes, backslash and shell metacharacters as literal arguments.explicit_vitest_reporter_reaches_the_spawn_and_bypasses_parsing,explicit_reporter_keeps_stderr_diagnostics_and_failure_status,framework_failures_keep_the_child_exit_status, and addedreporter_passthrough_also_reaches_the_package_managercover direct and pnpm-mediated paths, both reporter spellings and explicit JSON.missing_framework_uses_the_projects_package_manager_without_fetchingchecks pnpm/yarn/npx and Bun's no-fetch fallback. Fixtures use temporary cwd, redirected RTK data, fixture-only PATH and native Rust executables.No production code changes. These tests cover native executables on Windows/macOS/Linux, not real Node packages or Windows
.cmdshim quoting. Current output semantics intentionally include the existing emitter's trailing newline and reporter stderr in the combined output; changing those belongs to a separate behavior fix.Verification
cargo fmt --all --check,cargo clippy --offline --all-targets, andcargo test --offline --allpassed: 4,120 tests passed; 8 pre-existing ignored tests were not runrustfmt --check --edition 2024 tests/fixtures/fake_test_runner.rspassedCI run 37336917035 passed for
9f18e6c393b0e6de9c633e46192285f7f1e75aeb, including Windows/macOS/Linux tests, formatting, clippy, benchmark and security jobs. CLA status passed. The target-branch job is intentionally skipped for the develop base. The optional AI documentation review was skipped because its repository API key is not configured; the job reports success.The spec-driven self-review has no remaining known in-scope finding. Ready for maintainer review.