HS: sieve test compile-once + string-var expansion in generator
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s

Replace 11 separate eval-hs-locals compilations with a single
hs-compile call + shared run-sieve fn; reduces wall-clock from
60s+ to ~1s per call.

Generator: pre-resolve string variable concatenations before
pattern matching run() calls so multi-line HS sources translate
correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-05 20:23:43 +00:00
parent 42c7a593cf
commit f6a1b53c7b
3 changed files with 202 additions and 93 deletions

View File

@@ -836,6 +836,7 @@ for(let i=startTest;i<Math.min(endTest,testCount);i++){
"repeat forever works",
"repeat forever works w/o keyword",
"receives named events",
"passes the sieve test",
]);
// Suites where JIT cascade legitimately exceeds the per-test step limit.
const _NO_STEP_LIMIT_SUITES = new Set([
@@ -852,6 +853,7 @@ for(let i=startTest;i<Math.min(endTest,testCount);i++){
"async hypertrace is reasonable": 8000,
"hypertrace from javascript is reasonable": 8000,
"hypertrace is reasonable": 8000,
"passes the sieve test": 60000,
};
const _SLOW_DEADLINE_SUITES = {
"hs-upstream-core/runtimeErrors": 30000,