mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-02 13:08:41 +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)
|
cfg.EthDiscoveryURLs = SplitAndTrim(urls)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ctx.Bool(StateSizeTrackingFlag.Name) {
|
if ctx.IsSet(StateSizeTrackingFlag.Name) {
|
||||||
cfg.EnableStateSizeTracking = true
|
cfg.EnableStateSizeTracking = ctx.Bool(StateSizeTrackingFlag.Name)
|
||||||
}
|
}
|
||||||
// Override any default configs for hard coded networks.
|
// Override any default configs for hard coded networks.
|
||||||
switch {
|
switch {
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,12 @@
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/ethereum/go-ethereum/eth/ethconfig"
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Test_SplitTagsFlag(t *testing.T) {
|
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