iotest

package
v1.21.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

iotestパッケージは、主にテストに役立つReaderとWriterを実装します。

Index

Examples

Constants

This section is empty.

Variables

View Source
var ErrTimeout = errors.New("timeout")

ErrTimeoutは、偽のタイムアウトエラーです。

Functions

func DataErrReader

func DataErrReader(r io.Reader) io.Reader

DataErrReaderは、Readerによってエラーが処理される方法を変更します。通常、 Readerは最後のデータが読み取られた後の最初のRead呼び出しからエラー(通常はEOF)を返します。 DataErrReaderはReaderをラップし、最終的なエラーが最終的なデータとともに返されるように、 その動作を変更します。最終データの後の最初の呼び出しではなく。

func ErrReader added in v1.16.0

func ErrReader(err error) io.Reader

ErrReaderは、全てのRead呼び出しから0, errを返すio.Readerを返します。

Example
package main

import (
	"github.com/shogo82148/std/errors"
	"github.com/shogo82148/std/fmt"
	"github.com/shogo82148/std/testing/iotest"
)

func main() {
	// 常にカスタムエラーを返すリーダー。
	r := iotest.ErrReader(errors.New("custom error"))
	n, err := r.Read(nil)
	fmt.Printf("n:   %d\nerr: %q\n", n, err)

}
Output:

n:   0
err: "custom error"

func HalfReader

func HalfReader(r io.Reader) io.Reader

HalfReaderは、要求されたバイト数の半分をrから読み取ることでReadを実装するReaderを返します。

func NewReadLogger

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

NewReadLoggerは、rと同様に動作するリーダーを返しますが、 読み取りごとに(log.Printfを使用して)標準エラーにログを出力し、 プレフィックスと読み取った16進数データを印刷します。

func NewWriteLogger

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

NewWriteLoggerは、wのように振る舞うライターを返しますが、 書き込みごとに(log.Printfを使用して)標準エラーにログを出力し、 プレフィックスと書き込まれた16進数データを印刷します。

func OneByteReader

func OneByteReader(r io.Reader) io.Reader

OneByteReaderは、各非空のReadをrから1バイト読み取ることで実装するReaderを返します。

func TestReader added in v1.16.0

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は、データなしの2回目の読み取りでErrTimeoutを返します。 その後の読み取りの呼び出しは成功します。

func TruncateWriter

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

TruncateWriterは、wに書き込むWriterを返しますが、 nバイト後に静かに停止します。

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL