use std::env;
use std::process::Command;
#[test]
fn cargo_doc_no_deps_succeeds_with_deny_missing_docs() {
let cargo = env::var_os("CARGO").unwrap_or_else(|| "cargo".into());
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let out_lib = Command::new(&cargo)
.args(["doc", "--no-deps", "--no-default-features"])
.current_dir(manifest_dir)
.output()
.expect("invoke cargo doc --no-default-features");
assert!(
out_lib.status.success(),
"cargo doc --no-deps --no-default-features failed (status={:?}):\nstdout:\n{}\nstderr:\n{}",
out_lib.status,
String::from_utf8_lossy(&out_lib.stdout),
String::from_utf8_lossy(&out_lib.stderr),
);
let out_full = Command::new(&cargo)
.args(["doc", "--no-deps", "--all-features"])
.current_dir(manifest_dir)
.output()
.expect("invoke cargo doc --all-features");
assert!(
out_full.status.success(),
"cargo doc --no-deps --all-features failed (status={:?}):\nstdout:\n{}\nstderr:\n{}",
out_full.status,
String::from_utf8_lossy(&out_full.stdout),
String::from_utf8_lossy(&out_full.stderr),
);
}
#[test]
fn cargo_test_doc_all_doctests_pass() {
let cargo = env::var_os("CARGO").unwrap_or_else(|| "cargo".into());
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let output = Command::new(&cargo)
.args(["test", "--doc", "--all-features"])
.current_dir(manifest_dir)
.output()
.expect("invoke cargo test --doc");
assert!(
output.status.success(),
"cargo test --doc --all-features failed (status={:?}):\nstdout:\n{}\nstderr:\n{}",
output.status,
String::from_utf8_lossy(&output.stdout),
String::from_utf8_lossy(&output.stderr),
);
}