summaryrefslogtreecommitdiff
path: root/test/FileCheck
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-08-12 23:05:59 +0000
committerRui Ueyama <ruiu@google.com>2013-08-12 23:05:59 +0000
commitd9a84efe44db2f4d983e49bc7370fc8cef449214 (patch)
treea660f92e51db1c5a2da44f523fe66fd5ab4843e3 /test/FileCheck
parentd3d5e6d8eb8f4bbb26decb582f0730600ed8a53d (diff)
downloadllvm-d9a84efe44db2f4d983e49bc7370fc8cef449214.tar.gz
llvm-d9a84efe44db2f4d983e49bc7370fc8cef449214.tar.bz2
llvm-d9a84efe44db2f4d983e49bc7370fc8cef449214.tar.xz
[FileCheck] Fix a bug that cause FileCheck to misidentify check-prefix
FileCheck should check to make sure the prefix was found, and not a word containing it (e.g -check-prefix=BASEREL shouldn't match NOBASEREL). Patch by Ron Ofir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188221 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/FileCheck')
-rw-r--r--test/FileCheck/check-prefixes.txt9
-rw-r--r--test/FileCheck/validate-check-prefix.txt7
2 files changed, 16 insertions, 0 deletions
diff --git a/test/FileCheck/check-prefixes.txt b/test/FileCheck/check-prefixes.txt
new file mode 100644
index 0000000000..a8af29d60b
--- /dev/null
+++ b/test/FileCheck/check-prefixes.txt
@@ -0,0 +1,9 @@
+// RUN: FileCheck -check-prefix=ANOTHER-PREFIX -input-file %s %s
+// RUN: not FileCheck -check-prefix=PREFIX -input-file %s %s 2>&1 | FileCheck -check-prefix=CHECK-NONEXISTANT-PREFIX %s
+
+foobar
+; ANOTHER-PREFIX: foobar
+
+; We use regex to match the colon so that FileCheck won't think it is a check
+; prefix.
+; CHECK-NONEXISTANT-PREFIX: error: no check strings found with prefix 'PREFIX{{:}}'
diff --git a/test/FileCheck/validate-check-prefix.txt b/test/FileCheck/validate-check-prefix.txt
new file mode 100644
index 0000000000..fe219a319c
--- /dev/null
+++ b/test/FileCheck/validate-check-prefix.txt
@@ -0,0 +1,7 @@
+// RUN: not FileCheck -check-prefix=A! -input-file %s %s 2>&1 | FileCheck -check-prefix=BAD_PREFIX %s
+// RUN: FileCheck -check-prefix=A1a-B_c -input-file %s %s
+
+foobar
+; A1a-B_c: foobar
+
+; BAD_PREFIX: Supplied check-prefix is invalid! Prefixes must start with a letter and contain only alphanumeric characters, hyphens and underscores