llvm-project/clang-tools-extra/test
Sam McCall dc8f3cf8b0 [clangd] Refactor JSON-over-stdin/stdout code into Transport abstraction. (re-land r344620)
Summary:
This paves the way for alternative transports (mac XPC, maybe messagepack?),
and also generally improves layering: testing ClangdLSPServer becomes less of
a pipe dream, we split up the JSONOutput monolith, etc.

This isn't a final state, much of what remains in JSONRPCDispatcher can go away,
handlers can call reply() on the transport directly, JSONOutput can be renamed
to StreamLogger and removed, etc. But this patch is sprawling already.

The main observable change (see tests) is that hitting EOF on input is now an
error: the client should send the 'exit' notification.
This is defensible: the protocol doesn't spell this case out. Reproducing the
current behavior for all combinations of shutdown/exit/EOF clutters interfaces.
We can iterate on this if desired.

Reviewers: jkorous, ioeric, hokein

Subscribers: mgorny, ilya-biryukov, MaskRay, arphaman, kadircet, cfe-commits

Differential Revision: https://reviews.llvm.org/D53286

llvm-svn: 344672
2018-10-17 07:32:05 +00:00
..
Unit Assume the shared library path variable is LD_LIBRARY_PATH on systems 2018-01-20 14:34:33 +00:00
change-namespace [change-namepsace] make it possible to whitelist symbols so they don't get updated. 2017-02-24 11:54:45 +00:00
clang-apply-replacements Deduplicate replacements from diagnostics. 2018-09-25 08:24:07 +00:00
clang-doc [clang-doc] Limit integration tests 2018-10-16 23:07:37 +00:00
clang-move Re-enable a clang-move test on windows. 2018-05-18 09:25:36 +00:00
clang-query
clang-reorder-fields [clang-reorder-fields] Emit warning when reordering breaks member init list dependencies 2017-07-30 06:43:03 +00:00
clang-tidy [clang-tidy] Fix for typos in the tests for `bugprone-exception-escape` 2018-10-13 11:17:59 +00:00
clangd [clangd] Refactor JSON-over-stdin/stdout code into Transport abstraction. (re-land r344620) 2018-10-17 07:32:05 +00:00
include-fixer Fix one additional test broken by the YAML quoting change. 2018-10-12 16:41:37 +00:00
modularize clang-tidy, modularize: return non-zero exit code on errors 2018-03-22 14:18:20 +00:00
pp-trace test: use target triple for the test 2018-02-07 02:27:34 +00:00
.clang-format
CMakeLists.txt [clangd] Don't make check-clangd as a dependency in check-clang-tools 2018-10-02 17:22:11 +00:00
lit.cfg [clang-tidy] Build it even without static analyzer 2018-10-01 20:24:22 +00:00
lit.site.cfg.in Import lit.llvm after rL341130 2018-08-31 00:26:46 +00:00