mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00

Extract out all our test support code to its own standalone crate so it can be shared between multiple test suites if necessary.
75 lines
2.0 KiB
Rust
75 lines
2.0 KiB
Rust
use cargo_test_support::{clippy_is_available, project, registry::Package};
|
|
|
|
#[cargo_test]
|
|
// Clippy should never be considered fresh.
|
|
fn clippy_force_rebuild() {
|
|
if !clippy_is_available() {
|
|
return;
|
|
}
|
|
|
|
Package::new("dep1", "0.1.0").publish();
|
|
|
|
// This is just a random clippy lint (assertions_on_constants) that
|
|
// hopefully won't change much in the future.
|
|
let p = project()
|
|
.file(
|
|
"Cargo.toml",
|
|
r#"
|
|
[package]
|
|
name = "foo"
|
|
version = "0.1.0"
|
|
|
|
[dependencies]
|
|
dep1 = "0.1"
|
|
"#,
|
|
)
|
|
.file("src/lib.rs", "pub fn f() { assert!(true); }")
|
|
.build();
|
|
|
|
p.cargo("clippy-preview -Zunstable-options -v")
|
|
.masquerade_as_nightly_cargo()
|
|
.with_stderr_contains("[..]assert!(true)[..]")
|
|
.run();
|
|
|
|
// Make sure it runs again.
|
|
p.cargo("clippy-preview -Zunstable-options -v")
|
|
.masquerade_as_nightly_cargo()
|
|
.with_stderr_contains("[FRESH] dep1 v0.1.0")
|
|
.with_stderr_contains("[..]assert!(true)[..]")
|
|
.run();
|
|
}
|
|
|
|
#[cargo_test]
|
|
fn clippy_passes_args() {
|
|
if !clippy_is_available() {
|
|
return;
|
|
}
|
|
|
|
// This is just a random clippy lint (assertions_on_constants) that
|
|
// hopefully won't change much in the future.
|
|
let p = project()
|
|
.file(
|
|
"Cargo.toml",
|
|
r#"
|
|
[package]
|
|
name = "foo"
|
|
version = "0.1.0"
|
|
|
|
[dependencies]
|
|
"#,
|
|
)
|
|
.file("src/lib.rs", "pub fn f() { assert!(true); }")
|
|
.build();
|
|
|
|
p.cargo("clippy-preview -Zunstable-options -v -- -Aclippy::assertions_on_constants")
|
|
.masquerade_as_nightly_cargo()
|
|
.with_stderr_does_not_contain("[..]assert!(true)[..]")
|
|
.run();
|
|
|
|
// Make sure it runs again.
|
|
p.cargo("clippy-preview -Zunstable-options -v")
|
|
.masquerade_as_nightly_cargo()
|
|
.with_stderr_contains("[..]assert!(true)[..]")
|
|
.run();
|
|
}
|