diff --git a/core/logx/tracelogger_test.go b/core/logx/tracelogger_test.go index 5a1414939274..614f16ce3d05 100644 --- a/core/logx/tracelogger_test.go +++ b/core/logx/tracelogger_test.go @@ -25,7 +25,9 @@ func TestTraceLog(t *testing.T) { otel.SetTracerProvider(tp) defer otel.SetTracerProvider(otp) - ctx, _ := tp.Tracer("foo").Start(context.Background(), "bar") + ctx, span := tp.Tracer("foo").Start(context.Background(), "bar") + defer span.End() + WithContext(ctx).Info(testlog) validate(t, w.String(), true, true) } @@ -34,14 +36,17 @@ func TestTraceError(t *testing.T) { w := new(mockWriter) old := writer.Swap(w) defer writer.Store(old) + otp := otel.GetTracerProvider() tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) otel.SetTracerProvider(tp) defer otel.SetTracerProvider(otp) - l := WithContext(context.Background()) - ctx, _ := tp.Tracer("foo").Start(context.Background(), "bar") + ctx, span := tp.Tracer("foo").Start(context.Background(), "bar") + defer span.End() + var nilCtx context.Context + l := WithContext(context.Background()) l = l.WithContext(nilCtx) l = l.WithContext(ctx) SetLevel(InfoLevel) @@ -71,9 +76,11 @@ func TestTraceInfo(t *testing.T) { otel.SetTracerProvider(tp) defer otel.SetTracerProvider(otp) - ctx, _ := tp.Tracer("foo").Start(context.Background(), "bar") - l := WithContext(ctx) + ctx, span := tp.Tracer("foo").Start(context.Background(), "bar") + defer span.End() + SetLevel(InfoLevel) + l := WithContext(ctx) l.WithDuration(time.Second).Info(testlog) validate(t, w.String(), true, true) w.Reset() @@ -90,11 +97,8 @@ func TestTraceInfo(t *testing.T) { } func TestTraceInfoConsole(t *testing.T) { - old := atomic.LoadUint32(&encoding) - atomic.StoreUint32(&encoding, jsonEncodingType) - defer func() { - atomic.StoreUint32(&encoding, old) - }() + old := atomic.SwapUint32(&encoding, jsonEncodingType) + defer atomic.StoreUint32(&encoding, old) w := new(mockWriter) o := writer.Swap(w) @@ -105,7 +109,9 @@ func TestTraceInfoConsole(t *testing.T) { otel.SetTracerProvider(tp) defer otel.SetTracerProvider(otp) - ctx, _ := tp.Tracer("foo").Start(context.Background(), "bar") + ctx, span := tp.Tracer("foo").Start(context.Background(), "bar") + defer span.End() + l := WithContext(ctx) SetLevel(InfoLevel) l.WithDuration(time.Second).Info(testlog) @@ -128,7 +134,9 @@ func TestTraceSlow(t *testing.T) { otel.SetTracerProvider(tp) defer otel.SetTracerProvider(otp) - ctx, _ := tp.Tracer("foo").Start(context.Background(), "bar") + ctx, span := tp.Tracer("foo").Start(context.Background(), "bar") + defer span.End() + l := WithContext(ctx) SetLevel(InfoLevel) l.WithDuration(time.Second).Slow(testlog) @@ -164,9 +172,9 @@ func TestTraceWithoutContext(t *testing.T) { func validate(t *testing.T, body string, expectedTrace, expectedSpan bool) { var val mockValue - assert.Nil(t, json.Unmarshal([]byte(body), &val)) - assert.Equal(t, expectedTrace, len(val.Trace) > 0) - assert.Equal(t, expectedSpan, len(val.Span) > 0) + assert.Nil(t, json.Unmarshal([]byte(body), &val), body) + assert.Equal(t, expectedTrace, len(val.Trace) > 0, body) + assert.Equal(t, expectedSpan, len(val.Span) > 0, body) } type mockValue struct {