use assert_cmd::Command;
use std::env::remove_var;
use tempfile::tempdir;
#[ctor::ctor]
fn initialize() {
unsafe {
remove_var("CARGO_TERM_COLOR");
}
}
#[test]
fn clippy() {
Command::new("cargo")
.args([
"+nightly",
"clippy",
"--all-targets",
"--",
"--deny=warnings",
])
.assert()
.success();
}
#[test]
fn dylint() {
Command::new("cargo")
.args(["dylint", "--all", "--", "--all-targets"])
.env("DYLINT_RUSTFLAGS", "--deny=warnings")
.assert()
.success();
}
#[test]
fn elaborate_disallowed_methods() {
Command::new("cargo")
.args([
"+nightly",
"clippy",
"--all-targets",
"--",
"--deny=warnings",
])
.env("CLIPPY_CONF_DIR", "assets/elaborate")
.assert()
.success();
}
#[test]
fn markdown_link_check() {
let tempdir = tempdir().unwrap();
Command::new("npm")
.args(["install", "markdown-link-check"])
.current_dir(&tempdir)
.assert()
.success();
let readme_md = concat!(env!("CARGO_MANIFEST_DIR"), "/README.md");
Command::new("npx")
.args(["markdown-link-check", readme_md])
.current_dir(&tempdir)
.assert()
.success();
}
#[test]
fn udeps() {
Command::new("cargo")
.args(["+nightly", "udeps", "--all-features", "--all-targets"])
.assert()
.success();
}