From ea280d1b26be4a5e08ab14988bf3e5fc9599475c Mon Sep 17 00:00:00 2001 From: Diptanu Choudhury Date: Thu, 14 Jan 2016 11:41:31 -0800 Subject: [PATCH] Added a test for file rotation --- client/driver/logs.go | 2 +- client/driver/logs_test.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/client/driver/logs.go b/client/driver/logs.go index 3967fe645..377f7c35f 100644 --- a/client/driver/logs.go +++ b/client/driver/logs.go @@ -24,7 +24,7 @@ func NewLogRotor(path string, fileName string, maxFiles int, fileSize int64) (*L return nil, err } - logFileIdx := 0 + logFileIdx := 1 for _, f := range files { if strings.HasPrefix(f.Name(), fileName) { fileIdx := strings.TrimPrefix(f.Name(), fmt.Sprintf("%s.", fileName)) diff --git a/client/driver/logs_test.go b/client/driver/logs_test.go index cdb22083a..78588c899 100644 --- a/client/driver/logs_test.go +++ b/client/driver/logs_test.go @@ -1,6 +1,7 @@ package driver import ( + "bytes" "os" "path/filepath" "testing" @@ -19,6 +20,7 @@ func TestLogRotator_FindCorrectIndex(t *testing.T) { if err := os.Mkdir(path, os.ModeDir|os.ModePerm); err != nil { t.Fatalf("test setup err: %v", err) } + defer os.RemoveAll(path) fname := filepath.Join(path, "redis.stdout.1") if f, err := os.Create(fname); err == nil { @@ -38,3 +40,24 @@ func TestLogRotator_FindCorrectIndex(t *testing.T) { t.Fatalf("Expected log file idx: %v, actual: %v", 2, r.logFileIdx) } } + +func TestLogRotator_AppendToCurrentFile(t *testing.T) { + path := "/tmp/tmplogrator" + if err := os.Mkdir(path, os.ModeDir|os.ModePerm); err != nil { + t.Fatalf("test setup err: %v", err) + } + defer os.RemoveAll(path) + fname := filepath.Join(path, "redis.stdout.1") + if f, err := os.Create(fname); err == nil { + f.Close() + } + + r, err := NewLogRotor(path, "redis.stdout", 10, 10) + if err != nil { + t.Fatalf("test setup err: %v", err) + } + + var buf bytes.Buffer + buf.WriteString("hello") + r.Start(&buf) +}