Skip to content

Commit 645ec5e

Browse files
committed
test: propagation of params.Rules
1 parent f266089 commit 645ec5e

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

core/vm/evm.libevm_test.go

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"math/big"
2020
"testing"
2121

22+
"github.com/stretchr/testify/assert"
2223
"github.com/stretchr/testify/require"
2324

2425
"github.com/ethereum/go-ethereum/params"
@@ -27,23 +28,25 @@ import (
2728
type evmArgOverrider struct {
2829
newEVMchainID int64
2930

30-
resetTxCtx TxContext
31-
resetStateDB StateDB
31+
gotResetChainID *big.Int
32+
resetTxContextTo TxContext
33+
resetStateDBTo StateDB
3234
}
3335

34-
func (o evmArgOverrider) OverrideNewEVMArgs(args *NewEVMArgs) *NewEVMArgs {
36+
func (o *evmArgOverrider) OverrideNewEVMArgs(args *NewEVMArgs) *NewEVMArgs {
3537
args.ChainConfig = &params.ChainConfig{ChainID: big.NewInt(o.newEVMchainID)}
3638
return args
3739
}
3840

39-
func (o evmArgOverrider) OverrideEVMResetArgs(params.Rules, *EVMResetArgs) *EVMResetArgs {
41+
func (o *evmArgOverrider) OverrideEVMResetArgs(r params.Rules, _ *EVMResetArgs) *EVMResetArgs {
42+
o.gotResetChainID = r.ChainID
4043
return &EVMResetArgs{
41-
TxContext: o.resetTxCtx,
42-
StateDB: o.resetStateDB,
44+
TxContext: o.resetTxContextTo,
45+
StateDB: o.resetStateDBTo,
4346
}
4447
}
4548

46-
func (o evmArgOverrider) register(t *testing.T) {
49+
func (o *evmArgOverrider) register(t *testing.T) {
4750
t.Helper()
4851
libevmHooks = nil
4952
RegisterHooks(o)
@@ -71,15 +74,20 @@ func TestOverrideEVMResetArgs(t *testing.T) {
7174
// Equivalent to rationale for TestOverrideNewEVMArgs above.
7275
var _ func(TxContext, StateDB) = (*EVM)(nil).Reset
7376

74-
const gasPrice = 1357924680
75-
hooks := evmArgOverrider{
76-
resetTxCtx: TxContext{
77+
const (
78+
chainID = 0xc0ffee
79+
gasPrice = 1357924680
80+
)
81+
hooks := &evmArgOverrider{
82+
newEVMchainID: chainID,
83+
resetTxContextTo: TxContext{
7784
GasPrice: big.NewInt(gasPrice),
7885
},
7986
}
8087
hooks.register(t)
8188

8289
evm := NewEVM(BlockContext{}, TxContext{}, nil, nil, Config{})
8390
evm.Reset(TxContext{}, nil)
84-
require.Equalf(t, big.NewInt(gasPrice), evm.GasPrice, "%T.GasPrice set by Reset() hook", evm)
91+
assert.Equalf(t, big.NewInt(chainID), hooks.gotResetChainID, "%T.ChainID passed to Reset() hook", params.Rules{})
92+
assert.Equalf(t, big.NewInt(gasPrice), evm.GasPrice, "%T.GasPrice set by Reset() hook", evm)
8593
}

0 commit comments

Comments
 (0)