[PATCH] D84902: [clang-tidy] Fix ODR violation in unittests.
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 30 08:53:43 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6a043ecc0cf4: [clang-tidy] Fix ODR violation in unittests. (authored by dergachev.a).
Herald added a subscriber: steakhal.
Herald added a project: clang.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D84902/new/
https://reviews.llvm.org/D84902
Files:
clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Index: clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
===================================================================
--- clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
+++ clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
@@ -118,6 +118,7 @@
EXPECT_TRUE(*Options.UseColor);
}
+namespace {
class TestCheck : public ClangTidyCheck {
public:
TestCheck(ClangTidyContext *Context) : ClangTidyCheck("test", Context) {}
@@ -140,6 +141,7 @@
return Options.getLocalOrGlobal<IntType>(std::forward<Args>(Arguments)...);
}
};
+} // namespace
#define CHECK_VAL(Value, Expected) \
do { \
@@ -222,9 +224,6 @@
#undef CHECK_ERROR_INT
}
-// FIXME: Figure out why this test causes crashes on mac os.
-// See also comments around the ClangTidyDiagnosticConsumer.SortsErrors test.
-#ifndef __APPLE__
TEST(ValidConfiguration, ValidEnumOptions) {
ClangTidyOptions Options;
@@ -276,7 +275,6 @@
#undef CHECK_ERROR_ENUM
}
-#endif
#undef CHECK_VAL
#undef CHECK_ERROR
Index: clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
===================================================================
--- clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
+++ clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
@@ -6,6 +6,7 @@
namespace tidy {
namespace test {
+namespace {
class TestCheck : public ClangTidyCheck {
public:
TestCheck(StringRef Name, ClangTidyContext *Context)
@@ -20,17 +21,8 @@
diag(Var->getTypeSpecStartLoc(), "type specifier");
}
};
+} // namespace
-// FIXME: This test seems to cause a strange linking interference
-// with the ValidConfiguration.ValidEnumOptions test on macOS.
-// If both tests are enabled, this test will fail as if
-// runCheckOnCode() is not invoked at all. Looks like a linker bug.
-// For now both tests are disabled on macOS. It is not sufficient
-// to only disable the other test because this test keeps failing
-// under Address Sanitizer, which may be an indication of more
-// such linking interference with other tests and this test
-// seems to be in the center of it.
-#ifndef __APPLE__
TEST(ClangTidyDiagnosticConsumer, SortsErrors) {
std::vector<ClangTidyError> Errors;
runCheckOnCode<TestCheck>("int a;", &Errors);
@@ -38,7 +30,6 @@
EXPECT_EQ("type specifier", Errors[0].Message.Message);
EXPECT_EQ("variable", Errors[1].Message.Message);
}
-#endif
} // namespace test
} // namespace tidy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84902.281947.patch
Type: text/x-patch
Size: 2634 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200730/b3c98b63/attachment.bin>
More information about the cfe-commits
mailing list