summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-02-07 11:49:03 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-02-07 11:49:03 +0000
commitd588b0f5254a971b213648d7f7ab7579f10ba7a9 (patch)
treeaff7c15df16e25441e0289474d98cb7e686fe844
parent258d9a528eb292970f25bf7036c11b7bd6380d87 (diff)
downloadbcm5719-llvm-d588b0f5254a971b213648d7f7ab7579f10ba7a9.tar.gz
bcm5719-llvm-d588b0f5254a971b213648d7f7ab7579f10ba7a9.zip
[clangd] Harden test against sed implementations that strip \r.
Also clean up logging and don't print \0. llvm-svn: 294294
-rw-r--r--clang-tools-extra/clangd/ClangDMain.cpp9
-rw-r--r--clang-tools-extra/test/clangd/formatting.test3
2 files changed, 5 insertions, 7 deletions
diff --git a/clang-tools-extra/clangd/ClangDMain.cpp b/clang-tools-extra/clangd/ClangDMain.cpp
index e851ea77d51..997c66748a0 100644
--- a/clang-tools-extra/clangd/ClangDMain.cpp
+++ b/clang-tools-extra/clangd/ClangDMain.cpp
@@ -68,18 +68,17 @@ int main(int argc, char *argv[]) {
// Now read the JSON. Insert a trailing null byte as required by the YAML
// parser.
- std::vector<char> JSON(Len + 1);
+ std::vector<char> JSON(Len + 1, '\0');
std::cin.read(JSON.data(), Len);
if (Len > 0) {
+ llvm::StringRef JSONRef(JSON.data(), Len);
// Log the message.
- Logs << "<-- ";
- Logs.write(JSON.data(), JSON.size());
- Logs << '\n';
+ Logs << "<-- " << JSONRef << '\n';
Logs.flush();
// Finally, execute the action for this JSON message.
- if (!Dispatcher.call(llvm::StringRef(JSON.data(), JSON.size() - 1)))
+ if (!Dispatcher.call(JSONRef))
Logs << "JSON dispatch failed!\n";
}
}
diff --git a/clang-tools-extra/test/clangd/formatting.test b/clang-tools-extra/test/clangd/formatting.test
index 2fa7caef7cd..b65f35a8dfa 100644
--- a/clang-tools-extra/test/clangd/formatting.test
+++ b/clang-tools-extra/test/clangd/formatting.test
@@ -1,5 +1,4 @@
-# RUN: sed -e '/^#/d' %s | clangd | FileCheck %s
-# It is absolutely vital that this file has CRLF line endings.
+# RUN: sed -e '/^#/d' -e 's/\r*$/\r/' %s | clangd | FileCheck %s
#
Content-Length: 125
OpenPOWER on IntegriCloud