aboutsummaryrefslogtreecommitdiff
path: root/tests/drivers/lsp_stream.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drivers/lsp_stream.js')
-rw-r--r--tests/drivers/lsp_stream.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/drivers/lsp_stream.js b/tests/drivers/lsp_stream.js
new file mode 100644
index 0000000..0dd0553
--- /dev/null
+++ b/tests/drivers/lsp_stream.js
@@ -0,0 +1,11 @@
+// expose either extension server host as a stdin/stdout process for focused tests.
+const fs = require('fs');
+const path = require('path');
+const target = path.resolve(process.argv[2]);
+const { wasmProcess } = require('../../editors/vscode/client/wasmproc');
+const { vmProcess } = require('../../editors/vscode/client/vmproc');
+const server = target.endsWith('.wasm') ? wasmProcess(target) : vmProcess(target);
+server.stdout.on('data', bytes => process.stdout.write(bytes));
+server.stderr.on('data', bytes => process.stderr.write(bytes));
+server.on('exit', status => { if (status !== 0) process.exitCode = 1; });
+server.stdin.write(fs.readFileSync(0));