Summary: + manually convert the unit test to lit test.
Reviewers: hokein
Reviewed By: hokein
Subscribers: mgorny, xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D40392
llvm-svn: 318926
namespace clang {
namespace tidy {
-namespace misc {
+namespace bugprone {
ArgumentCommentCheck::ArgumentCommentCheck(StringRef Name,
ClangTidyContext *Context)
}
}
-} // namespace misc
+} // namespace bugprone
} // namespace tidy
} // namespace clang
namespace clang {
namespace tidy {
-namespace misc {
+namespace bugprone {
/// Checks that argument comments match parameter names.
///
llvm::ArrayRef<const Expr *> Args);
};
-} // namespace misc
+} // namespace bugprone
} // namespace tidy
} // namespace clang
#include "../ClangTidy.h"
#include "../ClangTidyModule.h"
#include "../ClangTidyModuleRegistry.h"
+#include "ArgumentCommentCheck.h"
#include "CopyConstructorInitCheck.h"
#include "IntegerDivisionCheck.h"
#include "MisplacedOperatorInStrlenInAllocCheck.h"
class BugproneModule : public ClangTidyModule {
public:
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
+ CheckFactories.registerCheck<ArgumentCommentCheck>(
+ "bugprone-argument-comment");
CheckFactories.registerCheck<CopyConstructorInitCheck>(
"bugprone-copy-constructor-init");
CheckFactories.registerCheck<IntegerDivisionCheck>(
set(LLVM_LINK_COMPONENTS support)
add_clang_library(clangTidyBugproneModule
+ ArgumentCommentCheck.cpp
BugproneTidyModule.cpp
CopyConstructorInitCheck.cpp
IntegerDivisionCheck.cpp
set(LLVM_LINK_COMPONENTS support)
add_clang_library(clangTidyMiscModule
- ArgumentCommentCheck.cpp
AssertSideEffectCheck.cpp
ForwardingReferenceOverloadCheck.cpp
LambdaFunctionNameCheck.cpp
#include "../ClangTidy.h"
#include "../ClangTidyModule.h"
#include "../ClangTidyModuleRegistry.h"
-#include "ArgumentCommentCheck.h"
#include "AssertSideEffectCheck.h"
#include "BoolPointerImplicitConversionCheck.h"
#include "DanglingHandleCheck.h"
class MiscModule : public ClangTidyModule {
public:
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
- CheckFactories.registerCheck<ArgumentCommentCheck>("misc-argument-comment");
CheckFactories.registerCheck<AssertSideEffectCheck>(
"misc-assert-side-effect");
CheckFactories.registerCheck<ForwardingReferenceOverloadCheck>(
Improvements to clang-tidy
--------------------------
+- The 'misc-argument-comment' check was renamed to `bugprone-argument-comment
+ <http://clang.llvm.org/extra/clang-tidy/checks/bugprone-argument-comment.html>`_
+
- The 'misc-string-constructor' check was renamed to `bugprone-string-constructor
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-constructor.html>`_
-.. title:: clang-tidy - misc-argument-comment
+.. title:: clang-tidy - bugprone-argument-comment
-misc-argument-comment
-=====================
+bugprone-argument-comment
+=========================
Checks that argument comments match parameter names.
android-cloexec-open
android-cloexec-socket
boost-use-to-string
+ bugprone-argument-comment
bugprone-copy-constructor-init
bugprone-integer-division
bugprone-misplaced-operator-in-strlen-in-alloc
llvm-include-order
llvm-namespace-comment
llvm-twine-local
- misc-argument-comment
misc-assert-side-effect
misc-bool-pointer-implicit-conversion
misc-dangling-handle
-// RUN: %check_clang_tidy %s misc-argument-comment %t
+// RUN: %check_clang_tidy %s bugprone-argument-comment %t
namespace testing {
namespace internal {
-// RUN: %check_clang_tidy %s misc-argument-comment %t -- \
+// RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
// RUN: -config="{CheckOptions: [{key: StrictMode, value: 1}]}" --
void f(int _with_underscores_);
-// RUN: %check_clang_tidy %s misc-argument-comment %t
+// RUN: %check_clang_tidy %s bugprone-argument-comment %t
// FIXME: clang-tidy should provide a -verify mode to make writing these checks
// easier and more accurate.
f(/*y=*/0, /*z=*/0);
// CHECK-FIXES: {{^}} f(/*y=*/0, /*z=*/0);
+ f(/*x=*/1, /*y=*/1);
+
ffff(0 /*aaaa=*/, /*bbbb*/ 0); // Unsupported formats.
}
+struct C {
+ C(int x, int y);
+};
+C c(/*x=*/0, /*y=*/0);
+
struct Closure {};
template <typename T1, typename T2>
#define FALSE 0
void qqq(bool aaa);
-void f() { qqq(/*bbb=*/FALSE); }
-// CHECK-MESSAGES: [[@LINE-1]]:16: warning: argument name 'bbb' in comment does not match parameter name 'aaa'
-// CHECK-FIXES: void f() { qqq(/*bbb=*/FALSE); }
+void f2() { qqq(/*bbb=*/FALSE); }
+// CHECK-MESSAGES: [[@LINE-1]]:17: warning: argument name 'bbb' in comment does not match parameter name 'aaa'
+// CHECK-FIXES: void f2() { qqq(/*bbb=*/FALSE); }
-void f(bool _with_underscores_);
+void f3(bool _with_underscores_);
void ignores_underscores() {
- f(/*With_Underscores=*/false);
+ f3(/*With_Underscores=*/false);
+}
+
+namespace ThisEditDistanceAboveThreshold {
+void f4(int xxx);
+void g() { f4(/*xyz=*/0); }
+// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'xyz' in comment does not match parameter name 'xxx'
+// CHECK-FIXES: void g() { f4(/*xyz=*/0); }
+}
+
+namespace OtherEditDistanceAboveThreshold {
+void f5(int xxx, int yyy);
+void g() { f5(/*Zxx=*/0, 0); }
+// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'Zxx' in comment does not match parameter name 'xxx'
+// CHECK-FIXES: void g() { f5(/*xxx=*/0, 0); }
+struct C2 {
+ C2(int xxx, int yyy);
+};
+C2 c2(/*Zxx=*/0, 0);
+// CHECK-MESSAGES: [[@LINE-1]]:7: warning: argument name 'Zxx' in comment does not match parameter name 'xxx'
+// CHECK-FIXES: C2 c2(/*xxx=*/0, 0);
+}
+
+namespace OtherEditDistanceBelowThreshold {
+void f6(int xxx, int yyy);
+void g() { f6(/*xxy=*/0, 0); }
+// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'xxy' in comment does not match parameter name 'xxx'
+// CHECK-FIXES: void g() { f6(/*xxy=*/0, 0); }
}
IncludeInserterTest.cpp
GoogleModuleTest.cpp
LLVMModuleTest.cpp
- MiscModuleTest.cpp
NamespaceAliaserTest.cpp
ObjCModuleTest.cpp
OverlappingReplacementsTest.cpp
clangTidyAndroidModule
clangTidyGoogleModule
clangTidyLLVMModule
- clangTidyMiscModule
clangTidyObjCModule
clangTidyReadabilityModule
clangTidyUtils
+++ /dev/null
-#include "ClangTidyTest.h"
-#include "misc/ArgumentCommentCheck.h"
-#include "gtest/gtest.h"
-
-namespace clang {
-namespace tidy {
-namespace test {
-
-using misc::ArgumentCommentCheck;
-
-TEST(ArgumentCommentCheckTest, CorrectComments) {
- EXPECT_NO_CHANGES(ArgumentCommentCheck,
- "void f(int x, int y); void g() { f(/*x=*/0, /*y=*/0); }");
- EXPECT_NO_CHANGES(ArgumentCommentCheck,
- "struct C { C(int x, int y); }; C c(/*x=*/0, /*y=*/0);");
-}
-
-TEST(ArgumentCommentCheckTest, ThisEditDistanceAboveThreshold) {
- EXPECT_NO_CHANGES(ArgumentCommentCheck,
- "void f(int xxx); void g() { f(/*xyz=*/0); }");
-}
-
-TEST(ArgumentCommentCheckTest, OtherEditDistanceAboveThreshold) {
- EXPECT_EQ("void f(int xxx, int yyy); void g() { f(/*xxx=*/0, 0); }",
- runCheckOnCode<ArgumentCommentCheck>(
- "void f(int xxx, int yyy); void g() { f(/*Zxx=*/0, 0); }"));
- EXPECT_EQ("struct C { C(int xxx, int yyy); }; C c(/*xxx=*/0, 0);",
- runCheckOnCode<ArgumentCommentCheck>(
- "struct C { C(int xxx, int yyy); }; C c(/*Zxx=*/0, 0);"));
-}
-
-TEST(ArgumentCommentCheckTest, OtherEditDistanceBelowThreshold) {
- EXPECT_NO_CHANGES(ArgumentCommentCheck,
- "void f(int xxx, int yyy); void g() { f(/*xxy=*/0, 0); }");
-}
-
-} // namespace test
-} // namespace tidy
-} // namespace clang