brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 3d5e2bb Raw
67 lines · plain
1# We specify a custom path in XDG_CONFIG_HOME, which only works on some systems.2# UNSUPPORTED: system-windows3# UNSUPPORTED: system-darwin4 5# RUN: rm -rf %t6# RUN: mkdir -p %t/clangd7 8# Create a config file that injects a flag we can observe, and has an error.9# RUN: echo 'Foo: bar' > %t/clangd/config.yaml10# RUN: echo 'CompileFlags: {Add: -DFOO=BAR}' >> %t/clangd/config.yaml11 12# RUN: env XDG_CONFIG_HOME=%t clangd -lit-test -enable-config < %s | FileCheck -strict-whitespace %s13 14{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}15---16{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"c","text":"int x = FOO;"}}}17# First, the errors from the config file.18#      CHECK:  "method": "textDocument/publishDiagnostics",19# CHECK-NEXT:  "params": {20# CHECK-NEXT:    "diagnostics": [21# CHECK-NEXT:      {22# CHECK-NEXT:        "message": "Unknown Config key 'Foo'",23# CHECK-NEXT:        "range": {24# CHECK-NEXT:          "end": {25# CHECK-NEXT:            "character": 3,26# CHECK-NEXT:            "line": 027# CHECK-NEXT:          },28# CHECK-NEXT:          "start": {29# CHECK-NEXT:            "character": 0,30# CHECK-NEXT:            "line": 031# CHECK-NEXT:          }32# CHECK-NEXT:        },33# CHECK-NEXT:        "severity": 2,34# CHECK-NEXT:        "source": "clangd-config"35# CHECK-NEXT:      }36# CHECK-NEXT:    ],37# CHECK-NEXT:    "uri": "file://{{.*}}/config.yaml"38# CHECK-NEXT:  }39# Next, the error from the main file. BAR rather than FOO means we used config.40#      CHECK:  "method": "textDocument/publishDiagnostics",41# CHECK-NEXT:  "params": {42# CHECK-NEXT:    "diagnostics": [43# CHECK-NEXT:      {44# CHECK-NEXT:        "code": "undeclared_var_use",45# CHECK-NEXT:        "message": "Use of undeclared identifier 'BAR'",46# CHECK-NEXT:        "range": {47# CHECK-NEXT:          "end": {48# CHECK-NEXT:            "character": 11,49# CHECK-NEXT:            "line": 050# CHECK-NEXT:          },51# CHECK-NEXT:          "start": {52# CHECK-NEXT:            "character": 8,53# CHECK-NEXT:            "line": 054# CHECK-NEXT:          }55# CHECK-NEXT:        },56# CHECK-NEXT:        "severity": 1,57# CHECK-NEXT:        "source": "clang"58# CHECK-NEXT:      }59# CHECK-NEXT:    ],60# CHECK-NEXT:    "uri": "file://{{.*}}/foo.c",61# CHECK-NEXT:    "version": 062# CHECK-NEXT:  }63---64{"jsonrpc":"2.0","id":4,"method":"shutdown"}65---66{"jsonrpc":"2.0","method":"exit"}67