tests: Add flag to use EVMC for state tests (#18084)
This commit is contained in:
		
				
					committed by
					
						
						Guillaume Ballet
					
				
			
			
				
	
			
			
			
						parent
						
							197d609b9a
						
					
				
				
					commit
					0699287440
				
			@@ -18,10 +18,12 @@ package tests
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"flag"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"reflect"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"github.com/ethereum/go-ethereum/cmd/utils"
 | 
			
		||||
	"github.com/ethereum/go-ethereum/core/vm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -65,8 +67,17 @@ func TestState(t *testing.T) {
 | 
			
		||||
// Transactions with gasLimit above this value will not get a VM trace on failure.
 | 
			
		||||
const traceErrorLimit = 400000
 | 
			
		||||
 | 
			
		||||
// The VM config for state tests that accepts --vm.* command line arguments.
 | 
			
		||||
var testVMConfig = func() vm.Config {
 | 
			
		||||
	vmconfig := vm.Config{}
 | 
			
		||||
	flag.StringVar(&vmconfig.EVMInterpreter, utils.EVMInterpreterFlag.Name, utils.EVMInterpreterFlag.Value, utils.EVMInterpreterFlag.Usage)
 | 
			
		||||
	flag.StringVar(&vmconfig.EWASMInterpreter, utils.EWASMInterpreterFlag.Name, utils.EWASMInterpreterFlag.Value, utils.EWASMInterpreterFlag.Usage)
 | 
			
		||||
	flag.Parse()
 | 
			
		||||
	return vmconfig
 | 
			
		||||
}()
 | 
			
		||||
 | 
			
		||||
func withTrace(t *testing.T, gasLimit uint64, test func(vm.Config) error) {
 | 
			
		||||
	err := test(vm.Config{})
 | 
			
		||||
	err := test(testVMConfig)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user