diff --git a/conformance/utils/suite/suite.go b/conformance/utils/suite/suite.go index 5df2c722d9..a17131ccde 100644 --- a/conformance/utils/suite/suite.go +++ b/conformance/utils/suite/suite.go @@ -206,7 +206,7 @@ func NewConformanceTestSuite(options ConformanceOptions) (*ConformanceTestSuite, supportedFeatures := options.SupportedFeatures.Difference(options.ExemptFeatures) source := supportedFeaturesSourceManual if options.EnableAllSupportedFeatures { - supportedFeatures = features.SetsToNamesSet(features.AllFeatures) + supportedFeatures = features.SetsToNamesSet(features.AllFeatures).Difference(options.ExemptFeatures) } else if shouldInferSupportedFeatures(&options) { var err error if options.GatewayClassName != "" { diff --git a/conformance/utils/suite/suite_test.go b/conformance/utils/suite/suite_test.go index 0b692b56c7..8988332794 100644 --- a/conformance/utils/suite/suite_test.go +++ b/conformance/utils/suite/suite_test.go @@ -487,6 +487,13 @@ func TestInferGWCSupportedFeatures(t *testing.T) { }), }, }, + { + name: "all features combined with exampt features", + allowAllFeatures: true, + exemptFeatures: sets.New[features.FeatureName]("ReferenceGrant", "HTTPRoute"), + expectedSource: supportedFeaturesSourceManual, + expectedFeatures: features.SetsToNamesSet(features.AllFeatures).Difference(sets.New[features.FeatureName]("ReferenceGrant", "HTTPRoute")), + }, } gwcName := "ochopintre"