package iotest
Import Path
testing/iotest (on go.dev)
Dependency Relation
imports 5 packages, and imported by 0 packages
Involved Source Files
logger.go
Package iotest implements Readers and Writers useful mainly for testing.
writer.go
Code Examples
package main
import (
"errors"
"fmt"
"testing/iotest"
)
func main() {
// A reader that always returns a custom error.
r := iotest.ErrReader(errors.New("custom error"))
n, err := r.Read(nil)
fmt.Printf("n: %d\nerr: %q\n", n, err)
}
Package-Level Type Names (total 9, none are exported)
Package-Level Functions (total 9, all are exported)
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.
ErrReader returns an io.Reader that returns 0, err from all Read calls.
HalfReader returns a Reader that implements Read
by reading half as many requested bytes from r.
NewReadLogger returns a reader that behaves like r except
that it logs (using log.Printf) each read to standard error,
printing the prefix and the hexadecimal data read.
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.
OneByteReader returns a Reader that implements
each non-empty Read by reading one byte from r.
TestReader tests that reading from r returns the expected file content.
It does reads of different sizes, until EOF.
If r implements io.ReaderAt or io.Seeker, TestReader also checks
that those operations behave as they should.
If TestReader finds any misbehaviors, it returns an error reporting them.
The error text may span multiple lines.
TimeoutReader returns ErrTimeout on the second read
with no data. Subsequent calls to read succeed.
TruncateWriter returns a Writer that writes to w
but stops silently after n bytes.
Package-Level Variables (only one, which is exported)
ErrTimeout is a fake timeout error.
The pages are generated with Golds v0.4.9. (GOOS=linux GOARCH=amd64)