});
let path_bytes = rel_path.as_os_str().as_bytes();
if output.status.success() && output.stdout.starts_with(path_bytes) {
- println!("binary checked into source: {}", file.display());
- *bad = true;
+ tidy_error!(bad, "binary checked into source: {}", file.display());
}
}
})
}
if !librs.contains(&format!("extern crate {}", krate)) {
- println!("{} doesn't have `extern crate {}`, but Cargo.toml \
- depends on it", libfile.display(), krate);
- *bad = true;
+ tidy_error!(bad, "{} doesn't have `extern crate {}`, but Cargo.toml \
+ depends on it", libfile.display(), krate);
}
}
}
continue
}
- println!("duplicate error code: {}", code);
+ tidy_error!(bad, "duplicate error code: {}", code);
for &(ref file, line_num, ref line) in entries.iter() {
- println!("{}:{}: {}", file.display(), line_num, line);
+ tidy_error!(bad, "{}:{}: {}", file.display(), line_num, line);
}
- *bad = true;
}
if !*bad {
for (i, line) in contents.lines().enumerate() {
let mut err = |msg: &str| {
- println!("{}:{}: {}", file.display(), i + 1, msg);
- *bad = true;
+ tidy_error!(bad, "{}:{}: {}", file.display(), i + 1, msg);
};
let gate_test_str = "gate-test-";
}
if gate_untested.len() > 0 {
- println!("Found {} features without a gate test.", gate_untested.len());
- *bad = true;
+ tidy_error!(bad, "Found {} features without a gate test.", gate_untested.len());
}
if *bad {
for (i, line) in contents.lines().enumerate() {
let mut err = |msg: &str| {
- println!("{}:{}: {}", file.display(), i + 1, msg);
- *bad = true;
+ tidy_error!(bad, "{}:{}: {}", file.display(), i + 1, msg);
};
let level = if line.contains("[unstable(") {
Status::Unstable
})
}
+macro_rules! tidy_error {
+ ($bad:expr, $fmt:expr, $($arg:tt)*) => ({
+ use std::io::Write;
+ *$bad = true;
+ write!(::std::io::stderr(), "tidy error: ").expect("could not write to stderr");
+ writeln!(::std::io::stderr(), $fmt, $($arg)*).expect("could not write to stderr");
+ });
+}
+
mod bins;
mod style;
mod errors;
Ok(_) => unreachable!(),
Err(i) => i + 1
};
- println!("{}:{}: platform-specific cfg: {}", file.display(), line, cfg);
- *bad = true;
+ tidy_error!(bad, "{}:{}: platform-specific cfg: {}", file.display(), line, cfg);
};
for (idx, cfg) in cfgs.into_iter() {
let skip_length = contents.contains("ignore-tidy-linelength");
for (i, line) in contents.split("\n").enumerate() {
let mut err = |msg: &str| {
- println!("{}:{}: {}", file.display(), i + 1, msg);
- *bad = true;
+ tidy_error!(bad, "{}:{}: {}", file.display(), i + 1, msg);
};
if !skip_length && line.chars().count() > COLS
&& !long_line_is_ok(line) {
}
}
if !licenseck(file, &contents) {
- println!("{}: incorrect license", file.display());
- *bad = true;
+ tidy_error!(bad, "{}: incorrect license", file.display());
}
})
}
use std::collections::HashSet;
use std::fs;
-use std::io::{self, BufRead, Write};
+use std::io::{self, BufRead};
use std::path;
use features::{collect_lang_features, collect_lib_features, Status};
// Check for Unstable Book section names with no corresponding SUMMARY.md link
for feature_name in &unstable_book_section_file_names - &unstable_book_links {
- *bad = true;
- writeln!(io::stderr(),
- "The Unstable Book section '{}' needs to have a link in SUMMARY.md",
- feature_name)
- .expect("could not write to stderr")
+ tidy_error!(
+ bad,
+ "The Unstable Book section '{}' needs to have a link in SUMMARY.md",
+ feature_name);
}
// Check for unstable features that don't have Unstable Book sections
for feature_name in &unstable_feature_names - &unstable_book_section_file_names {
- *bad = true;
- writeln!(io::stderr(),
- "Unstable feature '{}' needs to have a section in The Unstable Book",
- feature_name)
- .expect("could not write to stderr")
+ tidy_error!(
+ bad,
+ "Unstable feature '{}' needs to have a section in The Unstable Book",
+ feature_name);
}
// Check for Unstable Book sections that don't have a corresponding unstable feature
for feature_name in &unstable_book_section_file_names - &unstable_feature_names {
- *bad = true;
- writeln!(io::stderr(),
- "The Unstable Book has a section '{}' which doesn't correspond \
- to an unstable feature",
- feature_name)
- .expect("could not write to stderr")
+ tidy_error!(
+ bad,
+ "The Unstable Book has a section '{}' which doesn't correspond \
+ to an unstable feature",
+ feature_name)
}
}