# package iotest

`import "testing/iotest"`

Package iotest implements Readers and Writers useful mainly for testing.

logger.go reader.go writer.go

## Variables

## func DataErrReader

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

HalfReader returns a Reader that implements Read by reading half as many requested bytes from r.

## func NewReadLogger

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

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

OneByteReader returns a Reader that implements each non-empty Read by reading one byte from r.

## func TimeoutReader

TimeoutReader returns ErrTimeout on the second read with no data. Subsequent calls to read succeed.

## func TruncateWriter

TruncateWriter returns a Writer that writes to w but stops silently after n bytes.