fix test failures on windows
This commit is contained in:
@@ -4,7 +4,6 @@ package lumberjack
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"syscall"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func chown(_ string, _ os.FileInfo) error {
|
func chown(_ string, _ os.FileInfo) error {
|
||||||
|
|||||||
@@ -8,6 +8,43 @@ import (
|
|||||||
"testing"
|
"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) {
|
func TestMaintainOwner(t *testing.T) {
|
||||||
fakeC := fakeChown{}
|
fakeC := fakeChown{}
|
||||||
os_Chown = fakeC.Set
|
os_Chown = fakeC.Set
|
||||||
+1
-38
@@ -114,11 +114,11 @@ func TestDefaultFilename(t *testing.T) {
|
|||||||
currentTime = fakeTime
|
currentTime = fakeTime
|
||||||
dir := os.TempDir()
|
dir := os.TempDir()
|
||||||
filename := filepath.Join(dir, filepath.Base(os.Args[0])+"-lumberjack.log")
|
filename := filepath.Join(dir, filepath.Base(os.Args[0])+"-lumberjack.log")
|
||||||
|
defer os.Remove(filename)
|
||||||
l := &Logger{}
|
l := &Logger{}
|
||||||
defer l.Close()
|
defer l.Close()
|
||||||
b := []byte("boo!")
|
b := []byte("boo!")
|
||||||
n, err := l.Write(b)
|
n, err := l.Write(b)
|
||||||
defer os.Remove(filename)
|
|
||||||
|
|
||||||
isNil(err, t)
|
isNil(err, t)
|
||||||
equals(len(b), n, t)
|
equals(len(b), n, t)
|
||||||
@@ -573,43 +573,6 @@ localtime = true`[1:]
|
|||||||
equals(0, len(md.Undecoded()), t)
|
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.
|
// 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
|
// 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.
|
// colliding, and must be cleaned up after the test is finished.
|
||||||
|
|||||||
Reference in New Issue
Block a user