From 23eaee49d409757959c2b80a4edc5a1aaaf2c611 Mon Sep 17 00:00:00 2001 From: snissn Date: Mon, 6 Feb 2023 11:32:39 -1000 Subject: [PATCH] clean up test for recursive delegate call count. improved readability (#10195) --- itests/fevm_test.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/itests/fevm_test.go b/itests/fevm_test.go index fdf88db80..68a653ca0 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -150,24 +150,26 @@ func TestFEVMRecursive2(t *testing.T) { require.Equal(t, 2, len(events)) } -// TestFEVMRecursiveDelegateCall tests the maximum delegatecall recursion depth. It currently -// succeeds succeeds up to 228 times. -func TestFEVMRecursiveDelegatecall(t *testing.T) { +// TestFEVMRecursiveDelegatecallCount tests the maximum delegatecall recursion depth. It currently +// succeeds succeeds up to 237 times. +func TestFEVMRecursiveDelegatecallCount(t *testing.T) { ctx, cancel, client := kit.SetupFEVMTest(t) defer cancel() + highestSuccessCount := uint64(237) + filename := "contracts/RecursiveDelegeatecall.hex" + recursiveDelegatecallSuccess(ctx, t, client, filename, uint64(1)) + recursiveDelegatecallSuccess(ctx, t, client, filename, uint64(2)) + recursiveDelegatecallSuccess(ctx, t, client, filename, uint64(10)) + recursiveDelegatecallSuccess(ctx, t, client, filename, uint64(100)) + recursiveDelegatecallSuccess(ctx, t, client, filename, highestSuccessCount) - //success with 228 or fewer calls - for i := uint64(1); i <= 228; i += 30 { - recursiveDelegatecallSuccess(ctx, t, client, filename, i) - } - recursiveDelegatecallSuccess(ctx, t, client, filename, uint64(228)) + recursiveDelegatecallFail(ctx, t, client, filename, highestSuccessCount+1) + recursiveDelegatecallFail(ctx, t, client, filename, uint64(1000)) + recursiveDelegatecallFail(ctx, t, client, filename, uint64(10000000)) - for i := uint64(239); i <= 800; i += 40 { - recursiveDelegatecallFail(ctx, t, client, filename, i) - } } // TestFEVMBasic does a basic fevm contract installation and invocation