aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2019-12-25 09:23:07 +0900
committerGitHub <noreply@github.com>2019-12-25 09:23:07 +0900
commit008181bf9aedf976fdb725dcf9340e7f775d1fa8 (patch)
treef5b9276c1369379ff821277659853a03dbced4c4 /test
parent0bbdaf2e780fb8172a5be9bf25ba3fadc1d1cef9 (diff)
parentbc6a978d443a07c993cae278e57fa6b1a1948fac (diff)
downloadvim-lsp-settings-008181bf9aedf976fdb725dcf9340e7f775d1fa8.tar.gz
vim-lsp-settings-008181bf9aedf976fdb725dcf9340e7f775d1fa8.tar.bz2
vim-lsp-settings-008181bf9aedf976fdb725dcf9340e7f775d1fa8.zip
Merge pull request #12 from johejo/feature/add_servers_fortls_metals
Feature/add servers fortls metals
Diffstat (limited to 'test')
-rwxr-xr-xtest/run.sh31
-rwxr-xr-xtest/send.py42
2 files changed, 73 insertions, 0 deletions
diff --git a/test/run.sh b/test/run.sh
new file mode 100755
index 0000000..7da9443
--- /dev/null
+++ b/test/run.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -e
+
+usage() {
+ cat <<USAGE
+Usage: $0 [pattern] [args]
+Examples
+$0 pyls
+$0 "pyls|kotlin"
+$0 bash start
+USAGE
+}
+
+if [ $# == 0 ]; then
+ usage
+ exit 1
+fi
+
+test_installer() {
+ set -e
+ "./installer/install-$1.sh"
+ ./test/send.py | "./servers/$1/$1" $2
+ ret="$?"
+ printf "\n\nresult=%s" $ret
+}
+export -f test_installer
+
+jq ".[][].command" -r -c <./settings.json | sort | uniq |
+ grep -E "$1" |
+ xargs -I% bash -c "test_installer % $2"
diff --git a/test/send.py b/test/send.py
new file mode 100755
index 0000000..78b89aa
--- /dev/null
+++ b/test/send.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+import json
+import sys
+
+
+def send(message: dict):
+ raw = json.dumps(message)
+ message = "Content-Length: " + str(len(raw)) + "\r\n\r\n" + raw
+ sys.stdout.write(message)
+
+
+initialize = {
+ "jsonrpc": "2.0",
+ "id": 1,
+ "method": "initialize",
+ "params": {"processId": None, "rootUri": None, "capabilities": {}},
+}
+send(initialize)
+
+initialized = {
+ "jsonrpc": "2.0",
+ "id": 2,
+ "method": "initialized",
+ "params": {},
+}
+send(initialized)
+
+shutdown = {
+ "jsonrpc": "2.0",
+ "id": 3,
+ "method": "shutdown",
+ "params": {},
+}
+send(shutdown)
+
+_exit = {
+ "jsonrpc": "2.0",
+ "id": 4,
+ "method": "exit",
+ "params": {},
+}
+send(_exit)