mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-05-24 08:49:29 +00:00
cmd/utils: respect --state.size-tracking=false
This commit is contained in:
parent
50ae34c1d8
commit
7e1ea234f5
2 changed files with 44 additions and 2 deletions
|
|
@ -1936,8 +1936,8 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) {
|
|||
cfg.EthDiscoveryURLs = SplitAndTrim(urls)
|
||||
}
|
||||
}
|
||||
if ctx.Bool(StateSizeTrackingFlag.Name) {
|
||||
cfg.EnableStateSizeTracking = true
|
||||
if ctx.IsSet(StateSizeTrackingFlag.Name) {
|
||||
cfg.EnableStateSizeTracking = ctx.Bool(StateSizeTrackingFlag.Name)
|
||||
}
|
||||
// Override any default configs for hard coded networks.
|
||||
switch {
|
||||
|
|
|
|||
|
|
@ -18,8 +18,12 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/ethereum/go-ethereum/eth/ethconfig"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
func Test_SplitTagsFlag(t *testing.T) {
|
||||
|
|
@ -64,3 +68,41 @@ func Test_SplitTagsFlag(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetEthConfigAllowsDisablingStateSizeTracking(t *testing.T) {
|
||||
ctx := newTestFlagContext(t, []cli.Flag{
|
||||
CacheFlag,
|
||||
CacheDatabaseFlag,
|
||||
CacheGCFlag,
|
||||
CacheSnapshotFlag,
|
||||
CacheTrieFlag,
|
||||
CryptoKZGFlag,
|
||||
FDLimitFlag,
|
||||
GCModeFlag,
|
||||
SnapshotFlag,
|
||||
StateSizeTrackingFlag,
|
||||
}, "--state.size-tracking=false")
|
||||
|
||||
cfg := ethconfig.Defaults
|
||||
cfg.EnableStateSizeTracking = true
|
||||
SetEthConfig(ctx, nil, &cfg)
|
||||
|
||||
if cfg.EnableStateSizeTracking {
|
||||
t.Fatal("state size tracking should be disabled by explicit CLI flag")
|
||||
}
|
||||
}
|
||||
|
||||
func newTestFlagContext(t *testing.T, flags []cli.Flag, args ...string) *cli.Context {
|
||||
t.Helper()
|
||||
|
||||
set := flag.NewFlagSet(t.Name(), flag.ContinueOnError)
|
||||
for _, flag := range flags {
|
||||
if err := flag.Apply(set); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
if err := set.Parse(args); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return cli.NewContext(cli.NewApp(), set, nil)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue