use assert_cmd::Command;
const SUBCOMMANDS_WITH_FORMAT: &[&[&str]] = &[
&["key", "export", "--help"],
&["key", "list", "--help"],
&["key", "import", "--help"],
&["key", "delete", "--help"],
&["key", "copy-backend", "--help"],
];
const ALL_SUBCOMMANDS: &[&[&str]] = &[
&["init", "--help"],
&["sign", "--help"],
&["verify", "--help"],
&["artifact", "--help"],
&["status", "--help"],
&["whoami", "--help"],
&["pair", "--help"],
&["trust", "--help"],
&["doctor", "--help"],
&["config", "--help"],
&["completions", "--help"],
&["id", "--help"],
&["device", "--help"],
&["key", "--help"],
&["policy", "--help"],
&["debug", "--help"],
];
#[test]
fn key_export_format_flag_does_not_panic() {
for args in SUBCOMMANDS_WITH_FORMAT {
let output = Command::cargo_bin("auths")
.unwrap()
.args(*args)
.output()
.unwrap();
assert!(
output.status.success(),
"`auths {}` exited with non-zero status.\nstderr: {}",
args.join(" "),
String::from_utf8_lossy(&output.stderr),
);
}
}
#[test]
fn all_subcommand_help_pages_do_not_panic() {
for args in ALL_SUBCOMMANDS {
let output = Command::cargo_bin("auths")
.unwrap()
.args(*args)
.output()
.unwrap();
assert!(
output.status.success(),
"`auths {}` panicked or failed.\nstderr: {}",
args.join(" "),
String::from_utf8_lossy(&output.stderr),
);
}
}