1
0
textfmt/writer_test.go

37 lines
518 B
Go
Raw Normal View History

2025-10-10 15:47:36 +02:00
package textfmt_test
import (
"errors"
"io"
)
type failingWriter struct {
out io.Writer
failAfter int
err error
}
func (w *failingWriter) Write(p []byte) (int, error) {
if w.err != nil {
return 0, w.err
}
if w.failAfter <= len(p) {
p = p[:w.failAfter]
}
if len(p) > 0 && w.out != nil {
if n, err := w.out.Write(p); err != nil {
w.err = err
return n, w.err
}
}
w.failAfter -= len(p)
if w.failAfter == 0 {
w.err = errors.New("test write error")
}
return len(p), w.err
}