github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/integration/network/ipvlan/main_test.go (about)

     1  //go:build !windows
     2  
     3  package ipvlan // import "github.com/Prakhar-Agarwal-byte/moby/integration/network/ipvlan"
     4  
     5  import (
     6  	"context"
     7  	"os"
     8  	"testing"
     9  
    10  	"github.com/Prakhar-Agarwal-byte/moby/testutil"
    11  	"github.com/Prakhar-Agarwal-byte/moby/testutil/environment"
    12  	"go.opentelemetry.io/otel"
    13  	"go.opentelemetry.io/otel/codes"
    14  )
    15  
    16  var (
    17  	testEnv     *environment.Execution
    18  	baseContext context.Context
    19  )
    20  
    21  func TestMain(m *testing.M) {
    22  	shutdown := testutil.ConfigureTracing()
    23  	ctx, span := otel.Tracer("").Start(context.Background(), "integration/network/ipvlan/TestMain")
    24  	baseContext = ctx
    25  
    26  	var err error
    27  	testEnv, err = environment.New(ctx)
    28  	if err != nil {
    29  		span.SetStatus(codes.Error, err.Error())
    30  		span.End()
    31  		shutdown(ctx)
    32  		panic(err)
    33  	}
    34  	err = environment.EnsureFrozenImagesLinux(ctx, testEnv)
    35  	if err != nil {
    36  		span.SetStatus(codes.Error, err.Error())
    37  		span.End()
    38  		shutdown(ctx)
    39  		panic(err)
    40  	}
    41  
    42  	testEnv.Print()
    43  	code := m.Run()
    44  	if code != 0 {
    45  		span.SetStatus(codes.Error, "m.Run() returned non-zero exit code")
    46  	}
    47  	span.End()
    48  	shutdown(ctx)
    49  	os.Exit(code)
    50  }