|
|
|
@ -28,25 +28,27 @@ func init() {
|
|
|
|
|
|
|
|
|
|
func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
type fns struct {
|
|
|
|
|
fn0 func() bool
|
|
|
|
|
fn1 func(...interface{})
|
|
|
|
|
fn2 func(...interface{})
|
|
|
|
|
fn3 func(string, ...interface{})
|
|
|
|
|
ispanic bool
|
|
|
|
|
isexit bool
|
|
|
|
|
}
|
|
|
|
|
debugFns := fns{Debug, Debugln, Debugf, false, false}
|
|
|
|
|
infoFns := fns{Info, Infoln, Infof, false, false}
|
|
|
|
|
printFns := fns{Print, Println, Printf, false, false}
|
|
|
|
|
warnFns := fns{Warn, Warnln, Warnf, false, false}
|
|
|
|
|
errorFns := fns{Error, Errorln, Errorf, false, false}
|
|
|
|
|
panicFns := fns{Panic, Panicln, Panicf, true, false}
|
|
|
|
|
fatalFns := fns{Fatal, Fatalln, Fatalf, false, true}
|
|
|
|
|
debugFns := fns{IsDebugEnabled, Debug, Debugln, Debugf, false, false}
|
|
|
|
|
infoFns := fns{IsInfoEnabled, Info, Infoln, Infof, false, false}
|
|
|
|
|
printFns := fns{IsPrintEnabled, Print, Println, Printf, false, false}
|
|
|
|
|
warnFns := fns{IsWarnEnabled, Warn, Warnln, Warnf, false, false}
|
|
|
|
|
errorFns := fns{IsErrorEnabled, Error, Errorln, Errorf, false, false}
|
|
|
|
|
panicFns := fns{IsPanicEnabled, Panic, Panicln, Panicf, true, false}
|
|
|
|
|
fatalFns := fns{IsFatalEnabled, Fatal, Fatalln, Fatalf, false, true}
|
|
|
|
|
|
|
|
|
|
tests := []struct {
|
|
|
|
|
level Level
|
|
|
|
|
fns fns
|
|
|
|
|
hits int
|
|
|
|
|
}{
|
|
|
|
|
// 0
|
|
|
|
|
{level: DEBUG, fns: debugFns, hits: 1},
|
|
|
|
|
{level: DEBUG, fns: infoFns, hits: 1},
|
|
|
|
|
{level: DEBUG, fns: printFns, hits: 1},
|
|
|
|
@ -54,7 +56,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: DEBUG, fns: errorFns, hits: 1},
|
|
|
|
|
{level: DEBUG, fns: panicFns, hits: 1},
|
|
|
|
|
{level: DEBUG, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 7
|
|
|
|
|
{level: INFO, fns: debugFns, hits: 0},
|
|
|
|
|
{level: INFO, fns: infoFns, hits: 1},
|
|
|
|
|
{level: INFO, fns: printFns, hits: 1},
|
|
|
|
@ -62,7 +64,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: INFO, fns: errorFns, hits: 1},
|
|
|
|
|
{level: INFO, fns: panicFns, hits: 1},
|
|
|
|
|
{level: INFO, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 14
|
|
|
|
|
{level: WARN, fns: debugFns, hits: 0},
|
|
|
|
|
{level: WARN, fns: infoFns, hits: 0},
|
|
|
|
|
{level: WARN, fns: printFns, hits: 1},
|
|
|
|
@ -70,7 +72,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: WARN, fns: errorFns, hits: 1},
|
|
|
|
|
{level: WARN, fns: panicFns, hits: 1},
|
|
|
|
|
{level: WARN, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 21
|
|
|
|
|
{level: ERROR, fns: debugFns, hits: 0},
|
|
|
|
|
{level: ERROR, fns: infoFns, hits: 0},
|
|
|
|
|
{level: ERROR, fns: printFns, hits: 1},
|
|
|
|
@ -78,7 +80,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: ERROR, fns: errorFns, hits: 1},
|
|
|
|
|
{level: ERROR, fns: panicFns, hits: 1},
|
|
|
|
|
{level: ERROR, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 28
|
|
|
|
|
{level: PANIC, fns: debugFns, hits: 0},
|
|
|
|
|
{level: PANIC, fns: infoFns, hits: 0},
|
|
|
|
|
{level: PANIC, fns: printFns, hits: 1},
|
|
|
|
@ -86,7 +88,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: PANIC, fns: errorFns, hits: 0},
|
|
|
|
|
{level: PANIC, fns: panicFns, hits: 1},
|
|
|
|
|
{level: PANIC, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 35
|
|
|
|
|
{level: FATAL, fns: debugFns, hits: 0},
|
|
|
|
|
{level: FATAL, fns: infoFns, hits: 0},
|
|
|
|
|
{level: FATAL, fns: printFns, hits: 1},
|
|
|
|
@ -94,7 +96,7 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
{level: FATAL, fns: errorFns, hits: 0},
|
|
|
|
|
{level: FATAL, fns: panicFns, hits: 0},
|
|
|
|
|
{level: FATAL, fns: fatalFns, hits: 1},
|
|
|
|
|
|
|
|
|
|
// 42
|
|
|
|
|
{level: OFF, fns: debugFns, hits: 0},
|
|
|
|
|
{level: OFF, fns: infoFns, hits: 0},
|
|
|
|
|
{level: OFF, fns: printFns, hits: 0},
|
|
|
|
@ -129,6 +131,17 @@ func TestLogOnLevel(t *testing.T) {
|
|
|
|
|
tt.fns.fn2("message")
|
|
|
|
|
tt.fns.fn3("message")
|
|
|
|
|
|
|
|
|
|
// check is enabled
|
|
|
|
|
if tt.fns.fn0() {
|
|
|
|
|
if logHits == 0 {
|
|
|
|
|
t.Errorf("Case %d, IsEnabled, but no log hits", i)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if logHits != 0 {
|
|
|
|
|
t.Errorf("Case %d, not IsEnabled, but found log hits=%v", i, logHits)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// check log hits
|
|
|
|
|
if logHits != tt.hits*3 {
|
|
|
|
|
t.Errorf("Case %d, fn hits on level %v, got %v, want %v", i, tt.level, logHits, tt.hits)
|
|
|
|
|