// Copyright Istio Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package istioio import ( "istio.io/istio/pkg/test/framework" "istio.io/istio/pkg/test/framework/label" "istio.io/istio/pkg/test/framework/resource/environment" ) var _ Step = Subtest{} // Subtest is a Step for injecting a subtest in the Step pipeline. type Subtest struct { // Name of the subtest. This will be the actual name of the go test that's run. Name string // Labels labels to attach to the subtest. Labels []label.Instance // RequiresEnvironment specifies restrictions on environment for the subtest. RequiresEnvironment environment.Name // Func the test function for the subtest. Func func(ctx framework.TestContext) } func (s Subtest) run(ctx Context) { ctx.NewSubTest(s.Name).Label(s.Labels...).RequiresEnvironment(s.RequiresEnvironment).Run(s.Func) }