56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
|
package logging
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
// A list of implementations that should be tested.
|
||
|
var implementations []Logger
|
||
|
|
||
|
func init() {
|
||
|
lw := NewLogWriter(&bytes.Buffer{}, nil)
|
||
|
cw := NewConsole()
|
||
|
|
||
|
implementations = append(implementations, lw)
|
||
|
implementations = append(implementations, cw)
|
||
|
}
|
||
|
|
||
|
func TestFileSetup(t *testing.T) {
|
||
|
fw1, err := NewFile("fw1.log", true)
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to create new file logger: %v", err)
|
||
|
}
|
||
|
|
||
|
fw2, err := NewSplitFile("fw2.log", "fw2.err", true)
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to create new split file logger: %v", err)
|
||
|
}
|
||
|
|
||
|
implementations = append(implementations, fw1)
|
||
|
implementations = append(implementations, fw2)
|
||
|
}
|
||
|
|
||
|
func TestImplementations(t *testing.T) {
|
||
|
for _, l := range implementations {
|
||
|
l.Info("TestImplementations", "Info message",
|
||
|
map[string]string{"type": fmt.Sprintf("%T", l)})
|
||
|
l.Warn("TestImplementations", "Warning message",
|
||
|
map[string]string{"type": fmt.Sprintf("%T", l)})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestCloseLoggers(t *testing.T) {
|
||
|
for _, l := range implementations {
|
||
|
l.Close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestDestroyLogFiles(t *testing.T) {
|
||
|
os.Remove("fw1.log")
|
||
|
os.Remove("fw2.log")
|
||
|
os.Remove("fw2.err")
|
||
|
}
|