Skip to content

Commit 04e5e71

Browse files
committed
use shared config compile helper in runtime tests
1 parent 8aa4189 commit 04e5e71

1 file changed

Lines changed: 16 additions & 41 deletions

File tree

vibes/runtime_test.go

Lines changed: 16 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -782,16 +782,13 @@ func TestTypedBlockSignatures(t *testing.T) {
782782
}
783783

784784
func TestArraySumRejectsNonNumeric(t *testing.T) {
785-
engine := MustNewEngine(Config{})
786-
script, err := engine.Compile(`
785+
script := compileScriptDefault(t, `
787786
def bad()
788787
["a"].sum()
789788
end
790789
`)
791-
if err != nil {
792-
t.Fatalf("compile error: %v", err)
793-
}
794790

791+
var err error
795792
_, err = script.Call(context.Background(), "bad", nil, CallOptions{})
796793
if err == nil {
797794
t.Fatalf("expected runtime error for non-numeric sum")
@@ -849,8 +846,7 @@ func TestRuntimeErrorStackTrace(t *testing.T) {
849846
}
850847

851848
func TestRuntimeErrorCondensesDeepStackRendering(t *testing.T) {
852-
engine := MustNewEngine(Config{RecursionLimit: 128})
853-
script, err := engine.Compile(`
849+
script := compileScriptWithConfig(t, Config{RecursionLimit: 128}, `
854850
def recurse(n)
855851
if n <= 0
856852
1 / 0
@@ -862,10 +858,8 @@ func TestRuntimeErrorCondensesDeepStackRendering(t *testing.T) {
862858
recurse(40)
863859
end
864860
`)
865-
if err != nil {
866-
t.Fatalf("compile error: %v", err)
867-
}
868861

862+
var err error
869863
_, err = script.Call(context.Background(), "run", nil, CallOptions{})
870864
if err == nil {
871865
t.Fatalf("expected runtime error")
@@ -1311,8 +1305,7 @@ func TestBeginRescueDoesNotCatchLoopControlSignals(t *testing.T) {
13111305
}
13121306

13131307
func TestBeginRescueDoesNotCatchHostControlSignals(t *testing.T) {
1314-
engine := MustNewEngine(Config{StepQuota: 60})
1315-
script, err := engine.Compile(`
1308+
script := compileScriptWithConfig(t, Config{StepQuota: 60}, `
13161309
def run()
13171310
begin
13181311
while true
@@ -1322,10 +1315,8 @@ func TestBeginRescueDoesNotCatchHostControlSignals(t *testing.T) {
13221315
end
13231316
end
13241317
`)
1325-
if err != nil {
1326-
t.Fatalf("compile error: %v", err)
1327-
}
13281318

1319+
var err error
13291320
_, err = script.Call(context.Background(), "run", nil, CallOptions{})
13301321
if err == nil || !strings.Contains(err.Error(), "step quota exceeded") {
13311322
t.Fatalf("expected host quota signal to bypass rescue, got %v", err)
@@ -2207,8 +2198,7 @@ func TestJSONAndRegexMalformedInputs(t *testing.T) {
22072198
}
22082199

22092200
func TestJSONAndRegexSizeGuards(t *testing.T) {
2210-
engine := MustNewEngine(Config{MemoryQuotaBytes: 4 << 20})
2211-
script, err := engine.Compile(`
2201+
script := compileScriptWithConfig(t, Config{MemoryQuotaBytes: 4 << 20}, `
22122202
def parse_raw(raw)
22132203
JSON.parse(raw)
22142204
end
@@ -2225,11 +2215,9 @@ func TestJSONAndRegexSizeGuards(t *testing.T) {
22252215
Regex.replace_all(text, pattern, replacement)
22262216
end
22272217
`)
2228-
if err != nil {
2229-
t.Fatalf("compile error: %v", err)
2230-
}
22312218

22322219
largeJSON := `{"data":"` + strings.Repeat("x", maxJSONPayloadBytes) + `"}`
2220+
var err error
22332221
_, err = script.Call(context.Background(), "parse_raw", []Value{NewString(largeJSON)}, CallOptions{})
22342222
if err == nil || !strings.Contains(err.Error(), "JSON.parse input exceeds limit") {
22352223
t.Fatalf("expected JSON.parse size guard error, got %v", err)
@@ -2309,10 +2297,9 @@ func TestLocaleSensitiveOperationsDeterministic(t *testing.T) {
23092297
}
23102298

23112299
func TestRandomIdentifierBuiltins(t *testing.T) {
2312-
engine := MustNewEngine(Config{
2300+
script := compileScriptWithConfig(t, Config{
23132301
RandomReader: bytes.NewReader(bytes.Repeat([]byte{0xAB}, 128)),
2314-
})
2315-
script, err := engine.Compile(`
2302+
}, `
23162303
def values()
23172304
{
23182305
uuid: uuid(),
@@ -2337,9 +2324,6 @@ func TestRandomIdentifierBuiltins(t *testing.T) {
23372324
uuid(1)
23382325
end
23392326
`)
2340-
if err != nil {
2341-
t.Fatalf("compile error: %v", err)
2342-
}
23432327

23442328
result, err := script.Call(context.Background(), "values", nil, CallOptions{})
23452329
if err != nil {
@@ -2388,33 +2372,27 @@ func TestRandomIdentifierBuiltins(t *testing.T) {
23882372
}
23892373

23902374
func TestRandomIdentifierBuiltinsRandomSourceFailure(t *testing.T) {
2391-
engine := MustNewEngine(Config{RandomReader: bytes.NewReader([]byte{1, 2, 3})})
2392-
script, err := engine.Compile(`
2375+
script := compileScriptWithConfig(t, Config{RandomReader: bytes.NewReader([]byte{1, 2, 3})}, `
23932376
def run()
23942377
uuid()
23952378
end
23962379
`)
2397-
if err != nil {
2398-
t.Fatalf("compile error: %v", err)
2399-
}
24002380

2381+
var err error
24012382
_, err = script.Call(context.Background(), "run", nil, CallOptions{})
24022383
if err == nil || !strings.Contains(err.Error(), "random source failed") {
24032384
t.Fatalf("expected random source failure, got %v", err)
24042385
}
24052386
}
24062387

24072388
func TestRandomIdentifierBuiltinsUsesUnbiasedSampling(t *testing.T) {
2408-
engine := MustNewEngine(Config{RandomReader: bytes.NewReader([]byte{248, 1})})
2409-
script, err := engine.Compile(`
2389+
script := compileScriptWithConfig(t, Config{RandomReader: bytes.NewReader([]byte{248, 1})}, `
24102390
def run()
24112391
random_id(1)
24122392
end
24132393
`)
2414-
if err != nil {
2415-
t.Fatalf("compile error: %v", err)
2416-
}
24172394

2395+
var err error
24182396
got, err := script.Call(context.Background(), "run", nil, CallOptions{})
24192397
if err != nil {
24202398
t.Fatalf("call failed: %v", err)
@@ -2425,16 +2403,13 @@ func TestRandomIdentifierBuiltinsUsesUnbiasedSampling(t *testing.T) {
24252403
}
24262404

24272405
func TestRandomIdentifierBuiltinsRejectsStalledEntropy(t *testing.T) {
2428-
engine := MustNewEngine(Config{RandomReader: bytes.NewReader(bytes.Repeat([]byte{0xFF}, 1024))})
2429-
script, err := engine.Compile(`
2406+
script := compileScriptWithConfig(t, Config{RandomReader: bytes.NewReader(bytes.Repeat([]byte{0xFF}, 1024))}, `
24302407
def run()
24312408
random_id(4)
24322409
end
24332410
`)
2434-
if err != nil {
2435-
t.Fatalf("compile error: %v", err)
2436-
}
24372411

2412+
var err error
24382413
_, err = script.Call(context.Background(), "run", nil, CallOptions{})
24392414
if err == nil || !strings.Contains(err.Error(), "random_id entropy source rejected too many bytes") {
24402415
t.Fatalf("expected stalled entropy error, got %v", err)

0 commit comments

Comments
 (0)