llvm/clang-tools-extra/clangd/test/trace.test

# RUN: env CLANGD_TRACE=%t clangd -lit-test < %s && FileCheck %s < %t
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
---
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"c","version":1,"text":"void main() {}"}}}
# These assertions are a bit loose, to avoid brittleness.
# CHECK: {
# CHECK:   "displayTimeUnit": "ns",
# CHECK:   "traceEvents": [
# CHECK:     {
# CHECK:       "ph": "X",
# CHECK:       "args": {
# CHECK:         "File": "{{.*(/|\\)}}foo.c"
# CHECK:       },
# CHECK:       "name": "BuildPreamble",
# CHECK:     }
# CHECK:     {
# CHECK:       "ph": "X",
# CHECK:       "args": {
# CHECK:         "File": "{{.*(/|\\)}}foo.c"
# CHECK:       },
# CHECK:       "name": "BuildAST",
# CHECK:     }
# CHECK:   ]
# CHECK: }
---
{"jsonrpc":"2.0","id":5,"method":"shutdown"}
---
{"jsonrpc":"2.0","method":"exit"}