Merge pull request #72797 from misterikkit/featuregate

Allow FeatureGate values to be overridden in benchmarks.
This commit is contained in:
Kubernetes Prow Robot 2019-01-11 15:54:01 -08:00 committed by GitHub
commit be3e6a1abf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,16 +29,16 @@ import (
// Example use: // Example use:
// //
// defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.<FeatureName>, true)() // defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.<FeatureName>, true)()
func SetFeatureGateDuringTest(t *testing.T, gate feature.FeatureGate, f feature.Feature, value bool) func() { func SetFeatureGateDuringTest(tb testing.TB, gate feature.FeatureGate, f feature.Feature, value bool) func() {
originalValue := gate.Enabled(f) originalValue := gate.Enabled(f)
if err := gate.(feature.MutableFeatureGate).Set(fmt.Sprintf("%s=%v", f, value)); err != nil { if err := gate.(feature.MutableFeatureGate).Set(fmt.Sprintf("%s=%v", f, value)); err != nil {
t.Errorf("error setting %s=%v: %v", f, value, err) tb.Errorf("error setting %s=%v: %v", f, value, err)
} }
return func() { return func() {
if err := gate.(feature.MutableFeatureGate).Set(fmt.Sprintf("%s=%v", f, originalValue)); err != nil { if err := gate.(feature.MutableFeatureGate).Set(fmt.Sprintf("%s=%v", f, originalValue)); err != nil {
t.Errorf("error restoring %s=%v: %v", f, originalValue, err) tb.Errorf("error restoring %s=%v: %v", f, originalValue, err)
} }
} }
} }