ztest

package
v1.27.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package ztest provides low-level helpers for testing log output. These utilities are helpful in zap's own unit tests, but any assertions using them are strongly coupled to a single encoding.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Initialize

func Initialize(factor string) func()

Initialize checks the environment and alters the timeout scale accordingly. It returns a function to undo the scaling.

func Sleep

func Sleep(base time.Duration)

Sleep scales the sleep duration by $TEST_TIMEOUT_SCALE.

func Timeout

func Timeout(base time.Duration) time.Duration

Timeout scales the provided duration by $TEST_TIMEOUT_SCALE.

Types

type Buffer

type Buffer struct {
	bytes.Buffer
	Syncer
}

Buffer is an implementation of zapcore.WriteSyncer that sends all writes to a bytes.Buffer. It has convenience methods to split the accumulated buffer on newlines.

func (*Buffer) Lines

func (b *Buffer) Lines() []string

Lines returns the current buffer contents, split on newlines.

func (*Buffer) Stripped

func (b *Buffer) Stripped() string

Stripped returns the current buffer contents with the last trailing newline stripped.

type Discarder

type Discarder struct{ Syncer }

A Discarder sends all writes to io.Discard.

func (*Discarder) Write

func (d *Discarder) Write(b []byte) (int, error)

Write implements io.Writer.

type FailWriter

type FailWriter struct{ Syncer }

FailWriter is a WriteSyncer that always returns an error on writes.

func (FailWriter) Write

func (w FailWriter) Write(b []byte) (int, error)

Write implements io.Writer.

type MockClock added in v1.20.0

type MockClock struct {
	// contains filtered or unexported fields
}

MockClock is a fake source of time. It implements standard time operations, but allows the user to control the passage of time.

Use the [Add] method to progress time.

func NewMockClock added in v1.20.0

func NewMockClock() *MockClock

NewMockClock builds a new mock clock using the current actual time as the initial time.

func (*MockClock) Add added in v1.20.0

func (c *MockClock) Add(d time.Duration)

Add progresses time by the given duration. Other operations waiting for the time to advance will be resolved if they are within range.

Side effects of operations waiting for the time to advance will take effect on a best-effort basis. Avoid racing with operations that have side effects.

Panics if the duration is negative.

func (*MockClock) NewTicker added in v1.20.0

func (c *MockClock) NewTicker(d time.Duration) *time.Ticker

NewTicker returns a time.Ticker that ticks at the specified frequency.

As with time.NewTicker, the ticker will drop ticks if the receiver is slow, and the channel is never closed.

Calling Stop on the returned ticker is a no-op. The ticker only runs when the clock is advanced.

func (*MockClock) Now added in v1.20.0

func (c *MockClock) Now() time.Time

Now reports the current time.

type ShortWriter

type ShortWriter struct{ Syncer }

ShortWriter is a WriteSyncer whose write method never fails, but nevertheless fails to the last byte of the input.

func (ShortWriter) Write

func (w ShortWriter) Write(b []byte) (int, error)

Write implements io.Writer.

type Syncer

type Syncer struct {
	// contains filtered or unexported fields
}

A Syncer is a spy for the Sync portion of zapcore.WriteSyncer.

func (*Syncer) Called

func (s *Syncer) Called() bool

Called reports whether the Sync method was called.

func (*Syncer) SetError

func (s *Syncer) SetError(err error)

SetError sets the error that the Sync method will return.

func (*Syncer) Sync

func (s *Syncer) Sync() error

Sync records that it was called, then returns the user-supplied error (if any).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL