Adding upstream version 0.8.9.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
3b2c48b5e4
commit
c0c4addb85
285 changed files with 25880 additions and 0 deletions
36
internal/testutils/failwriter.go
Normal file
36
internal/testutils/failwriter.go
Normal file
|
@ -0,0 +1,36 @@
|
|||
package testutils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
||||
var ErrWriteLimitReached = errors.New("reached write limit")
|
||||
|
||||
type failWriter struct {
|
||||
writeLimit int
|
||||
writeCount int
|
||||
}
|
||||
|
||||
// Close is just a dummy function to implement io.Closer.
|
||||
func (fw *failWriter) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Write returns an error if the write limit has been reached.
|
||||
func (fw *failWriter) Write(data []byte) (int, error) {
|
||||
fw.writeCount++
|
||||
if fw.writeCount > fw.writeLimit {
|
||||
return 0, fmt.Errorf("%w: %d", ErrWriteLimitReached, fw.writeLimit)
|
||||
}
|
||||
|
||||
return len(data), nil
|
||||
}
|
||||
|
||||
// CreateFailWriter returns a io.WriteCloser that returns an error after the amount of writes indicated by writeLimit.
|
||||
func CreateFailWriter(writeLimit int) io.WriteCloser {
|
||||
return &failWriter{
|
||||
writeLimit: writeLimit,
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue