]> granicus.if.org Git - clang/commitdiff
Fix tests to be more specific.
authorSamuel Benzaquen <sbenza@google.com>
Thu, 29 Aug 2013 15:39:26 +0000 (15:39 +0000)
committerSamuel Benzaquen <sbenza@google.com>
Thu, 29 Aug 2013 15:39:26 +0000 (15:39 +0000)
The environments can inject some declaration in every translation unit,
which can match very generic matchers, thus failing the tests.

Summary:
Fix tests to be more specific.
The environments can inject some declaration in every translation unit,
which can match very generic matchers, thus failing the tests.

Reviewers: aaron.ballman

CC: klimek, cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1541

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189587 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ASTMatchers/Dynamic/RegistryTest.cpp

index 874a4f35a0bc85b70516079e1af9fccdc128417c..9a24c80cc7ffa7d52f2f3f53c3e783a3905d4a52 100644 (file)
@@ -169,22 +169,16 @@ TEST_F(RegistryTest, PolymorphicMatchers) {
   EXPECT_FALSE(matches("void f();", Func));
 
   Matcher<Decl> Anything = constructMatcher("anything").getTypedMatcher<Decl>();
-  Matcher<Decl> RecordDecl =
-      constructMatcher("recordDecl", VariantMatcher::SingleMatcher(Anything))
-          .getTypedMatcher<Decl>();
-
-  EXPECT_TRUE(matches("int a;", Anything));
-  EXPECT_TRUE(matches("class A {};", Anything));
-  EXPECT_TRUE(matches("void f(){};", Anything));
-  // FIXME: A couple of tests have been suppressed.
-  // I know it'd be bad with _MSC_VER here, though.
-#if !defined(_MSC_VER)
-  EXPECT_FALSE(matches("int a;", RecordDecl));
-#endif
-  EXPECT_TRUE(matches("class A {};", RecordDecl));
-#if !defined(_MSC_VER)
-  EXPECT_FALSE(matches("void f(){};", RecordDecl));
-#endif
+  Matcher<Decl> RecordDecl = constructMatcher(
+      "recordDecl", constructMatcher("hasName", std::string("Foo")),
+      VariantMatcher::SingleMatcher(Anything)).getTypedMatcher<Decl>();
+
+  EXPECT_TRUE(matches("int Foo;", Anything));
+  EXPECT_TRUE(matches("class Foo {};", Anything));
+  EXPECT_TRUE(matches("void Foo(){};", Anything));
+  EXPECT_FALSE(matches("int Foo;", RecordDecl));
+  EXPECT_TRUE(matches("class Foo {};", RecordDecl));
+  EXPECT_FALSE(matches("void Foo(){};", RecordDecl));
 }
 
 TEST_F(RegistryTest, TemplateArgument) {
@@ -263,7 +257,9 @@ TEST_F(RegistryTest, Adaptative) {
 
 TEST_F(RegistryTest, VariadicOp) {
   Matcher<Decl> D = constructMatcher(
-      "anyOf", constructMatcher("recordDecl"),
+      "anyOf",
+      constructMatcher("recordDecl",
+                       constructMatcher("hasName", std::string("Foo"))),
       constructMatcher("namedDecl",
                        constructMatcher("hasName", std::string("foo"))))
       .getTypedMatcher<Decl>();