cargo
cargo copied to clipboard
Migrate away from ad-hoc snapshot testing for rustfix test suite
Problem
When dealing with rustfix snapshot test fixes, I found it a bit cumbersome to figure out the actual failure. You need to pass RUST_LOG=parse_and_replace=info to see the log, and RUSTFIX_TEST_BLESS=test-name.rs to update snapshots.
Proposed Solution
In the main Cargo crate, we've already integrated snapbox for UI tests. We could migrate rustfix test suite to that, and maybe share some common infra, like nightly channel detection from cargo-test-macro.
Notes
ehuss has a proposal that we don't run rustc if JSON snapshot exists: https://github.com/rust-lang/cargo/pull/13890#issuecomment-2102747898. This could be a good enhancement, and I think we can leave it to follow-ups.