github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/kubetest/e2e/interfaces.go (about) 1 /* 2 Copyright 2018 The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package e2e 18 19 import ( 20 "k8s.io/test-infra/kubetest/process" 21 ) 22 23 // Tester is implemented by runners that run our tests 24 type Tester interface { 25 Run(control *process.Control, args []string) error 26 } 27 28 // TestBuilder is implemented by deployers that want to customize how the e2e tests are run 29 type TestBuilder interface { 30 // BuildTester builds the appropriate Tester object for running tests 31 BuildTester(options *BuildTesterOptions) (Tester, error) 32 } 33 34 // BuildTesterOptions is the options structt that should be passed to testBuilder::BuildTester 35 type BuildTesterOptions struct { 36 FocusRegex string 37 SkipRegex string 38 Parallelism int 39 }