Skip to content

Commit

Permalink
Fix InitWithReset - rely on previously updated flags (#7598)
Browse files Browse the repository at this point in the history
* Fix initWithReset to use previously set configuration

* further cleanup

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
  • Loading branch information
farazdagi and prylabs-bulldozer[bot] committed Oct 22, 2020
1 parent b4c1c1d commit 483f7f8
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
8 changes: 7 additions & 1 deletion shared/featureconfig/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,14 @@ func Init(c *Flags) {

// InitWithReset sets the global config and returns function that is used to reset configuration.
func InitWithReset(c *Flags) func() {
var prevConfig Flags
if featureConfig != nil {
prevConfig = *featureConfig
} else {
prevConfig = Flags{}
}
resetFunc := func() {
Init(&Flags{})
Init(&prevConfig)
}
Init(c)
return resetFunc
Expand Down
22 changes: 22 additions & 0 deletions shared/featureconfig/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
)

func TestInitFeatureConfig(t *testing.T) {
defer Init(&Flags{})
cfg := &Flags{
MedallaTestnet: true,
}
Expand All @@ -21,6 +22,27 @@ func TestInitFeatureConfig(t *testing.T) {
Init(cfg)
}

func TestInitWithReset(t *testing.T) {
defer Init(&Flags{})
Init(&Flags{
OnyxTestnet: true,
})
assert.Equal(t, false, Get().AltonaTestnet)
assert.Equal(t, true, Get().OnyxTestnet)

// Overwrite previously set value (value that didn't come by default).
resetCfg := InitWithReset(&Flags{
OnyxTestnet: false,
})
assert.Equal(t, false, Get().AltonaTestnet)
assert.Equal(t, false, Get().OnyxTestnet)

// Reset must get to previously set configuration (not to default config values).
resetCfg()
assert.Equal(t, false, Get().AltonaTestnet)
assert.Equal(t, true, Get().OnyxTestnet)
}

func TestConfigureBeaconConfig(t *testing.T) {
app := cli.App{}
set := flag.NewFlagSet("test", 0)
Expand Down

0 comments on commit 483f7f8

Please sign in to comment.