package iotest
Import Path
testing/iotest (on go.dev)
Dependency Relation
imports 5 packages, and imported by one package
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 Functions (total 9)
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)
ErrTimeout is a fake timeout error.
The pages are generated with Golds v0.7.0-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |