itest: fix remaining fevm failures

This commit is contained in:
Steven Allen 2023-02-06 11:01:49 -08:00
parent d16b2902d4
commit e0931f8f90

View File

@ -470,10 +470,9 @@ func TestFEVMSendGasLimit(t *testing.T) {
} }
// TestFEVMDelegateCall deploys the two contracts in TestFEVMDelegateCall but instead of A calling B, A calls A which should cause A to cause A in an infinite loop and should give a reasonable error // TestFEVMDelegateCall deploys the two contracts in TestFEVMDelegateCall but instead of A calling B, A calls A which should cause A to cause A in an infinite loop and should give a reasonable error
// XXX should not be fatal errors
func TestFEVMDelegateCallRecursiveFail(t *testing.T) { func TestFEVMDelegateCallRecursiveFail(t *testing.T) {
//TODO change the gas limit of this invocation and confirm that the number of errors is different //TODO change the gas limit of this invocation and confirm that the number of errors is
//also TODO should we not have fatal error show up here? // different
ctx, cancel, client := kit.SetupFEVMTest(t) ctx, cancel, client := kit.SetupFEVMTest(t)
defer cancel() defer cancel()
@ -486,17 +485,16 @@ func TestFEVMDelegateCallRecursiveFail(t *testing.T) {
inputDataValue := inputDataFromArray([]byte{7}) inputDataValue := inputDataFromArray([]byte{7})
inputData := append(inputDataContract, inputDataValue...) inputData := append(inputDataContract, inputDataValue...)
//verify that the returned value of the call to setvars is 7 //verify that we run out of gas then revert.
_, wait, err := client.EVM().InvokeContractByFuncName(ctx, fromAddr, actorAddr, "setVarsSelf(address,uint256)", inputData) _, wait, err := client.EVM().InvokeContractByFuncName(ctx, fromAddr, actorAddr, "setVarsSelf(address,uint256)", inputData)
require.Error(t, err) require.Error(t, err)
require.Equal(t, exitcode.SysErrorIllegalArgument, wait.Receipt.ExitCode) require.Equal(t, exitcode.ExitCode(33), wait.Receipt.ExitCode)
//assert no fatal errors but still there are errors:: //assert no fatal errors but still there are errors::
errorAny := "fatal error" errorAny := "fatal error"
require.NotContains(t, err.Error(), errorAny) require.NotContains(t, err.Error(), errorAny)
} }
// XXX Currently fails as self destruct has a bug
// TestFEVMTestSendValueThroughContracts creates A and B contract and exchanges value // TestFEVMTestSendValueThroughContracts creates A and B contract and exchanges value
// and self destructs and accounts for value sent // and self destructs and accounts for value sent
func TestFEVMTestSendValueThroughContractsAndDestroy(t *testing.T) { func TestFEVMTestSendValueThroughContractsAndDestroy(t *testing.T) {