istio.io/istio@v0.0.0-20240520182934-d79c90f27776/tests/integration/pilot/main_test.go (about) 1 //go:build integ 2 // +build integ 3 4 // Copyright Istio Authors 5 // 6 // Licensed under the Apache License, Version 2.0 (the "License"); 7 // you may not use this file except in compliance with the License. 8 // You may obtain a copy of the License at 9 // 10 // http://www.apache.org/licenses/LICENSE-2.0 11 // 12 // Unless required by applicable law or agreed to in writing, software 13 // distributed under the License is distributed on an "AS IS" BASIS, 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 // See the License for the specific language governing permissions and 16 // limitations under the License. 17 18 package pilot 19 20 import ( 21 "testing" 22 23 "istio.io/istio/pkg/test/framework" 24 "istio.io/istio/pkg/test/framework/components/echo/common/deployment" 25 "istio.io/istio/pkg/test/framework/components/istio" 26 "istio.io/istio/pkg/test/framework/resource" 27 ) 28 29 var ( 30 i istio.Instance 31 32 // Below are various preconfigured echo deployments. Whenever possible, tests should utilize these 33 // to avoid excessive creation/tear down of deployments. In general, a test should only deploy echo if 34 // its doing something unique to that specific test. 35 apps = deployment.SingleNamespaceView{} 36 ) 37 38 // TestMain defines the entrypoint for pilot tests using a standard Istio installation. 39 // If a test requires a custom install it should go into its own package, otherwise it should go 40 // here to reuse a single install across tests. 41 func TestMain(m *testing.M) { 42 framework. 43 NewSuite(m). 44 Setup(istio.Setup(&i, nil)). 45 Setup(deployment.SetupSingleNamespace(&apps, deployment.Config{})). 46 Setup(func(t resource.Context) error { 47 gatewayConformanceInputs.Client = t.Clusters().Default() 48 gatewayConformanceInputs.Cleanup = !t.Settings().NoCleanup 49 50 return nil 51 }). 52 Run() 53 }