summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill Bobyrev <kbobyrev@google.com>2019-11-26 13:45:04 +0100
committerKirill Bobyrev <kbobyrev@google.com>2019-11-26 13:45:04 +0100
commitc547c22f18973dceaf5b40dae1b4ad7d3dd4eab7 (patch)
tree5e39c0760d95bd09ad47793872fe49b89380e3d4
parentf69ac55d60d916e295ae0e507c5f4c2655360089 (diff)
downloadbcm5719-llvm-c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7.tar.gz
bcm5719-llvm-c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7.zip
[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
-rw-r--r--clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp5
-rw-r--r--clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp5
2 files changed, 8 insertions, 2 deletions
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
index cb6d6115031..28f18e73d7a 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 fe7a8898c5d..3c025784902 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"));
}
OpenPOWER on IntegriCloud