diff --git a/chown.go b/chown.go index 3b3f9bc..11d0669 100644 --- a/chown.go +++ b/chown.go @@ -4,7 +4,6 @@ package lumberjack import ( "os" - "syscall" ) func chown(_ string, _ os.FileInfo) error { diff --git a/chown_test.go b/linux_test.go similarity index 59% rename from chown_test.go rename to linux_test.go index 1bfb245..40f3446 100644 --- a/chown_test.go +++ b/linux_test.go @@ -8,6 +8,43 @@ import ( "testing" ) +func TestMaintainMode(t *testing.T) { + currentTime = fakeTime + dir := makeTempDir("TestMaintainMode", t) + defer os.RemoveAll(dir) + + filename := logFile(dir) + + mode := os.FileMode(0770) + f, err := os.OpenFile(filename, os.O_CREATE|os.O_RDWR, mode) + isNil(err, t) + f.Close() + + l := &Logger{ + Filename: filename, + MaxBackups: 1, + MaxSize: 100, // megabytes + } + defer l.Close() + b := []byte("boo!") + n, err := l.Write(b) + isNil(err, t) + equals(len(b), n, t) + + newFakeTime() + + err = l.Rotate() + isNil(err, t) + + filename2 := backupFile(dir) + info, err := os.Stat(filename) + isNil(err, t) + info2, err := os.Stat(filename2) + isNil(err, t) + equals(mode, info.Mode(), t) + equals(mode, info2.Mode(), t) +} + func TestMaintainOwner(t *testing.T) { fakeC := fakeChown{} os_Chown = fakeC.Set diff --git a/lumberjack_test.go b/lumberjack_test.go index 29ca7a0..e9984f8 100644 --- a/lumberjack_test.go +++ b/lumberjack_test.go @@ -114,11 +114,11 @@ func TestDefaultFilename(t *testing.T) { currentTime = fakeTime dir := os.TempDir() filename := filepath.Join(dir, filepath.Base(os.Args[0])+"-lumberjack.log") + defer os.Remove(filename) l := &Logger{} defer l.Close() b := []byte("boo!") n, err := l.Write(b) - defer os.Remove(filename) isNil(err, t) equals(len(b), n, t) @@ -573,43 +573,6 @@ localtime = true`[1:] equals(0, len(md.Undecoded()), t) } -func TestMaintainMode(t *testing.T) { - currentTime = fakeTime - dir := makeTempDir("TestMaintainMode", t) - defer os.RemoveAll(dir) - - filename := logFile(dir) - - mode := os.FileMode(0770) - f, err := os.OpenFile(filename, os.O_CREATE|os.O_RDWR, mode) - isNil(err, t) - f.Close() - - l := &Logger{ - Filename: filename, - MaxBackups: 1, - MaxSize: 100, // megabytes - } - defer l.Close() - b := []byte("boo!") - n, err := l.Write(b) - isNil(err, t) - equals(len(b), n, t) - - newFakeTime() - - err = l.Rotate() - isNil(err, t) - - filename2 := backupFile(dir) - info, err := os.Stat(filename) - isNil(err, t) - info2, err := os.Stat(filename2) - isNil(err, t) - equals(mode, info.Mode(), t) - equals(mode, info2.Mode(), t) -} - // makeTempDir creates a file with a semi-unique name in the OS temp directory. // It should be based on the name of the test, to keep parallel tests from // colliding, and must be cleaned up after the test is finished.