github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/integration/network/macvlan/main_test.go (about) 1 //go:build !windows 2 3 package macvlan // import "github.com/Prakhar-Agarwal-byte/moby/integration/network/macvlan" 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/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 }