Пакет iotest
Обзор
Пакет iotest реализует Читатели и Писатели, полезные в основном для тестирования.
Индекс
Примеры
Файлы пакета
logger.go reader.go writer.go
Переменные
ErrTimeout — это имитация ошибки таймаута.
var ErrTimeout = errors.New("timeout") func DataErrReader
func DataErrReader(r io.Reader) io.Reader
DataErrReader изменяет способ обработки ошибок Читателем. Обычно Читатель возвращает ошибку (обычно EOF) от первого вызова Read после того, как последняя часть данных будет прочитана. DataErrReader оборачивает Читатель и изменяет его поведение, так что конечная ошибка возвращается вместе с последними данными, а не в первом вызове после окончательных данных.
func ErrReader 1.16
func ErrReader(err error) io.Reader
ErrReader возвращает io.Reader, который возвращает 0, err от всех вызовов Read.
Пример
Код:
// 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)
Вывод:
n: 0 err: "custom error"
func HalfReader
func HalfReader(r io.Reader) io.Reader
HalfReader возвращает Читатель, реализующий Read, читая вдвое меньше запрошенных байтов из r.
func NewReadLogger
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewReadLogger возвращает читатель, который ведет себя как r, за исключением того, что он записывает (используя log.Printf) каждый считываемый фрагмент в стандартный поток ошибок, печатая префикс и шестнадцатеричные считанные данные.
func NewWriteLogger
func NewWriteLogger(prefix string, w io.Writer) io.Writer
NewWriteLogger возвращает писатель, который ведет себя как w, за исключением того, что он записывает (используя log.Printf) каждый записываемый фрагмент в стандартный поток ошибок, печатая префикс и шестнадцатеричные записанные данные.
func OneByteReader
func OneByteReader(r io.Reader) io.Reader
OneByteReader возвращает Читатель, реализующий каждый непустой Read, читая один байт из r.
func TestReader 1.16
func TestReader(r io.Reader, content []byte) error
TestReader проверяет, что чтение из r возвращает ожидаемое содержимое файла. Он выполняет чтение разных размеров до EOF. Если r реализует io.ReaderAt или io.Seeker, TestReader также проверяет, что эти операции ведут себя должным образом.
Если TestReader обнаружит какие-либо неисправности, он возвращает ошибку, сообщающую об этом. Текст ошибки может занимать несколько строк.
func TimeoutReader
func TimeoutReader(r io.Reader) io.Reader
TimeoutReader возвращает ErrTimeout при втором чтении без данных. Последующие вызовы read успешно выполняется.
func TruncateWriter
func TruncateWriter(w io.Writer, n int64) io.Writer
TruncateWriter возвращает Писатель, который записывает в w, но останавливается молча после n байтов.
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/testing/iotest/