]> git.lizzy.rs Git - rust.git/commitdiff
Remove proc_macro from the tidy whitelist again
authorest31 <MTest31@outlook.com>
Sun, 22 Jan 2017 22:05:51 +0000 (23:05 +0100)
committerest31 <MTest31@outlook.com>
Sun, 22 Jan 2017 22:53:13 +0000 (23:53 +0100)
PR #38842 has exposed that we were missing the src/test/compile-fail-fulldeps
directory in the search for feature gate tests. Because the detection didn't
work despite the effort to name the test appropriately and add a correct
"// gate-test-proc_macro" comment, proc_macro was added to the whitelist.

We fix this little weakness in the feature gate tidy check and add
the src/test/compile-fail-fulldeps directory to the checked directories.

src/tools/tidy/src/features.rs
src/tools/tidy/src/main.rs

index f540dc3d3e6ad9da782f7f222d2c0fb0961ad5fb..ee8113e80e5752dd5284ac10a85cb0d32a07aed5 100644 (file)
@@ -115,9 +115,10 @@ pub fn check(path: &Path, bad: &mut bool) {
         }
     });
 
-    super::walk(&path.join("test/compile-fail"),
-                &mut |path| super::filter_dirs(path),
-                &mut |file| {
+    super::walk_many(&[&path.join("test/compile-fail"),
+                       &path.join("test/compile-fail-fulldeps")],
+                     &mut |path| super::filter_dirs(path),
+                     &mut |file| {
         let filename = file.file_name().unwrap().to_string_lossy();
         if !filename.ends_with(".rs") || filename == "features.rs" ||
            filename == "diagnostic_list.rs" {
@@ -170,7 +171,7 @@ pub fn check(path: &Path, bad: &mut bool) {
         "cfg_target_has_atomic", "staged_api", "const_indexing",
         "unboxed_closures", "stmt_expr_attributes",
         "cfg_target_thread_local", "unwind_attributes",
-        "inclusive_range_syntax", "proc_macro"
+        "inclusive_range_syntax"
     ];
 
     // Only check the number of lang features.
index 7566580b1a5f2f904317c98d6a424c7d38bb8e33..9962c6ec9af12209c560d9d2c9edccc1e45b2151 100644 (file)
@@ -71,6 +71,11 @@ fn filter_dirs(path: &Path) -> bool {
     skip.iter().any(|p| path.ends_with(p))
 }
 
+fn walk_many(paths: &[&Path], skip: &mut FnMut(&Path) -> bool, f: &mut FnMut(&Path)) {
+    for path in paths {
+        walk(path, skip, f);
+    }
+}
 
 fn walk(path: &Path, skip: &mut FnMut(&Path) -> bool, f: &mut FnMut(&Path)) {
     for entry in t!(fs::read_dir(path), path) {