aboutsummaryrefslogtreecommitdiff
path: root/tests/drivers/completion_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drivers/completion_test.js')
-rw-r--r--tests/drivers/completion_test.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/drivers/completion_test.js b/tests/drivers/completion_test.js
index 22c5fa5..f1ee5e6 100644
--- a/tests/drivers/completion_test.js
+++ b/tests/drivers/completion_test.js
@@ -1,5 +1,7 @@
// compiler-backed completion, including incomplete source and position-aware lifetimes.
// usage: node tests/drivers/completion_test.js path/to/zclsp [server arguments]
+// interpreted hosts (no jit) are far slower; ZC_TEST_TIMEOUT_SCALE stretches every deadline
+const TIMEOUT_SCALE = Number(process.env.ZC_TEST_TIMEOUT_SCALE) || 1;
const assert = require('assert');
const cp = require('child_process');
const path = require('path');
@@ -25,7 +27,7 @@ function complete(source, extra = []) {
for (const m of msgs) proc.stdin.write(frame(m));
output = Buffer.concat(chunks);
} else {
- const r = cp.spawnSync(process.argv[2], process.argv.slice(3), { input: Buffer.concat(msgs.map(frame)), timeout: 30000, maxBuffer: 32 << 20 });
+ const r = cp.spawnSync(process.argv[2], process.argv.slice(3), { input: Buffer.concat(msgs.map(frame)), timeout: 30000 * TIMEOUT_SCALE, maxBuffer: 32 << 20 });
assert.strictEqual(r.status, 0, String(r.stderr)); output = r.stdout;
}
let b = output; const replies = [];