diff options
Diffstat (limited to 'src/testing/iotest/reader.go')
| -rw-r--r-- | src/testing/iotest/reader.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/testing/iotest/reader.go b/src/testing/iotest/reader.go index 8d82018fd6..bc2f72a911 100644 --- a/src/testing/iotest/reader.go +++ b/src/testing/iotest/reader.go @@ -68,6 +68,7 @@ func (r *dataErrReader) Read(p []byte) (n int, err error) { return } +// ErrTimeout is a fake timeout error. var ErrTimeout = errors.New("timeout") // TimeoutReader returns ErrTimeout on the second read @@ -86,3 +87,16 @@ func (r *timeoutReader) Read(p []byte) (int, error) { } return r.r.Read(p) } + +// ErrReader returns an io.Reader that returns 0, err from all Read calls. +func ErrReader(err error) io.Reader { + return &alwaysErrReader{err: err} +} + +type alwaysErrReader struct { + err error +} + +func (aer *alwaysErrReader) Read(p []byte) (int, error) { + return 0, aer.err +} |
