about summary refs log tree commit diff
path: root/src/tools/compiletest
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-02-18 16:07:27 +0100
committerGitHub <noreply@github.com>2020-02-18 16:07:27 +0100
commitbea18c767388da316dfcb0c7d248f206e3a88eb7 (patch)
tree4186e72a4320ea30c6c29bca83a1e4439ed84364 /src/tools/compiletest
parent8b93e67c3282da8c9707f78aae0c118bb41341ef (diff)
parentd1a7ae7d1659dae412dde2eadeaf1cf7c9d87570 (diff)
downloadrust-bea18c767388da316dfcb0c7d248f206e3a88eb7.tar.gz
rust-bea18c767388da316dfcb0c7d248f206e3a88eb7.zip
Rollup merge of #69205 - JohnTitor:allow-whitespaces, r=Mark-Simulacrum
Allow whitespaces in revision flags

Allow whitespaces in revision flags, like `// [foo]`.

Fixes #69183
Diffstat (limited to 'src/tools/compiletest')
-rw-r--r--src/tools/compiletest/src/header.rs11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
index 555e79d3e06..2a24a8c3c94 100644
--- a/src/tools/compiletest/src/header.rs
+++ b/src/tools/compiletest/src/header.rs
@@ -631,10 +631,6 @@ fn iter_header<R: Read>(testfile: &Path, cfg: Option<&str>, rdr: R, it: &mut dyn
 
     let comment = if testfile.to_string_lossy().ends_with(".rs") { "//" } else { "#" };
 
-    // FIXME: would be nice to allow some whitespace between comment and brace :)
-    // It took me like 2 days to debug why compile-flags weren’t taken into account for my test :)
-    let comment_with_brace = comment.to_string() + "[";
-
     let mut rdr = BufReader::new(rdr);
     let mut ln = String::new();
 
@@ -650,7 +646,7 @@ fn iter_header<R: Read>(testfile: &Path, cfg: Option<&str>, rdr: R, it: &mut dyn
         let ln = ln.trim();
         if ln.starts_with("fn") || ln.starts_with("mod") {
             return;
-        } else if ln.starts_with(&comment_with_brace) {
+        } else if ln.starts_with(comment) && ln[comment.len()..].trim_start().starts_with('[') {
             // A comment like `//[foo]` is specific to revision `foo`
             if let Some(close_brace) = ln.find(']') {
                 let open_brace = ln.find('[').unwrap();
@@ -663,10 +659,7 @@ fn iter_header<R: Read>(testfile: &Path, cfg: Option<&str>, rdr: R, it: &mut dyn
                     it(ln[(close_brace + 1)..].trim_start());
                 }
             } else {
-                panic!(
-                    "malformed condition directive: expected `{}foo]`, found `{}`",
-                    comment_with_brace, ln
-                )
+                panic!("malformed condition directive: expected `{}[foo]`, found `{}`", comment, ln)
             }
         } else if ln.starts_with(comment) {
             it(ln[comment.len()..].trim_start());