Index: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td =================================================================== --- clang/include/clang/StaticAnalyzer/Checkers/Checkers.td +++ clang/include/clang/StaticAnalyzer/Checkers/Checkers.td @@ -130,7 +130,8 @@ "function/method call. For instance, if we can't reason about the " "nullability of the implicit this parameter after a method call, " "this checker conservatively assumes it to be non-null">, - Documentation; + Documentation, + Hidden; def CallAndMessageChecker : Checker<"CallAndMessage">, HelpText<"Check for logical errors for function calls and Objective-C " @@ -220,7 +221,8 @@ def DynamicTypePropagation : Checker<"DynamicTypePropagation">, HelpText<"Generate dynamic type information">, - Documentation; + Documentation, + Hidden; def NonnullGlobalConstantsChecker: Checker<"NonnilStringConstants">, HelpText<"Assume that const string-like globals are non-null">, @@ -356,7 +358,8 @@ "false", Released> ]>, - Documentation; + Documentation, + Hidden; def TrustNonnullChecker : Checker<"TrustNonnull">, HelpText<"Trust that returns from framework methods annotated with _Nonnull " Index: clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp =================================================================== --- clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp +++ clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp @@ -17,11 +17,10 @@ // Register plugin! extern "C" void clang_registerCheckers(CheckerRegistry ®istry) { - registry.addChecker("example.Dependency", "", ""); - registry.addChecker("example.DependendentChecker", "", - ""); + registry.addChecker("test.Dependency", "", ""); + registry.addChecker("test.DependendentChecker", "", ""); - registry.addDependency("example.DependendentChecker", "example.Dependency"); + registry.addDependency("test.DependendentChecker", "test.Dependency"); } extern "C" const char clang_analyzerAPIVersionString[] = Index: clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp =================================================================== --- clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp +++ clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp @@ -28,15 +28,15 @@ // Register plugin! extern "C" void clang_registerCheckers(CheckerRegistry ®istry) { registry.addChecker(registerMyChecker, shouldRegisterMyChecker, - "example.MyChecker", "Example Description", - "example.mychecker.documentation.nonexistent.html", - /*isHidden*/false); + "test.MyChecker", "Example Description", + "test.mychecker.documentation.nonexistent.html", + /*isHidden*/ false); registry.addCheckerOption(/*OptionType*/ "bool", - /*CheckerFullName*/ "example.MyChecker", + /*CheckerFullName*/ "test.MyChecker", /*OptionName*/ "ExampleOption", /*DefaultValStr*/ "false", - /*Description*/ "This is an example checker opt.", + /*Description*/ "This is an test checker opt.", /*DevelopmentStage*/ "released"); } Index: clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp =================================================================== --- clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp +++ clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp @@ -34,7 +34,7 @@ return; if (!BT) - BT.reset(new BugType(this, "call to main", "example analyzer plugin")); + BT.reset(new BugType(this, "call to main", "test analyzer plugin")); auto report = std::make_unique(*BT, BT->getDescription(), N); @@ -46,8 +46,7 @@ // Register plugin! extern "C" void clang_registerCheckers(CheckerRegistry ®istry) { registry.addChecker( - "example.MainCallChecker", "Disallows calls to functions called main", - ""); + "test.MainCallChecker", "Disallows calls to functions called main", ""); } extern "C" const char clang_analyzerAPIVersionString[] = Index: clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp =================================================================== --- clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp +++ clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp @@ -447,6 +447,12 @@ DependencyIt->FullName == Entry.second && "Failed to find the dependency of a checker!"); + // We do allow diagnostics from unit test dependency checkers. + assert((DependencyIt->FullName.startswith("test") || IsWeak || + DependencyIt->IsHidden) && + "Strong dependencies are modeling checkers, and as such " + "non-user facing! Mark them hidden in Checkers.td!"); + if (IsWeak) CheckerIt->WeakDependencies.emplace_back(&*DependencyIt); else Index: clang/test/Analysis/checker-plugins.c =================================================================== --- clang/test/Analysis/checker-plugins.c +++ clang/test/Analysis/checker-plugins.c @@ -6,9 +6,9 @@ // RUN: %clang_analyze_cc1 -verify %s \ // RUN: -load %llvmshlibdir/SampleAnalyzerPlugin%pluginext \ -// RUN: -analyzer-checker='example.MainCallChecker' +// RUN: -analyzer-checker='test.MainCallChecker' -// Test that the MainCallChecker example analyzer plugin loads and runs. +// Test that the MainCallChecker test analyzer plugin loads and runs. int main(); @@ -18,102 +18,101 @@ // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerDependencyHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.DependendentChecker \ +// RUN: -analyzer-checker=test.DependendentChecker \ // RUN: -analyzer-list-enabled-checkers \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-IMPLICITLY-ENABLED -// CHECK-IMPLICITLY-ENABLED: example.Dependency -// CHECK-IMPLICITLY-ENABLED: example.DependendentChecker +// CHECK-IMPLICITLY-ENABLED: test.Dependency +// CHECK-IMPLICITLY-ENABLED: test.DependendentChecker // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerDependencyHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.DependendentChecker \ -// RUN: -analyzer-disable-checker=example.Dependency \ +// RUN: -analyzer-checker=test.DependendentChecker \ +// RUN: -analyzer-disable-checker=test.Dependency \ // RUN: -analyzer-list-enabled-checkers \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-IMPLICITLY-DISABLED -// CHECK-IMPLICITLY-DISABLED-NOT: example.Dependency -// CHECK-IMPLICITLY-DISABLED-NOT: example.DependendentChecker +// CHECK-IMPLICITLY-DISABLED-NOT: test.Dependency +// CHECK-IMPLICITLY-DISABLED-NOT: test.DependendentChecker // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CHECKER-OPTION-OUTPUT // CHECK-CHECKER-OPTION-OUTPUT: Example option is set to false // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ -// RUN: -analyzer-config example.MyChecker:ExampleOption=true \ +// RUN: -analyzer-checker=test.MyChecker \ +// RUN: -analyzer-config test.MyChecker:ExampleOption=true \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CHECKER-OPTION-OUTPUT-TRUE // CHECK-CHECKER-OPTION-OUTPUT-TRUE: Example option is set to true // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-checker=debug.ConfigDumper \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CHECKER-OPTION -// CHECK-CHECKER-OPTION: example.MyChecker:ExampleOption = false +// CHECK-CHECKER-OPTION: test.MyChecker:ExampleOption = false // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-checker=debug.ConfigDumper \ -// RUN: -analyzer-config example.MyChecker:ExampleOption=true \ +// RUN: -analyzer-config test.MyChecker:ExampleOption=true \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CHECKER-OPTION-TRUE -// CHECK-CHECKER-OPTION-TRUE: example.MyChecker:ExampleOption = true +// CHECK-CHECKER-OPTION-TRUE: test.MyChecker:ExampleOption = true // RUN: not %clang_analyze_cc1 -verify %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ -// RUN: -analyzer-config example.MyChecker:Example=true \ +// RUN: -analyzer-checker=test.MyChecker \ +// RUN: -analyzer-config test.MyChecker:Example=true \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-NON-EXISTENT-CHECKER-OPTION -// CHECK-NON-EXISTENT-CHECKER-OPTION: (frontend): checker 'example.MyChecker' +// CHECK-NON-EXISTENT-CHECKER-OPTION: (frontend): checker 'test.MyChecker' // CHECK-NON-EXISTENT-CHECKER-OPTION-SAME: has no option called 'Example' // RUN: not %clang_analyze_cc1 -verify %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-config-compatibility-mode=true \ -// RUN: -analyzer-config example.MyChecker:Example=true - +// RUN: -analyzer-config test.MyChecker:Example=true // RUN: not %clang_analyze_cc1 -verify %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ -// RUN: -analyzer-config example.MyChecker:ExampleOption=example \ +// RUN: -analyzer-checker=test.MyChecker \ +// RUN: -analyzer-config test.MyChecker:ExampleOption=test \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-INVALID-BOOL-VALUE // CHECK-INVALID-BOOL-VALUE: (frontend): invalid input for checker option -// CHECK-INVALID-BOOL-VALUE-SAME: 'example.MyChecker:ExampleOption', that +// CHECK-INVALID-BOOL-VALUE-SAME: 'test.MyChecker:ExampleOption', that // CHECK-INVALID-BOOL-VALUE-SAME: expects a boolean value // RUN: not %clang_analyze_cc1 -verify %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-config-compatibility-mode=true \ -// RUN: -analyzer-config example.MyChecker:ExampleOption=example +// RUN: -analyzer-config test.MyChecker:ExampleOption=test // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-checker=debug.ConfigDumper \ // RUN: -analyzer-config-compatibility-mode=true \ -// RUN: -analyzer-config example.MyChecker:ExampleOption=example \ +// RUN: -analyzer-config test.MyChecker:ExampleOption=test \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CORRECTED-BOOL-VALUE -// CHECK-CORRECTED-BOOL-VALUE: example.MyChecker:ExampleOption = false +// CHECK-CORRECTED-BOOL-VALUE: test.MyChecker:ExampleOption = false // RUN: %clang_analyze_cc1 %s \ // RUN: -load %llvmshlibdir/CheckerOptionHandlingAnalyzerPlugin%pluginext\ -// RUN: -analyzer-checker=example.MyChecker \ +// RUN: -analyzer-checker=test.MyChecker \ // RUN: -analyzer-checker-option-help \ // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-CHECKER-OPTION-HELP -// CHECK-CHECKER-OPTION-HELP: example.MyChecker:ExampleOption (bool) This is an -// CHECK-CHECKER-OPTION-HELP-SAME: example checker opt. (default: false) +// CHECK-CHECKER-OPTION-HELP: test.MyChecker:ExampleOption (bool) This is an +// CHECK-CHECKER-OPTION-HELP-SAME: test checker opt. (default: false) Index: clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp =================================================================== --- clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp +++ clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp @@ -41,17 +41,16 @@ void addCustomChecker(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.CustomChecker", true}}; + AnOpts.CheckersAndPackages = {{"test.CustomChecker", true}}; AnalysisConsumer.AddCheckerRegistrationFn([](CheckerRegistry &Registry) { - Registry.addChecker("custom.CustomChecker", "Description", - ""); + Registry.addChecker("test.CustomChecker", "Description", ""); }); } TEST(RegisterCustomCheckers, RegisterChecker) { std::string Diags; EXPECT_TRUE(runCheckerOnCode("void f() {;}", Diags)); - EXPECT_EQ(Diags, "custom.CustomChecker:Custom diagnostic description\n"); + EXPECT_EQ(Diags, "test.CustomChecker:Custom diagnostic description\n"); } //===----------------------------------------------------------------------===// @@ -120,7 +119,7 @@ void addCheckerRegistrationOrderPrinter(CheckerRegistry &Registry) { Registry.addChecker(registerCheckerRegistrationOrderPrinter, shouldRegisterCheckerRegistrationOrderPrinter, - "custom.RegistrationOrder", "Description", "", false); + "test.RegistrationOrder", "Description", "", false); } #define UNITTEST_CHECKER(CHECKER_NAME, DIAG_MSG) \ @@ -141,7 +140,7 @@ } \ void add##CHECKER_NAME(CheckerRegistry &Registry) { \ Registry.addChecker(register##CHECKER_NAME, shouldRegister##CHECKER_NAME, \ - "custom." #CHECKER_NAME, "Description", "", false); \ + "test." #CHECKER_NAME, "Description", "", false); \ } UNITTEST_CHECKER(StrongDep, "Strong") @@ -154,22 +153,22 @@ void addDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([](CheckerRegistry &Registry) { Registry.addChecker(registerStrongDep, shouldRegisterStrongFALSE, - "custom.Strong", "Description", "", false); + "test.Strong", "Description", "", false); addStrongDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.Dep", "custom.Strong"); + Registry.addDependency("test.Dep", "test.Strong"); }); } TEST(RegisterDeps, UnsatisfiedDependency) { std::string Diags; EXPECT_TRUE(runCheckerOnCode("void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.RegistrationOrder\n"); } //===----------------------------------------------------------------------===// @@ -180,52 +179,52 @@ void addWeakDepCheckerBothEnabled(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addWeakDepCheckerBothEnabledSwitched(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.WeakDep", "custom.Dep"); + Registry.addWeakDependency("test.WeakDep", "test.Dep"); }); } void addWeakDepCheckerDepDisabled(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", false}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", false}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addWeakDepCheckerDepUnspecified(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } @@ -234,10 +233,10 @@ void addWeakDepHasWeakDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", true}, - {"custom.WeakDep2", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", true}, + {"test.WeakDep2", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); @@ -245,17 +244,17 @@ addDep(Registry); addDep2(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); - Registry.addWeakDependency("custom.WeakDep", "custom.WeakDep2"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); + Registry.addWeakDependency("test.WeakDep", "test.WeakDep2"); }); } void addWeakDepTransitivity(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", false}, - {"custom.WeakDep2", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", false}, + {"test.WeakDep2", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); @@ -263,8 +262,8 @@ addDep(Registry); addDep2(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); - Registry.addWeakDependency("custom.WeakDep", "custom.WeakDep2"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); + Registry.addWeakDependency("test.WeakDep", "test.WeakDep2"); }); } @@ -272,42 +271,40 @@ std::string Diags; EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.WeakDep\ncustom." - "Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.WeakDep\ntest." + "Dep\ntest.RegistrationOrder\n"); Diags.clear(); // Mind that AnalyzerOption listed the enabled checker list in the same order, // but the dependencies are switched. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.Dep\ncustom." - "RegistrationOrder\ncustom.WeakDep\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest." + "RegistrationOrder\ntest.WeakDep\n"); Diags.clear(); // Weak dependencies dont prevent dependent checkers from being enabled. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, - "custom.RegistrationOrder:custom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest.RegistrationOrder\n"); Diags.clear(); // Nor will they be enabled just because a dependent checker is. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, - "custom.RegistrationOrder:custom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest.RegistrationOrder\n"); Diags.clear(); EXPECT_TRUE( runCheckerOnCode("void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.WeakDep2\ncustom." - "Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.WeakDep2\ntest." + "Dep\ntest.RegistrationOrder\n"); Diags.clear(); EXPECT_TRUE( runCheckerOnCode("void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.WeakDep2\ncustom." - "WeakDep\ncustom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.WeakDep2\ntest." + "WeakDep\ntest.Dep\ntest.RegistrationOrder\n"); Diags.clear(); } @@ -317,98 +314,98 @@ void addWeakDepHasStrongDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.StrongDep", true}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.StrongDep", true}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.WeakDep", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.WeakDep", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addWeakDepAndStrongDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.StrongDep", true}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.StrongDep", true}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.Dep", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.Dep", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addDisabledWeakDepHasStrongDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.StrongDep", true}, - {"custom.WeakDep", false}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.StrongDep", true}, + {"test.WeakDep", false}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.WeakDep", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.WeakDep", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addDisabledWeakDepHasUnspecifiedStrongDep( AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.WeakDep", false}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.WeakDep", false}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.WeakDep", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.WeakDep", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addWeakDepHasDisabledStrongDep(AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.StrongDep", false}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.StrongDep", false}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.WeakDep", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.WeakDep", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } void addWeakDepHasUnspecifiedButLaterEnabledStrongDep( AnalysisASTConsumer &AnalysisConsumer, AnalyzerOptions &AnOpts) { - AnOpts.CheckersAndPackages = {{"custom.Dep", true}, - {"custom.Dep2", true}, - {"custom.WeakDep", true}, - {"custom.RegistrationOrder", true}}; + AnOpts.CheckersAndPackages = {{"test.Dep", true}, + {"test.Dep2", true}, + {"test.WeakDep", true}, + {"test.RegistrationOrder", true}}; AnalysisConsumer.AddCheckerRegistrationFn([=](CheckerRegistry &Registry) { addStrongDep(Registry); addWeakDep(Registry); addDep(Registry); addDep2(Registry); addCheckerRegistrationOrderPrinter(Registry); - Registry.addDependency("custom.WeakDep", "custom.StrongDep"); - Registry.addDependency("custom.Dep2", "custom.StrongDep"); - Registry.addWeakDependency("custom.Dep", "custom.WeakDep"); + Registry.addDependency("test.WeakDep", "test.StrongDep"); + Registry.addDependency("test.Dep2", "test.StrongDep"); + Registry.addWeakDependency("test.Dep", "test.WeakDep"); }); } @@ -416,8 +413,8 @@ std::string Diags; EXPECT_TRUE( runCheckerOnCode("void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.StrongDep\ncustom." - "WeakDep\ncustom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.StrongDep\ntest." + "WeakDep\ntest.Dep\ntest.RegistrationOrder\n"); Diags.clear(); // Weak dependencies are registered before strong dependencies. This is most @@ -426,39 +423,36 @@ // established in between the modeling portion and the weak dependency. EXPECT_TRUE( runCheckerOnCode("void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.WeakDep\ncustom." - "StrongDep\ncustom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.WeakDep\ntest." + "StrongDep\ntest.Dep\ntest.RegistrationOrder\n"); Diags.clear(); // If a weak dependency is disabled, the checker itself can still be enabled. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, "custom.RegistrationOrder:custom.Dep\ncustom." - "RegistrationOrder\ncustom.StrongDep\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest." + "RegistrationOrder\ntest.StrongDep\n"); Diags.clear(); // If a weak dependency is disabled, the checker itself can still be enabled, // but it shouldn't enable a strong unspecified dependency. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, - "custom.RegistrationOrder:custom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest.RegistrationOrder\n"); Diags.clear(); // A strong dependency of a weak dependency is disabled, so neither of them // should be enabled. EXPECT_TRUE(runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, - "custom.RegistrationOrder:custom.Dep\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.Dep\ntest.RegistrationOrder\n"); Diags.clear(); EXPECT_TRUE( runCheckerOnCode( "void f() {int i;}", Diags)); - EXPECT_EQ(Diags, - "custom.RegistrationOrder:custom.StrongDep\ncustom.WeakDep\ncustom." - "Dep\ncustom.Dep2\ncustom.RegistrationOrder\n"); + EXPECT_EQ(Diags, "test.RegistrationOrder:test.StrongDep\ntest.WeakDep\ntest." + "Dep\ntest.Dep2\ntest.RegistrationOrder\n"); Diags.clear(); } } // namespace