@@ -782,16 +782,13 @@ func TestTypedBlockSignatures(t *testing.T) {
782782}
783783
784784func 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
851848func 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
13131307func 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
22092200func 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
23112299func 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
23902374func 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
24072388func 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
24272405func 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