aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/FileCheckTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Support/FileCheckTest.cpp')
-rw-r--r--llvm/unittests/Support/FileCheckTest.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/unittests/Support/FileCheckTest.cpp b/llvm/unittests/Support/FileCheckTest.cpp
index 7fcd5bb..58550c7 100644
--- a/llvm/unittests/Support/FileCheckTest.cpp
+++ b/llvm/unittests/Support/FileCheckTest.cpp
@@ -334,6 +334,21 @@ TEST_F(FileCheckTest, Match) {
EXPECT_TRUE(Tester.matchExpect("19 21"));
EXPECT_TRUE(Tester.matchExpect("18 21"));
EXPECT_FALSE(Tester.matchExpect("18 20"));
+
+ // Check matching a numeric expression using @LINE after match failure uses
+ // the correct value for @LINE.
+ Tester.initNextPattern();
+ EXPECT_FALSE(Tester.parsePatternExpect("[[#@LINE]]"));
+ // Ok, @LINE is 4 now.
+ EXPECT_FALSE(Tester.matchExpect("4"));
+ Tester.initNextPattern();
+ // @LINE is now 5, match with substitution failure.
+ EXPECT_FALSE(Tester.parsePatternExpect("[[#UNKNOWN]]"));
+ EXPECT_TRUE(Tester.matchExpect("FOO"));
+ Tester.initNextPattern();
+ // Check that @LINE is 6 as expected.
+ EXPECT_FALSE(Tester.parsePatternExpect("[[#@LINE]]"));
+ EXPECT_FALSE(Tester.matchExpect("6"));
}
TEST_F(FileCheckTest, Substitution) {