34 lines
673 B
Go
34 lines
673 B
Go
package tests
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/rs/zerolog"
|
|
)
|
|
|
|
type TLogWriter struct {
|
|
t *testing.T
|
|
}
|
|
|
|
// Write implements the io.Writer interface for TLogWriter.
|
|
func (w *TLogWriter) Write(p []byte) (n int, err error) {
|
|
w.t.Logf("%s", p)
|
|
return len(p), nil
|
|
}
|
|
|
|
// Return a fake logger to satisfy functions that expect one
|
|
func NilLogger() *zerolog.Logger {
|
|
logger := zerolog.New(nil)
|
|
return &logger
|
|
}
|
|
|
|
// Return a logger that makes use of the T.Log method to enable debugging tests
|
|
func DebugLogger(t *testing.T) *zerolog.Logger {
|
|
logger := zerolog.New(GetTLogWriter(t))
|
|
return &logger
|
|
}
|
|
|
|
func GetTLogWriter(t *testing.T) *TLogWriter {
|
|
return &TLogWriter{t: t}
|
|
}
|