...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package otel
16
17 import (
18 "testing"
19
20 "github.com/stretchr/testify/assert"
21
22 "go.opentelemetry.io/otel/trace"
23 "go.opentelemetry.io/otel/trace/embedded"
24 "go.opentelemetry.io/otel/trace/noop"
25 )
26
27 type testTracerProvider struct{ embedded.TracerProvider }
28
29 var _ trace.TracerProvider = &testTracerProvider{}
30
31 func (*testTracerProvider) Tracer(_ string, _ ...trace.TracerOption) trace.Tracer {
32 return noop.NewTracerProvider().Tracer("")
33 }
34
35 func TestMultipleGlobalTracerProvider(t *testing.T) {
36 p1 := testTracerProvider{}
37 p2 := noop.NewTracerProvider()
38 SetTracerProvider(&p1)
39 SetTracerProvider(p2)
40
41 got := GetTracerProvider()
42 assert.Equal(t, p2, got)
43 }
44
View as plain text