diff options
| author | Kirill Bobyrev <kbobyrev@google.com> | 2019-11-26 13:45:04 +0100 |
|---|---|---|
| committer | Kirill Bobyrev <kbobyrev@google.com> | 2019-11-26 13:45:04 +0100 |
| commit | c547c22f18973dceaf5b40dae1b4ad7d3dd4eab7 (patch) | |
| tree | 5e39c0760d95bd09ad47793872fe49b89380e3d4 | |
| parent | f69ac55d60d916e295ae0e507c5f4c2655360089 (diff) | |
| download | bcm5719-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.cpp | 5 | ||||
| -rw-r--r-- | clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp | 5 |
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")); } |

