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  }