aboutsummaryrefslogtreecommitdiff
path: root/src/testing/iotest/reader.go
diff options
context:
space:
mode:
authorCarlos Alexandro Becker <caarlos0@gmail.com>2020-08-16 21:58:40 +0000
committerEmmanuel Odeke <emm.odeke@gmail.com>2020-08-17 16:39:51 +0000
commitabfeec5eb0356d1ac91a097d2124a6b7c8cfccd4 (patch)
tree5466c78389c149286abc4735ac99153bad83c283 /src/testing/iotest/reader.go
parenta2a2237ae02016dd9ce16388963cfceece6744f3 (diff)
downloadgo-abfeec5eb0356d1ac91a097d2124a6b7c8cfccd4.tar.xz
testing/iotest: add ErrReader
Adds an io.Reader that always returns 0 and a non-nil error. Fixes #38781 Change-Id: I56bd124de07bc8809e77c6cfaab33a1e32cfe2ee GitHub-Last-Rev: 4e232b17e9120405d4ea4743350ee361a3505043 GitHub-Pull-Request: golang/go#34741 Reviewed-on: https://go-review.googlesource.com/c/go/+/199501 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Diffstat (limited to 'src/testing/iotest/reader.go')
-rw-r--r--src/testing/iotest/reader.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/testing/iotest/reader.go b/src/testing/iotest/reader.go
index 8d82018fd6..b18e912f27 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,17 @@ func (r *timeoutReader) Read(p []byte) (int, error) {
}
return r.r.Read(p)
}
+
+// ErrIO is a fake IO error.
+var ErrIO = errors.New("io")
+
+// ErrReader returns a fake error every time it is read from.
+func ErrReader() io.Reader {
+ return errReader(0)
+}
+
+type errReader int
+
+func (r errReader) Read(p []byte) (int, error) {
+ return 0, ErrIO
+}