diff options
| author | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2018-04-10 17:34:46 +0000 |
|---|---|---|
| committer | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2018-04-10 17:34:46 +0000 |
| commit | 90a937e3e11efc202865c86e008d9dca08eb5535 (patch) | |
| tree | 5852b90ea7e3d9956f8a56b5a5f50c17fda7b607 /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | |
| parent | 3dca0bedbb769565787ca6bb120ea6cfb39aec19 (diff) | |
| download | bcm5719-llvm-90a937e3e11efc202865c86e008d9dca08eb5535.tar.gz bcm5719-llvm-90a937e3e11efc202865c86e008d9dca08eb5535.zip | |
[clangd] Use operator<< to prevent printers issues in Gtest
Summary:
It is possible that there will be two different instantiations of
the printer template for a given type and some tests could end up calling the
wrong (default) one. For example, it was seen in CodeCompleteTests.cpp when
printing CompletionItems that it would use the wrong printer because the default
is also instantiated in ClangdTests.cpp.
With this change, objects that were previously printed with a custom Printer now
get printed through the operator<< which is declared alongside the class.
This rule of the thumb should make it less error-prone.
Reviewers: simark, ilya-biryukov, sammccall
Reviewed By: simark, ilya-biryukov, sammccall
Subscribers: bkramer, hokein, sammccall, klimek, ilya-biryukov, jkorous-apple, ioeric, MaskRay, cfe-commits
Differential Revision: https://reviews.llvm.org/D44764
llvm-svn: 329725
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index 48771a38b5c..b2747014c7d 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -22,33 +22,6 @@ namespace clang { namespace clangd { -// Let GMock print completion items and signature help. -void PrintTo(const CompletionItem &I, std::ostream *O) { - llvm::raw_os_ostream OS(*O); - OS << I.label << " - " << toJSON(I); -} -void PrintTo(const std::vector<CompletionItem> &V, std::ostream *O) { - *O << "{\n"; - for (const auto &I : V) { - *O << "\t"; - PrintTo(I, O); - *O << "\n"; - } - *O << "}"; -} -void PrintTo(const SignatureInformation &I, std::ostream *O) { - llvm::raw_os_ostream OS(*O); - OS << I.label << " - " << toJSON(I); -} -void PrintTo(const std::vector<SignatureInformation> &V, std::ostream *O) { - *O << "{\n"; - for (const auto &I : V) { - *O << "\t"; - PrintTo(I, O); - *O << "\n"; - } - *O << "}"; -} namespace { using namespace llvm; |

