github.com/khulnasoft-lab/khulnasoft@v26.0.1-0.20240328202558-330a6f959fe0+incompatible/integration/network/macvlan/main_test.go (about)

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