testing/iotest

Package iotest

  • import "testing/iotest"

  • 概观

  • 指数

概观

包iotest实现主要用于测试的读和写。

指数

  • 变量

  • func DataErrReader(r io.Reader) io.Reader

  • func HalfReader(r io.Reader) io.Reader

  • func NewReadLogger(prefix string, r io.Reader) io.Reader

  • func NewWriteLogger(prefix string, w io.Writer) io.Writer

  • func OneByteReader(r io.Reader) io.Reader

  • func TimeoutReader(r io.Reader) io.Reader

  • func TruncateWriter(w io.Writer, n int64) io.Writer

包文件

logger.go reader.go writer.go

变量

var ErrTimeout = errors.New("timeout")

func DataErrReaderSource

func DataErrReader(r io.Reader) io.Reader

DataErrReader改变了Reader处理错误的方式。通常,读取最后一段数据后,Reader会从第一个Read调用返回一个错误(通常为EOF)。DataErrReader包装Reader并更改其行为,以便最终的错误与最终数据一起返回,而不是在最终数据之后的第一次调用中返回。

func HalfReaderSource

func HalfReader(r io.Reader) io.Reader

HalfReader返回一个Reader,它通过读取r中请求的字节的一半来实现Read。

func NewReadLoggerSource

func NewReadLogger(prefix string, r io.Reader) io.Reader

NewReadLogger返回一个阅读器,其行为像r一样,除了它将每个读取记录(使用log.Print)为标准错误,打印前缀和读取十六进制数据。

func NewWriteLoggerSource

func NewWriteLogger(prefix string, w io.Writer) io.Writer

NewWriteLogger返回一个写入器,其行为与w相似,但它会记录(使用log.Printf)每次写入标准错误,打印写入的前缀和十六进制数据。

func OneByteReaderSource

func OneByteReader(r io.Reader) io.Reader

OneByteReader通过从r读取一个字节来返回一个Reader,它实现每个非空Read。

func TimeoutReaderSource

func TimeoutReader(r io.Reader) io.Reader

TimeoutReader在第二次读取时返回ErrTimeout,但没有数据。后续调用读取成功。

func TruncateWriterSource

func TruncateWriter(w io.Writer, n int64) io.Writer

TruncateWriter返回一个写入w的Writer,但在n个字节后自动停止。