import "testing/iotest"

iotestパッケージは、テスト時に役立つReaderおよびWriterを実装しています。

パッケージファイル

logger.go reader.go writer.go

DataErrReader関数

func DataErrReader(r io.Reader) io.Reader

DataErrReaderは、Readerを返します。このReaderは、最後のデータを読み込んだときに、ゼロバイト長のデータを返す代わりにエラーを返します。

HalfReader関数

func HalfReader(r io.Reader) io.Reader

HalfReaderは、Readerを返します。このReaderは、rから要求したバイト長の半分だけを読み込むReadメソッドを実装しています。

NewReadLogger関数

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

NewReadLoggerは、Readerを返します。このReaderは、読み込んだ各データを標準エラー出力にログ出力(log.Printを使用)すること以外は、rと同じ振る舞いをします。ログにはプレフィックスと16進データを出力します。

NewWriteLogger関数

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

NewWriteLoggerは、Writerを返します。このWriterは、書き込んだ各データを標準エラー出力にログ出力(log.Printを使用)すること以外は、wと同じ振る舞いをします。ログにはプレフィックスと16進データを出力します。

OneByteReader関数

func OneByteReader(r io.Reader) io.Reader

OneByteReaderは、Readerを返します。このReaderは、rから1バイトずつ読み込むReadメソッドを実装しています。

TruncateWriter関数

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

TruncateWriterは、Writerを返します。このWriterは、wに書き込みを行いますが、nバイト書き込んだ後は、エラーを出さずに中断します。