Address the pull request review comments.

This commit is contained in:
Vytautas Astrauskas 2018-12-13 16:23:53 +01:00
parent 91bfbb9687
commit ecf8df5b7e
2 changed files with 12 additions and 14 deletions

View File

@ -15,6 +15,7 @@ serde_json = "1.0"
serde_derive = "1.0"
rustfix = "0.4.1"
lazy_static = "1.0"
walkdir = "2"
[target.'cfg(unix)'.dependencies]
libc = "0.2"

View File

@ -28,6 +28,7 @@ extern crate serde_derive;
extern crate serde_json;
extern crate test;
extern crate rustfix;
extern crate walkdir;
use common::CompareMode;
use common::{expected_output_path, output_base_dir, output_relative_path, UI_EXTENSIONS};
@ -43,6 +44,7 @@ use std::path::{Path, PathBuf};
use std::process::Command;
use test::ColorConfig;
use util::logv;
use walkdir::WalkDir;
use self::header::{EarlyProps, Ignore};
@ -682,18 +684,13 @@ fn stamp(config: &Config, testpaths: &TestPaths, revision: Option<&str>) -> Path
output_base_dir(config, testpaths, revision).join("stamp")
}
/// Walk the directory at `path` and collect timestamps of all files into `inputs`.
fn collect_timestamps(path: &PathBuf, inputs: &mut Vec<FileTime>) {
let mut entries = path.read_dir().unwrap().collect::<Vec<_>>();
while let Some(entry) = entries.pop() {
let entry = entry.unwrap();
let path = entry.path();
if entry.metadata().unwrap().is_file() {
inputs.push(mtime(&path));
} else {
entries.extend(path.read_dir().unwrap());
}
}
/// Return an iterator over timestamps of files in the directory at `path`.
fn collect_timestamps(path: &PathBuf) -> impl Iterator<Item=FileTime> {
WalkDir::new(path)
.into_iter()
.map(|entry| entry.unwrap())
.filter(|entry| entry.metadata().unwrap().is_file())
.map(|entry| mtime(entry.path()))
}
fn up_to_date(
@ -739,7 +736,7 @@ fn up_to_date(
for pretty_printer_file in &pretty_printer_files {
inputs.push(mtime(&rust_src_dir.join(pretty_printer_file)));
}
collect_timestamps(&config.run_lib_path, &mut inputs);
inputs.extend(collect_timestamps(&config.run_lib_path));
if let Some(ref rustdoc_path) = config.rustdoc_path {
inputs.push(mtime(&rustdoc_path));
inputs.push(mtime(&rust_src_dir.join("src/etc/htmldocck.py")));
@ -752,7 +749,7 @@ fn up_to_date(
}
// Compiletest itself.
collect_timestamps(&rust_src_dir.join("src/tools/compiletest/"), &mut inputs);
inputs.extend(collect_timestamps(&rust_src_dir.join("src/tools/compiletest/")));
inputs.iter().any(|input| *input > stamp)
}