component-basek8s.io/component-base/featuregate/testing Index | Files

package testing

import "k8s.io/component-base/featuregate/testing"

Index

Functions

func SetFeatureGateDuringTest

func SetFeatureGateDuringTest(tb TB, gate featuregate.FeatureGate, f featuregate.Feature, value bool)

SetFeatureGateDuringTest sets the specified gate to the specified value for duration of the test. Fails when it detects second call to the same flag or is unable to set or restore feature flag. When disabling a feature, this automatically disables all dependents.

WARNING: Can leak set variable when called in test calling t.Parallel(), however second attempt to set the same feature flag will cause fatal.

Example use:

featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.<FeatureName>, true)

func SetFeatureGateEmulationVersionDuringTest

func SetFeatureGateEmulationVersionDuringTest(tb TB, gate featuregate.FeatureGate, ver *version.Version)

featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))

func SetFeatureGateVersionsDuringTest

func SetFeatureGateVersionsDuringTest(tb TB, gate featuregate.FeatureGate, emuVer, minCompatVer *version.Version)

featuregatetesting.SetFeatureGateVersionsDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"), version.MustParse("1.31"))

func SetFeatureGatesDuringTest

func SetFeatureGatesDuringTest(tb TB, gate featuregate.FeatureGate, features FeatureOverrides)

SetFeatureGatesDuringTest sets the specified map of feature gate values for duration of the test. Fails when it detects second call to the same flag or is unable to set or restore feature flag. When disabling a feature, this automatically disables all dependents that weren't explicitly set.

WARNING: Can leak set variable when called in test calling t.Parallel(), however second attempt to set the same feature flag will cause fatal.

Example use:

featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, featuregatetesting.FeatureOverrides{
	features.<FeatureName>: true,
    features.<FeatureName>: false,
})

Types

type FeatureOverrides

type FeatureOverrides = map[featuregate.Feature]bool

type TB

type TB interface {
	Cleanup(func())
	Logf(format string, args ...any)
	Error(args ...any)
	Errorf(format string, args ...any)
	Fatal(args ...any)
	Fatalf(format string, args ...any)
	Helper()
	Name() string
}

Source Files

feature_gate.go

Version
v0.35.0 (latest)
Published
Dec 17, 2025
Platform
linux/amd64
Imports
5 packages
Last checked
4 months ago

Tools for package owners.