test: migrate unit_graph, update and vendor to snapbox
### What does this PR try to resolve?
Part of https://github.com/rust-lang/cargo/issues/14039.
Migrate following to snapbox:
- `tests/testsuite/unit_graph.rs`
- `tests/testsuite/update.rs`
- `tests/testsuite/vendor.rs`
This is a partial revert of ##14121
(e11d1722bb)
Our focus for redacting (auto or with globs) includes
- run-specific information (timing, hashes, platform-specific wording)
- rustc-specific information
(We tend to use globs for rustc-specific information because there might
be some very specific times we need to care about some of the details)
However, "Packaged files" does not fit into any of that and, for now, we
are erring on the side of redacting less, rather than more, with the
move to snapbox.
As we see how it works out and what the underlying requirements are, we
can revisit this.
test: Auto-redact file number
This is from <https://github.com/rust-lang/cargo/pull/14096#discussion_r1648889843>.
Although the number of files in `cargo package` is important,
we have `validate_crate_contents` and `validate_upload_with_contents`
that verify the exact contents.
Redacting `Packaged` status should be fine.
test: migrate lints_table and lints/(mod|unknown_lints) to snapbox
### What does this PR try to resolve?
Part of #14039.
Migrate followings to snapbox:
- `tests/testsuite/lints/mod.rs`
- `tests/testsuite/lints/unknown_lints.rs`
- `tests/testsuite/lints_table.rs`
fix(toml): Warn when edition is unuset, even when MSRV is unset
### What does this PR try to resolve?
This came up in #14108. This got overlooked when we added the MSRV
limits to the warning.
Users can silence this by setting a very old MSRV.
I didn't bother finding a way to word a specialized message for this.
Wording for this case seemed hard and I figure someone in this situation
knows how to resolve it.
Instead, we are targeting the majority of users who aren't setting a
`package.rust-version` in the first place.
### How should we test and review this PR?
### Additional information
This came up in #14108. This got overlooked when we added the MSRV
limits to the warning.
Users can silience this by setting a very old MSRV.
I didn't bother finding a way to word a specialized message for this.
Wording for this case seemed hard and I figure someone in this situation
knows how to resolve it.
Instead, we are targeting the majority of users who aren't setting a
`package.rust-version` in the first place.
test: migrate `cargo_alias_config&cargo_config/mod` to snapbox
### What does this PR try to resolve?
Resolve the following file migration:
`tests/testsuite/cargo_alias_config.rs`
`tests/testsuite/cargo_config/mod.rs`
part of #14039
test: Migrate `pub_priv.rs` to snapshot
### What does this PR try to resolve?
Apply snapshot assertion on `tests/testsuite/pub_priv.rs`
### How should we test and review this PR?
The migration is almost one-to-one.
### Additional information
Part of https://github.com/rust-lang/cargo/issues/14039
test: migrate rustdoc and rustdocflags to snapbox
### What does this PR try to resolve?
Part of #14039.
Migrate following to snapbox:
- `tests/testsuite/rustdoc.rs`
- `tests/testsuite/rustdocflags.rs`
test: migrate tree and tree_graph_features to snapbox
### What does this PR try to resolve?
Part of #14039.
Migrate following to snapbox:
- `tests/testsuite/tree.rs`
- `tests/testsuite/tree_graph_features.rs`
test: Migrate some files to snapbox
### What does this PR try to resolve?
This PR addresses the migration of the following files:
`tests/testsuite/build_script_extra_link_arg.rs `
` tests/testsuite/cache_lock.rs `
` tests/testsuite/cache_messages.rs `
part of #14039
fix(fix): Address problems with implicit -> explicit feature migration
### What does this PR try to resolve?
Within the scope of `cargo fix` there are two problems
- We wipe out existing feature activations if it has the same name as an optional dependency
- The `Cargo.toml` isn't parseable because the unused optional dependency won't "exist" if just `dep_name/feature_name` is used
Fixes#14010
### How should we test and review this PR?
As for the unused optional dependency not "existing" error,
- #14015 is for improving the message for weak dep features
- #14016 is for re-evaluating how we handle this for strong dep features
Depending on what solution we go with for #14016, we might want to revisit the second migration within this PR. This is one reason I made the commit separate (in addition to just making it clearer whats happening as this gets into some finer details of features).
### Additional information
test: migrate timings_works to snapbox
### What does this PR try to resolve?
Part of https://github.com/rust-lang/cargo/issues/14039.
Migrate `tests/testsuite/timings.rs` to snapbox.
### How should we test and review this PR?
N/A
### Additional information
N/A