Documentation ¶
Overview ¶
package qlogtest provides a variety of helpers for testing log output.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLogger ¶
func NewLogger(t TestingT, opts ...LoggerOption) *qlog.Logger
NewLogger builds a new Logger that logs all messages to the given testing.TB.
logger := qlogtest.NewLogger(t)
Use this with a *testing.T or *testing.B to get logs which get printed only if a test fails or if you ran go test -v.
The returned logger defaults to logging debug level messages and above. This may be changed by passing a qlogtest.Level during construction.
logger := qlogtest.NewLogger(t, qlogtest.Level(qlog.WarnLevel))
You may also pass qlog.Option's to customize test logger.
logger := qlogtest.NewLogger(t, qlogtest.WrapOptions(qlog.AddCaller()))
Types ¶
type Buffer ¶
Buffer is an implementation of qlogcore.WriteSyncer that sends all writes to a bytes.Buffer. It has convenience methods to split the accumulated buffer on newlines.
type FailWriter ¶
type FailWriter = ztest.FailWriter
FailWriter is a WriteSyncer that always returns an error on writes.
type LoggerOption ¶
type LoggerOption interface {
// contains filtered or unexported methods
}
LoggerOption configures the test logger built by NewLogger.
func Level ¶
func Level(enab qlogcore.LevelEnabler) LoggerOption
Level controls which messages are logged by a test Logger built by NewLogger.
func WrapOptions ¶
func WrapOptions(qlogOpts ...qlog.Option) LoggerOption
WrapOptions adds qlog.Option's to a test Logger built by NewLogger.
type ShortWriter ¶
type ShortWriter = ztest.ShortWriter
ShortWriter is a WriteSyncer whose write method never returns an error, but always reports that it wrote one byte less than the input slice's length (thus, a "short write").
type TestingT ¶
type TestingT interface { // Logs the given message without failing the test. Logf(string, ...interface{}) // Logs the given message and marks the test as failed. Errorf(string, ...interface{}) // Marks the test as failed. Fail() // Returns true if the test has been marked as failed. Failed() bool // Returns the name of the test. Name() string // Marks the test as failed and stops execution of that test. FailNow() }
TestingT is a subset of the API provided by all *testing.T and *testing.B objects.