[clang-tools-extra] c547c22 - [NFC] ASSERT_EQ before accessing items in containers
Kirill Bobyrev via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 26 04:46:26 PST 2019
Author: Kirill Bobyrev
Date: 2019-11-26T13:45:04+01:00
New Revision: c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7
URL: https://github.com/llvm/llvm-project/commit/c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7
DIFF: https://github.com/llvm/llvm-project/commit/c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7.diff
LOG: [NFC] ASSERT_EQ before accessing items in containers
As discussed offline, something different from `EXPECT_EQ` should be
used to check if the container contains enough items before accessing
them so that other tests can still be run even if the assertion fails as
opposed to having `EXPECT_EQ` failing and then aborting the run due to
the errors caused by out-of-bounds memory access.
Reviewed by: ilya-biryukov
Differential Revision: https://reviews.llvm.org/D70528
Added:
Modified:
clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
index cb6d61150319..28f18e73d7a8 100644
--- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
@@ -1874,7 +1874,10 @@ TEST(CompletionTest, CompletionTokenRange) {
Annotations TestCode(Text);
auto Results = completions(Server, TestCode.code(), TestCode.point());
- EXPECT_EQ(Results.Completions.size(), 1u);
+ if (Results.Completions.size() != 1) {
+ ADD_FAILURE() << "Results.Completions.size() != 1";
+ continue;
+ }
EXPECT_THAT(Results.Completions.front().CompletionTokenRange,
TestCode.range());
}
diff --git a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
index fe7a8898c5de..3c0257849021 100644
--- a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
+++ b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
@@ -709,7 +709,10 @@ void bar(X *x) {
auto Parsed = TU.build();
for (const auto &D : Parsed.getDiagnostics()) {
- EXPECT_EQ(D.Fixes.size(), 1u);
+ if (D.Fixes.size() != 1) {
+ ADD_FAILURE() << "D.Fixes.size() != 1";
+ continue;
+ }
EXPECT_EQ(D.Fixes[0].Message,
std::string("Add include \"a.h\" for symbol X"));
}
More information about the cfe-commits
mailing list