status-go/geth/log/log_test.go

52 lines
991 B
Go
Raw Normal View History

package log
import (
"bytes"
"testing"
"github.com/ethereum/go-ethereum/log"
)
const (
trace = "trace log message\n"
debug = "debug log message\n"
info = "info log message\n"
warn = "warning log message\n"
err = "error log message\n"
)
func TestLogLevels(t *testing.T) {
var tests = []struct {
lvl log.Lvl
out string
}{
{log.LvlTrace, trace + debug + info + warn + err},
{log.LvlDebug, debug + info + warn + err},
{log.LvlInfo, info + warn + err},
{log.LvlWarn, warn + err},
{log.LvlError, err},
}
var buf bytes.Buffer
// log-comaptible handler that writes log in the buffer
handler := log.FuncHandler(func(r *log.Record) error {
_, err := buf.Write([]byte(r.Msg))
return err
})
for _, test := range tests {
buf.Reset()
setHandler(test.lvl, handler)
Trace(trace)
Debug(debug)
Info(info)
Warn(warn)
Error(err)
if buf.String() != test.out {
t.Errorf("Expecting log output to be '%s', got '%s'", test.out, buf.String())
}
}
}