func checkWrite(t *testing.T, w Writer, data []byte, c chan int) { … }
func TestPipe1(t *testing.T) { … }
func reader(t *testing.T, r Reader, c chan int) { … }
func TestPipe2(t *testing.T) { … }
type pipeReturn …
func writer(w WriteCloser, buf []byte, c chan pipeReturn) { … }
func TestPipe3(t *testing.T) { … }
type closer …
type pipeTest …
func (p pipeTest) String() string { … }
var pipeTests …
func delayClose(t *testing.T, cl closer, ch chan int, tt pipeTest) { … }
func TestPipeReadClose(t *testing.T) { … }
func TestPipeReadClose2(t *testing.T) { … }
func TestPipeWriteClose(t *testing.T) { … }
func TestPipeWriteClose2(t *testing.T) { … }
func TestWriteEmpty(t *testing.T) { … }
func TestWriteNil(t *testing.T) { … }
func TestWriteAfterWriterClose(t *testing.T) { … }
func TestPipeCloseError(t *testing.T) { … }
func TestPipeConcurrent(t *testing.T) { … }
func sortBytesInGroups(b []byte, n int) []byte { … }
var rSink …
var wSink …
func TestPipeAllocations(t *testing.T) { … }