test(cli): snapshot test for -Z help

This commit is contained in:
Weihang Lo 2024-01-08 19:24:49 -05:00
parent 13e97927cc
commit 3d4407dcb9
No known key found for this signature in database
GPG Key ID: D7DBF189825E82E7
5 changed files with 51 additions and 11 deletions

View File

@ -1 +1,2 @@
mod help;
mod z_help;

View File

@ -0,0 +1,13 @@
use cargo_test_support::curr_dir;
use cargo_test_support::prelude::*;
#[cargo_test]
fn case() {
snapbox::cmd::Command::cargo_ui()
.masquerade_as_nightly_cargo(&["-Z help"])
.args(["-Z", "help"])
.assert()
.success()
.stdout_matches_path(curr_dir!().join("stdout.log"))
.stderr_matches_path(curr_dir!().join("stderr.log"));
}

View File

View File

@ -0,0 +1,37 @@
Available unstable (nightly-only) flags:
-Z allow-features -- Allow *only* the listed unstable features
-Z asymmetric-token -- Allows authenticating with asymmetric tokens
-Z avoid-dev-deps -- Avoid installing dev-dependencies if possible
-Z binary-dep-depinfo -- Track changes to dependency artifacts
-Z bindeps -- Allow Cargo packages to depend on bin, cdylib, and staticlib crates, and use the artifacts built by those crates
-Z build-std -- Enable Cargo to compile the standard library itself as part of a crate graph compilation
-Z build-std-features -- Configure features enabled for the standard library itself when building the standard library
-Z check-cfg -- Enable compile-time checking of `cfg` names/values/features
-Z codegen-backend -- Enable the `codegen-backend` option in profiles in .cargo/config.toml file
-Z config-include -- Enable the `include` key in config files
-Z direct-minimal-versions -- Resolve minimal dependency versions instead of maximum (direct dependencies only)
-Z doctest-xcompile -- Compile and run doctests for non-host target using runner config
-Z dual-proc-macros -- Build proc-macros for both the host and the target
-Z gc -- Track cache usage and "garbage collect" unused files
-Z gitoxide -- Use gitoxide for the given git interactions, or all of them if no argument is given
-Z host-config -- Enable the [host] section in the .cargo/config.toml file
-Z lints -- Pass `[lints]` to the linting tools
-Z minimal-versions -- Resolve minimal dependency versions instead of maximum
-Z msrv-policy -- Enable rust-version aware policy within cargo
-Z mtime-on-use -- Configure Cargo to update the mtime of used files
-Z no-index-update -- Do not update the registry index even if the cache is outdated
-Z panic-abort-tests -- Enable support to run tests with -Cpanic=abort
-Z profile-rustflags -- Enable the `rustflags` option in profiles in .cargo/config.toml file
-Z publish-timeout -- Enable the `publish.timeout` key in .cargo/config.toml file
-Z rustdoc-map -- Allow passing external documentation mappings to rustdoc
-Z rustdoc-scrape-examples -- Allows Rustdoc to scrape code examples from reverse-dependencies
-Z script -- Enable support for single-file, `.rs` packages
-Z target-applies-to-host -- Enable the `target-applies-to-host` key in the .cargo/config.toml file
-Z trim-paths -- Enable the `trim-paths` option in profiles
-Z unstable-options -- Allow the usage of unstable options
Run with 'cargo -Z [FLAG] [COMMAND]'
See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html for more information about these flags.

View File

@ -43,17 +43,6 @@ fn help_external_subcommand() {
.run();
}
#[cargo_test]
fn z_flags_help() {
// Test that the output of `cargo -Z help` shows a different help screen with
// all the `-Z` flags.
cargo_process("-Z help")
.with_stdout_contains(
" -Z allow-features[..]-- Allow *only* the listed unstable features",
)
.run();
}
fn help_with_man(display_command: &str) {
// Build a "man" process that just echoes the contents.
let p = project()