Browse Source

Fix a error of the function 'CopyMessage' in 'daemon/logger/logger.go'

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

add a test for 'CopyMessage'

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
Yanqiang Miao 8 years ago
parent
commit
3b82eac65f
2 changed files with 27 additions and 1 deletions
  1. 1 1
      daemon/logger/logger.go
  2. 26 0
      daemon/logger/logger_test.go

+ 1 - 1
daemon/logger/logger.go

@@ -49,7 +49,7 @@ func CopyMessage(msg *Message) *Message {
 	m.Timestamp = msg.Timestamp
 	m.Partial = msg.Partial
 	m.Attrs = make(LogAttributes)
-	for k, v := range m.Attrs {
+	for k, v := range msg.Attrs {
 		m.Attrs[k] = v
 	}
 	return m

+ 26 - 0
daemon/logger/logger_test.go

@@ -0,0 +1,26 @@
+package logger
+
+import (
+	"reflect"
+	"testing"
+	"time"
+)
+
+func TestCopyMessage(t *testing.T) {
+	msg := &Message{
+		Line:      []byte("test line."),
+		Source:    "stdout",
+		Timestamp: time.Now(),
+		Attrs: LogAttributes{
+			"key1": "val1",
+			"key2": "val2",
+			"key3": "val3",
+		},
+		Partial: true,
+	}
+
+	m := CopyMessage(msg)
+	if !reflect.DeepEqual(m, msg) {
+		t.Fatalf("CopyMessage failed to copy message")
+	}
+}