Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion fvm/environment/system_contracts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func TestSystemContractsInvoke(t *testing.T) {
0,
runtime.Config{},
func(_ runtime.Config) runtime.Runtime {
return &testutil.TestInterpreterRuntime{
return &testutil.TestRuntime{
InvokeContractFunc: tc.contractFunction,
}
},
Expand Down
4 changes: 2 additions & 2 deletions fvm/executionParameters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func TestGetExecutionMemoryWeights(t *testing.T) {
envMock := &fvmmock.Environment{}
envMock.On("BorrowCadenceRuntime", mock.Anything).Return(
reusableRuntime.NewReusableCadenceRuntime(
&testutil.TestInterpreterRuntime{
&testutil.TestRuntime{
ReadStoredFunc: readStored,
},
runtime.Config{},
Expand Down Expand Up @@ -162,7 +162,7 @@ func TestGetExecutionEffortWeights(t *testing.T) {
envMock := &fvmmock.Environment{}
envMock.On("BorrowCadenceRuntime", mock.Anything).Return(
reusableRuntime.NewReusableCadenceRuntime(
&testutil.TestInterpreterRuntime{
&testutil.TestRuntime{
ReadStoredFunc: readStored,
},
runtime.Config{},
Expand Down
88 changes: 45 additions & 43 deletions fvm/runtime/testutil/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,83 +8,85 @@ import (
"github.com/onflow/cadence/sema"
)

var _ runtime.Runtime = &TestInterpreterRuntime{}

type TestInterpreterRuntime struct {
ReadStoredFunc func(address common.Address, path cadence.Path, context runtime.Context) (cadence.Value, error)
InvokeContractFunc func(a common.AddressLocation, s string, values []cadence.Value, types []sema.Type, ctx runtime.Context) (cadence.Value, error)
}

func (t *TestInterpreterRuntime) Config() runtime.Config {
var _ runtime.Runtime = &TestRuntime{}

type TestRuntime struct {
ReadStoredFunc func(
address common.Address,
path cadence.Path,
context runtime.Context,
) (cadence.Value, error)
InvokeContractFunc func(
a common.AddressLocation,
s string,
values []cadence.Value,
types []sema.Type,
ctx runtime.Context,
) (cadence.Value, error)
}

func (t *TestRuntime) Config() runtime.Config {
panic("Config not defined")
}

func (t *TestInterpreterRuntime) NewScriptExecutor(script runtime.Script, context runtime.Context) runtime.Executor {
func (t *TestRuntime) NewScriptExecutor(_ runtime.Script, _ runtime.Context) runtime.Executor {
panic("NewScriptExecutor not defined")
}

func (t *TestInterpreterRuntime) NewTransactionExecutor(script runtime.Script, context runtime.Context) runtime.Executor {
func (t *TestRuntime) NewTransactionExecutor(_ runtime.Script, _ runtime.Context) runtime.Executor {
panic("NewTransactionExecutor not defined")
}

func (t *TestInterpreterRuntime) NewContractFunctionExecutor(contractLocation common.AddressLocation, functionName string, arguments []cadence.Value, argumentTypes []sema.Type, context runtime.Context) runtime.Executor {
func (t *TestRuntime) NewContractFunctionExecutor(
_ common.AddressLocation,
_ string,
_ []cadence.Value,
_ []sema.Type,
_ runtime.Context,
) runtime.Executor {
panic("NewContractFunctionExecutor not defined")
}

func (t *TestInterpreterRuntime) SetDebugger(debugger *interpreter.Debugger) {
func (t *TestRuntime) SetDebugger(_ *interpreter.Debugger) {
panic("SetDebugger not defined")
}

func (t *TestInterpreterRuntime) ExecuteScript(runtime.Script, runtime.Context) (cadence.Value, error) {
func (t *TestRuntime) ExecuteScript(_ runtime.Script, _ runtime.Context) (cadence.Value, error) {
panic("ExecuteScript not defined")
}

func (t *TestInterpreterRuntime) ExecuteTransaction(runtime.Script, runtime.Context) error {
func (t *TestRuntime) ExecuteTransaction(_ runtime.Script, _ runtime.Context) error {
panic("ExecuteTransaction not defined")
}

func (t *TestInterpreterRuntime) InvokeContractFunction(a common.AddressLocation, s string, values []cadence.Value, types []sema.Type, ctx runtime.Context) (cadence.Value, error) {
func (t *TestRuntime) InvokeContractFunction(
a common.AddressLocation,
s string,
values []cadence.Value,
types []sema.Type,
ctx runtime.Context,
) (cadence.Value, error) {
if t.InvokeContractFunc == nil {
panic("InvokeContractFunction not defined")
}
return t.InvokeContractFunc(a, s, values, types, ctx)
}

func (t *TestInterpreterRuntime) ParseAndCheckProgram([]byte, runtime.Context) (*interpreter.Program, error) {
func (t *TestRuntime) ParseAndCheckProgram(_ []byte, _ runtime.Context) (*interpreter.Program, error) {
panic("ParseAndCheckProgram not defined")
}

func (t *TestInterpreterRuntime) SetCoverageReport(*runtime.CoverageReport) {
panic("SetCoverageReport not defined")
}

func (t *TestInterpreterRuntime) SetContractUpdateValidationEnabled(bool) {
panic("SetContractUpdateValidationEnabled not defined")
}

func (t *TestInterpreterRuntime) SetAtreeValidationEnabled(bool) {
panic("SetAtreeValidationEnabled not defined")
}

func (t *TestInterpreterRuntime) SetTracingEnabled(bool) {
panic("SetTracingEnabled not defined")
}

func (t *TestInterpreterRuntime) SetInvalidatedResourceValidationEnabled(bool) {
panic("SetInvalidatedResourceValidationEnabled not defined")
}

func (t *TestInterpreterRuntime) SetResourceOwnerChangeHandlerEnabled(bool) {
panic("SetResourceOwnerChangeHandlerEnabled not defined")
}

func (t *TestInterpreterRuntime) ReadStored(address common.Address, path cadence.Path, context runtime.Context) (cadence.Value, error) {
func (t *TestRuntime) ReadStored(
address common.Address,
path cadence.Path,
context runtime.Context,
) (cadence.Value, error) {
if t.ReadStoredFunc == nil {
panic("ReadStored not defined")
}
return t.ReadStoredFunc(address, path, context)
}

func (*TestInterpreterRuntime) Storage(runtime.Context) (*runtime.Storage, *interpreter.Interpreter, error) {
panic("not implemented")
func (*TestRuntime) Storage(_ runtime.Context) (*runtime.Storage, *interpreter.Interpreter, error) {
panic("Storage not defined")
}
Loading