diff options
Diffstat (limited to 'llvm/unittests/Support/FileCheckTest.cpp')
-rw-r--r-- | llvm/unittests/Support/FileCheckTest.cpp | 15 |
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) { |