aboutsummaryrefslogtreecommitdiff
path: root/tests/drivers/toolchain_lsp_contract_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drivers/toolchain_lsp_contract_test.js')
-rw-r--r--tests/drivers/toolchain_lsp_contract_test.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/drivers/toolchain_lsp_contract_test.js b/tests/drivers/toolchain_lsp_contract_test.js
index 0d1b515..2872282 100644
--- a/tests/drivers/toolchain_lsp_contract_test.js
+++ b/tests/drivers/toolchain_lsp_contract_test.js
@@ -1,4 +1,6 @@
// pending requirements have explicit protocol oracles, selectable in small groups.
+// 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 fs = require('fs');
@@ -21,7 +23,7 @@ function run(text, requests = [], uri = 'file:///contracts.zc', files = []) {
for (const message of messages) proc.stdin.write(frame(message));
output = Buffer.concat(chunks);
} else {
- const r = cp.spawnSync(host, process.argv.slice(3), { input: Buffer.concat(messages.map(frame)), timeout: 60000, maxBuffer: 32 << 20 });
+ const r = cp.spawnSync(host, process.argv.slice(3), { input: Buffer.concat(messages.map(frame)), timeout: 60000 * TIMEOUT_SCALE, maxBuffer: 32 << 20 });
assert.strictEqual(r.status, 0, String(r.stderr)); output = r.stdout;
}
const replies = []; let data = output;