Skip binary tidy check when on Windows Linux Subsystem

While it's possible that other linux systems will include "Microsoft" in
their /proc/version, this is deemed unlikely, and since this is a tidy
check, will likely be caught by buildbot/travis either way.
This commit is contained in:
Mark-Simulacrum 2016-09-24 21:06:32 -06:00
parent 05c2fdd64f
commit 50dad3f1fd

View file

@ -24,9 +24,20 @@ pub fn check(_path: &Path, _bad: &mut bool) {}
#[cfg(unix)] #[cfg(unix)]
pub fn check(path: &Path, bad: &mut bool) { pub fn check(path: &Path, bad: &mut bool) {
use std::fs; use std::fs;
use std::io::Read;
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::os::unix::prelude::*; use std::os::unix::prelude::*;
if let Ok(mut file) = fs::File::open("/proc/version") {
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
// Probably on Windows Linux Subsystem, all files will be marked as
// executable, so skip checking.
if contents.contains("Microsoft") {
return;
}
}
super::walk(path, super::walk(path,
&mut |path| super::filter_dirs(path) || path.ends_with("src/etc"), &mut |path| super::filter_dirs(path) || path.ends_with("src/etc"),
&mut |file| { &mut |file| {