Package iotest implements Readers and Writers useful mainly for testing.
Internal call graph ▹
Internal call graph ▾
In the call graph viewer below, each node is a function belonging to this package and its children are the functions it calls—perhaps dynamically.
The root nodes are the entry points of the package: functions that may be called from outside the package. There may be non-exported or anonymous functions among them if they are called dynamically from another package.
Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring
Functions may be omitted if they were determined to be unreachable in the particular programs or tests that were analyzed.
var ErrTimeout = errors.New("timeout")
func DataErrReader ¶
func DataErrReader(r io.Reader) io.Reader
DataErrReader changes the way errors are handled by a Reader. Normally, a Reader returns an error (typically EOF) from the first Read call after the last piece of data is read. DataErrReader wraps a Reader and changes its behavior so the final error is returned along with the final data, instead of in the first call after the final data.
func HalfReader ¶
func HalfReader(r io.Reader) io.Reader
HalfReader returns a Reader that implements Read by reading half as many requested bytes from r.
func NewReadLogger ¶
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewReadLogger returns a reader that behaves like r except that it logs (using log.Print) each read to standard error, printing the prefix and the hexadecimal data read.
func NewWriteLogger ¶
func NewWriteLogger(prefix string, w io.Writer) io.Writer
NewWriteLogger returns a writer that behaves like w except that it logs (using log.Printf) each write to standard error, printing the prefix and the hexadecimal data written.
func OneByteReader ¶
func OneByteReader(r io.Reader) io.Reader
OneByteReader returns a Reader that implements each non-empty Read by reading one byte from r.
func TimeoutReader ¶
func TimeoutReader(r io.Reader) io.Reader
TimeoutReader returns ErrTimeout on the second read with no data. Subsequent calls to read succeed.
func TruncateWriter ¶
func TruncateWriter(w io.Writer, n int64) io.Writer
TruncateWriter returns a Writer that writes to w but stops silently after n bytes.