diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-08-20 16:01:42 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-08-20 16:01:42 +0000 |
commit | 208faaaa290319b7eecab112e7922f88097c3ebe (patch) | |
tree | 70bd895cc894ef8f92e5f92bd3f000df5199cf73 /clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp | |
parent | 061beab6730c9d308705333a18172bd19bd5c87c (diff) | |
download | bcm5719-llvm-208faaaa290319b7eecab112e7922f88097c3ebe.tar.gz bcm5719-llvm-208faaaa290319b7eecab112e7922f88097c3ebe.zip |
[clang-tidy] Allow /**/ comments on #endifs when checking header guards.
Turning block comments into line comments just creates unecessary churn.
llvm-svn: 216072
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp')
-rw-r--r-- | clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp index 5423169caba..ce4ca641afc 100644 --- a/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp +++ b/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp @@ -93,6 +93,18 @@ static std::string runHeaderGuardCheck(StringRef Code, const Twine &Filename) { Code, /*Errors=*/nullptr, Filename, std::string("-xc++-header")); } +namespace { +struct WithEndifComment : public LLVMHeaderGuardCheck { + bool shouldSuggestEndifComment(StringRef Filename) override { return true; } +}; +} // namespace + +static std::string runHeaderGuardCheckWithEndif(StringRef Code, + const Twine &Filename) { + return test::runCheckOnCode<WithEndifComment>( + Code, /*Errors=*/nullptr, Filename, std::string("-xc++-header")); +} + TEST(LLVMHeaderGuardCheckTest, FixHeaderGuards) { EXPECT_EQ("#ifndef LLVM_ADT_FOO_H\n#define LLVM_ADT_FOO_H\n#endif\n", runHeaderGuardCheck("#ifndef FOO\n#define FOO\n#endif\n", @@ -126,6 +138,24 @@ TEST(LLVMHeaderGuardCheckTest, FixHeaderGuards) { runHeaderGuardCheck( "int foo;\n#ifndef FOOLOLO\n#define FOOLOLO\n#endif\n", "include/clang/bar.h")); + + EXPECT_EQ("#ifndef LLVM_ADT_FOO_H\n#define LLVM_ADT_FOO_H\n#endif " + " // LLVM_ADT_FOO_H\n", + runHeaderGuardCheckWithEndif("#ifndef FOO\n#define FOO\n#endif\n", + "include/llvm/ADT/foo.h")); + + EXPECT_EQ("#ifndef LLVM_ADT_FOO_H\n#define LLVM_ADT_FOO_H\n#endif " + " // LLVM_ADT_FOO_H\n", + runHeaderGuardCheckWithEndif("#ifndef LLVM_ADT_FOO_H\n#define " + "LLVM_ADT_FOO_H\n#endif // LLVM_H\n", + "include/llvm/ADT/foo.h")); + + EXPECT_EQ("#ifndef LLVM_ADT_FOO_H\n#define LLVM_ADT_FOO_H\n#endif" + " /* LLVM_ADT_FOO_H */\n", + runHeaderGuardCheckWithEndif("#ifndef LLVM_ADT_FOO_H\n#define " + "LLVM_ADT_FOO_H\n" + "#endif /* LLVM_ADT_FOO_H */\n", + "include/llvm/ADT/foo.h")); } #endif |