Skip to content

Commit 60041d2

Browse files
run ResetForTest during cleanup (#2754)
Co-authored-by: Chester Cheung <[email protected]>
1 parent ceead4a commit 60041d2

File tree

5 files changed

+21
-17
lines changed

5 files changed

+21
-17
lines changed

internal/global/benchmark_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
func BenchmarkStartEndSpanNoSDK(b *testing.B) {
2626
// Compare with BenchmarkStartEndSpan() in
2727
// ../../sdk/trace/benchmark_test.go.
28-
global.ResetForTest()
28+
global.ResetForTest(b)
2929
t := otel.Tracer("Benchmark StartEndSpan")
3030
ctx := context.Background()
3131
b.ResetTimer()

internal/global/propagator_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
)
2424

2525
func TestTextMapPropagatorDelegation(t *testing.T) {
26-
global.ResetForTest()
26+
global.ResetForTest(t)
2727
ctx := context.Background()
2828
carrier := internaltest.NewTextMapCarrier(nil)
2929

@@ -53,7 +53,7 @@ func TestTextMapPropagatorDelegation(t *testing.T) {
5353
}
5454

5555
func TestTextMapPropagatorDelegationNil(t *testing.T) {
56-
global.ResetForTest()
56+
global.ResetForTest(t)
5757
ctx := context.Background()
5858
carrier := internaltest.NewTextMapCarrier(nil)
5959

@@ -75,7 +75,7 @@ func TestTextMapPropagatorDelegationNil(t *testing.T) {
7575
}
7676

7777
func TestTextMapPropagatorFields(t *testing.T) {
78-
global.ResetForTest()
78+
global.ResetForTest(t)
7979
initial := global.TextMapPropagator()
8080
delegate := internaltest.NewTextMapPropagator("test")
8181
delegateFields := delegate.Fields()

internal/global/state.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package global // import "go.opentelemetry.io/otel/internal/global"
1717
import (
1818
"sync"
1919
"sync/atomic"
20+
"testing"
2021

2122
"go.opentelemetry.io/otel/propagation"
2223
"go.opentelemetry.io/otel/trace"
@@ -97,10 +98,13 @@ func defaultPropagatorsValue() *atomic.Value {
9798
return v
9899
}
99100

100-
// ResetForTest restores the initial global state, for testing purposes.
101-
func ResetForTest() {
102-
globalTracer = defaultTracerValue()
103-
globalPropagators = defaultPropagatorsValue()
104-
delegateTraceOnce = sync.Once{}
105-
delegateTextMapPropagatorOnce = sync.Once{}
101+
// ResetForTest configures the test to restores the initial global state during
102+
// its Cleanup step
103+
func ResetForTest(t testing.TB) {
104+
t.Cleanup(func() {
105+
globalTracer = defaultTracerValue()
106+
globalPropagators = defaultPropagatorsValue()
107+
delegateTraceOnce = sync.Once{}
108+
delegateTextMapPropagatorOnce = sync.Once{}
109+
})
106110
}

internal/global/state_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
)
2222

2323
func TestResetsOfGlobalsPanic(t *testing.T) {
24-
global.ResetForTest()
24+
global.ResetForTest(t)
2525
tests := map[string]func(){
2626
"SetTextMapPropagator": func() {
2727
global.SetTextMapPropagator(global.TextMapPropagator())

internal/global/trace_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (fn fnTracer) Start(ctx context.Context, spanName string, opts ...trace.Spa
4444
}
4545

4646
func TestTraceProviderDelegation(t *testing.T) {
47-
global.ResetForTest()
47+
global.ResetForTest(t)
4848

4949
// Map of tracers to expected span names.
5050
expected := map[string][]string{
@@ -98,7 +98,7 @@ func TestTraceProviderDelegation(t *testing.T) {
9898
}
9999

100100
func TestTraceProviderDelegates(t *testing.T) {
101-
global.ResetForTest()
101+
global.ResetForTest(t)
102102

103103
// Retrieve the placeholder TracerProvider.
104104
gtp := otel.GetTracerProvider()
@@ -118,7 +118,7 @@ func TestTraceProviderDelegates(t *testing.T) {
118118
}
119119

120120
func TestTraceProviderDelegatesConcurrentSafe(t *testing.T) {
121-
global.ResetForTest()
121+
global.ResetForTest(t)
122122

123123
// Retrieve the placeholder TracerProvider.
124124
gtp := otel.GetTracerProvider()
@@ -161,7 +161,7 @@ func TestTraceProviderDelegatesConcurrentSafe(t *testing.T) {
161161
}
162162

163163
func TestTracerDelegatesConcurrentSafe(t *testing.T) {
164-
global.ResetForTest()
164+
global.ResetForTest(t)
165165

166166
// Retrieve the placeholder TracerProvider.
167167
gtp := otel.GetTracerProvider()
@@ -210,7 +210,7 @@ func TestTracerDelegatesConcurrentSafe(t *testing.T) {
210210
}
211211

212212
func TestTraceProviderDelegatesSameInstance(t *testing.T) {
213-
global.ResetForTest()
213+
global.ResetForTest(t)
214214

215215
// Retrieve the placeholder TracerProvider.
216216
gtp := otel.GetTracerProvider()
@@ -228,7 +228,7 @@ func TestTraceProviderDelegatesSameInstance(t *testing.T) {
228228
}
229229

230230
func TestSpanContextPropagatedWithNonRecordingSpan(t *testing.T) {
231-
global.ResetForTest()
231+
global.ResetForTest(t)
232232

233233
sc := trace.NewSpanContext(trace.SpanContextConfig{
234234
TraceID: [16]byte{0x01},

0 commit comments

Comments
 (0)