Files
prysm/config/params/testutils.go
2022-08-03 22:07:28 +08:00

32 lines
741 B
Go

//go:build develop
package params
import (
"testing"
)
// SetupTestConfigCleanup preserves configurations allowing to modify them within tests without any
// restrictions, everything is restored after the test.
func SetupTestConfigCleanup(t testing.TB) {
prevDefaultBeaconConfig := mainnetBeaconConfig.Copy()
temp := configs.getActive().Copy()
undo, err := SetActiveWithUndo(temp)
if err != nil {
t.Error(err)
}
prevNetworkCfg := networkConfig.Copy()
t.Cleanup(func() {
mainnetBeaconConfig = prevDefaultBeaconConfig
// Lock the config, when cleaning up
// otherwise the race detector is triggered.
cfgrw.Lock()
err = undo()
cfgrw.Unlock()
if err != nil {
t.Error(err)
}
networkConfig = prevNetworkCfg
})
}