github.com/lmb/consul@v1.4.1/logger/logfile_test.go (about) 1 package logger 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 "time" 8 9 "github.com/hashicorp/consul/testutil" 10 ) 11 12 const ( 13 testFileName = "Consul.log" 14 testDuration = 2 * time.Second 15 testBytes = 10 16 ) 17 18 func TestLogFile_timeRotation(t *testing.T) { 19 t.Parallel() 20 tempDir := testutil.TempDir(t, "LogWriterTime") 21 defer os.Remove(tempDir) 22 logFile := LogFile{fileName: testFileName, logPath: tempDir, duration: testDuration} 23 logFile.Write([]byte("Hello World")) 24 time.Sleep(2 * time.Second) 25 logFile.Write([]byte("Second File")) 26 want := 2 27 if got, _ := ioutil.ReadDir(tempDir); len(got) != want { 28 t.Errorf("Expected %d files, got %v file(s)", want, len(got)) 29 } 30 } 31 32 func TestLogFile_byteRotation(t *testing.T) { 33 t.Parallel() 34 tempDir := testutil.TempDir(t, "LogWriterBytes") 35 defer os.Remove(tempDir) 36 logFile := LogFile{fileName: testFileName, logPath: tempDir, MaxBytes: testBytes, duration: 24 * time.Hour} 37 logFile.Write([]byte("Hello World")) 38 logFile.Write([]byte("Second File")) 39 want := 2 40 tempFiles, _ := ioutil.ReadDir(tempDir) 41 if got := tempFiles; len(got) != want { 42 t.Errorf("Expected %d files, got %v file(s)", want, len(got)) 43 } 44 }