mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 21:23:56 +00:00
Remove cargo_metadata dependency from clippy
This commit is contained in:
parent
7025283f3e
commit
ae5af0cd1a
2 changed files with 18 additions and 21 deletions
|
@ -21,13 +21,12 @@ name = "clippy-driver"
|
|||
path = "src/driver.rs"
|
||||
|
||||
[dependencies]
|
||||
clippy_lints = { version = "0.1", path = "clippy_lints" }
|
||||
clippy_lints = { path = "clippy_lints" }
|
||||
semver = "1.0"
|
||||
rustc_tools_util = { version = "0.2", path = "rustc_tools_util" }
|
||||
rustc_tools_util = { path = "rustc_tools_util" }
|
||||
tempfile = { version = "3.2", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
cargo_metadata = "0.14"
|
||||
compiletest_rs = { version = "0.7.1", features = ["tmp"] }
|
||||
tester = "0.9"
|
||||
regex = "1.5"
|
||||
|
|
|
@ -3,34 +3,32 @@
|
|||
#![allow(clippy::single_match_else)]
|
||||
|
||||
use rustc_tools_util::VersionInfo;
|
||||
use std::fs;
|
||||
|
||||
#[test]
|
||||
fn check_that_clippy_lints_and_clippy_utils_have_the_same_version_as_clippy() {
|
||||
fn read_version(path: &str) -> String {
|
||||
let contents = fs::read_to_string(path).unwrap_or_else(|e| panic!("error reading `{}`: {:?}", path, e));
|
||||
contents
|
||||
.lines()
|
||||
.filter_map(|l| l.split_once('='))
|
||||
.find_map(|(k, v)| (k.trim() == "version").then(|| v.trim()))
|
||||
.unwrap_or_else(|| panic!("error finding version in `{}`", path))
|
||||
.to_string()
|
||||
}
|
||||
|
||||
// do not run this test inside the upstream rustc repo:
|
||||
// https://github.com/rust-lang/rust-clippy/issues/6683
|
||||
if option_env!("RUSTC_TEST_SUITE").is_some() {
|
||||
return;
|
||||
}
|
||||
|
||||
let clippy_meta = cargo_metadata::MetadataCommand::new()
|
||||
.no_deps()
|
||||
.exec()
|
||||
.expect("could not obtain cargo metadata");
|
||||
let clippy_version = read_version("Cargo.toml");
|
||||
let clippy_lints_version = read_version("clippy_lints/Cargo.toml");
|
||||
let clippy_utils_version = read_version("clippy_utils/Cargo.toml");
|
||||
|
||||
for krate in &["clippy_lints", "clippy_utils"] {
|
||||
let krate_meta = cargo_metadata::MetadataCommand::new()
|
||||
.current_dir(std::env::current_dir().unwrap().join(krate))
|
||||
.no_deps()
|
||||
.exec()
|
||||
.expect("could not obtain cargo metadata");
|
||||
assert_eq!(krate_meta.packages[0].version, clippy_meta.packages[0].version);
|
||||
for package in &clippy_meta.packages[0].dependencies {
|
||||
if package.name == *krate {
|
||||
assert!(package.req.matches(&krate_meta.packages[0].version));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
assert_eq!(clippy_version, clippy_lints_version);
|
||||
assert_eq!(clippy_version, clippy_utils_version);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in a new issue