From 88f5c669e9f14f33dd4d4bf3068bad29b5ecbfcc Mon Sep 17 00:00:00 2001 From: meows Date: Tue, 10 Mar 2020 09:38:41 -0500 Subject: [PATCH] cmd/evm: add --evmc.ewasm flag to 'evm statetest' command Signed-off-by: meows --- cmd/evm/staterunner.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cmd/evm/staterunner.go b/cmd/evm/staterunner.go index cef2aedb5e..3f6046fe19 100644 --- a/cmd/evm/staterunner.go +++ b/cmd/evm/staterunner.go @@ -36,6 +36,12 @@ var stateTestCommand = cli.Command{ Name: "statetest", Usage: "executes the given state tests", ArgsUsage: "", + Flags: []cli.Flag{stateTestEVMCEWASMFlag}, +} + +var stateTestEVMCEWASMFlag = cli.StringFlag{ + Name: "evmc.ewasm", + Usage: "EVMC EWASM configuration", } // StatetestResult contains the execution status after running a state test, any @@ -57,6 +63,11 @@ func stateTestCmd(ctx *cli.Context) error { glogger.Verbosity(log.Lvl(ctx.GlobalInt(VerbosityFlag.Name))) log.Root().SetHandler(glogger) + if s := ctx.String(stateTestEVMCEWASMFlag.Name); s != "" { + log.Info("Running tests with %s=%s", "evmc.ewasm", s) + vm.InitEVMCEwasm(s) + } + // Configure the EVM logger config := &vm.LogConfig{ DisableMemory: ctx.GlobalBool(DisableMemoryFlag.Name), @@ -88,8 +99,9 @@ func stateTestCmd(ctx *cli.Context) error { } // Iterate over all the tests, run them and aggregate the results cfg := vm.Config{ - Tracer: tracer, - Debug: ctx.GlobalBool(DebugFlag.Name) || ctx.GlobalBool(MachineFlag.Name), + Tracer: tracer, + Debug: ctx.GlobalBool(DebugFlag.Name) || ctx.GlobalBool(MachineFlag.Name), + EWASMInterpreter: ctx.String(stateTestEVMCEWASMFlag.Name), } results := make([]StatetestResult, 0, len(tests)) for key, test := range tests {