From 50dad3f1fd96cd233dd3b331bff0ef54c9cb7d8a Mon Sep 17 00:00:00 2001 From: Mark-Simulacrum Date: Sat, 24 Sep 2016 21:06:32 -0600 Subject: [PATCH] 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. --- src/tools/tidy/src/bins.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/tools/tidy/src/bins.rs b/src/tools/tidy/src/bins.rs index 876ae404bba..ea274266f1a 100644 --- a/src/tools/tidy/src/bins.rs +++ b/src/tools/tidy/src/bins.rs @@ -24,9 +24,20 @@ pub fn check(_path: &Path, _bad: &mut bool) {} #[cfg(unix)] pub fn check(path: &Path, bad: &mut bool) { use std::fs; + use std::io::Read; use std::process::{Command, Stdio}; 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, &mut |path| super::filter_dirs(path) || path.ends_with("src/etc"), &mut |file| { -- GitLab