kevin пре 4 година
родитељ
комит
3733b06f1b
2 измењених фајлова са 21 додато и 7 уклоњено
  1. 16 2
      core/logx/logs_test.go
  2. 5 5
      core/logx/tracelogger_test.go

+ 16 - 2
core/logx/logs_test.go

@@ -9,6 +9,7 @@ import (
 	"os"
 	"runtime"
 	"strings"
+	"sync"
 	"sync/atomic"
 	"testing"
 	"time"
@@ -22,10 +23,13 @@ var (
 )
 
 type mockWriter struct {
+	lock    sync.Mutex
 	builder strings.Builder
 }
 
 func (mw *mockWriter) Write(data []byte) (int, error) {
+	mw.lock.Lock()
+	defer mw.lock.Unlock()
 	return mw.builder.Write(data)
 }
 
@@ -33,12 +37,22 @@ func (mw *mockWriter) Close() error {
 	return nil
 }
 
+func (mw *mockWriter) Contains(text string) bool {
+	mw.lock.Lock()
+	defer mw.lock.Unlock()
+	return strings.Contains(mw.builder.String(), text)
+}
+
 func (mw *mockWriter) Reset() {
+	mw.lock.Lock()
+	defer mw.lock.Unlock()
 	mw.builder.Reset()
 }
 
-func (mw *mockWriter) Contains(text string) bool {
-	return strings.Contains(mw.builder.String(), text)
+func (mw *mockWriter) String() string {
+	mw.lock.Lock()
+	defer mw.lock.Unlock()
+	return mw.builder.String()
 }
 
 func TestFileLineFileMode(t *testing.T) {

+ 5 - 5
core/logx/tracelogger_test.go

@@ -19,7 +19,7 @@ const (
 var mock tracespec.Trace = new(mockTrace)
 
 func TestTraceLog(t *testing.T) {
-	var buf strings.Builder
+	var buf mockWriter
 	ctx := context.WithValue(context.Background(), tracespec.TracingKey, mock)
 	WithContext(ctx).(*traceLogger).write(&buf, levelInfo, testlog)
 	assert.True(t, strings.Contains(buf.String(), mockTraceId))
@@ -27,7 +27,7 @@ func TestTraceLog(t *testing.T) {
 }
 
 func TestTraceError(t *testing.T) {
-	var buf strings.Builder
+	var buf mockWriter
 	ctx := context.WithValue(context.Background(), tracespec.TracingKey, mock)
 	l := WithContext(ctx).(*traceLogger)
 	SetLevel(InfoLevel)
@@ -42,7 +42,7 @@ func TestTraceError(t *testing.T) {
 }
 
 func TestTraceInfo(t *testing.T) {
-	var buf strings.Builder
+	var buf mockWriter
 	ctx := context.WithValue(context.Background(), tracespec.TracingKey, mock)
 	l := WithContext(ctx).(*traceLogger)
 	SetLevel(InfoLevel)
@@ -57,7 +57,7 @@ func TestTraceInfo(t *testing.T) {
 }
 
 func TestTraceSlow(t *testing.T) {
-	var buf strings.Builder
+	var buf mockWriter
 	ctx := context.WithValue(context.Background(), tracespec.TracingKey, mock)
 	l := WithContext(ctx).(*traceLogger)
 	SetLevel(InfoLevel)
@@ -72,7 +72,7 @@ func TestTraceSlow(t *testing.T) {
 }
 
 func TestTraceWithoutContext(t *testing.T) {
-	var buf strings.Builder
+	var buf mockWriter
 	l := WithContext(context.Background()).(*traceLogger)
 	SetLevel(InfoLevel)
 	infoLog = newLogWriter(log.New(&buf, "", flags))