|
|
|
@ -7,6 +7,7 @@ import (
|
|
|
|
|
"net" |
|
|
|
|
"testing" |
|
|
|
|
|
|
|
|
|
"golang.org/x/sync/errgroup" |
|
|
|
|
"v2ray.com/core/common" |
|
|
|
|
. "v2ray.com/core/common/buf" |
|
|
|
|
"v2ray.com/core/common/compare" |
|
|
|
@ -31,12 +32,17 @@ func TestReadvReader(t *testing.T) {
|
|
|
|
|
data := make([]byte, 8192) |
|
|
|
|
common.Must2(rand.Read(data)) |
|
|
|
|
|
|
|
|
|
go func() { |
|
|
|
|
var errg errgroup.Group |
|
|
|
|
errg.Go(func() error { |
|
|
|
|
writer := NewWriter(conn) |
|
|
|
|
mb := MergeBytes(nil, data) |
|
|
|
|
|
|
|
|
|
if err := writer.WriteMultiBuffer(mb); err != nil { |
|
|
|
|
t.Fatal("failed to write data: ", err) |
|
|
|
|
return writer.WriteMultiBuffer(mb) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
defer func() { |
|
|
|
|
if err := errg.Wait(); err != nil { |
|
|
|
|
t.Error(err) |
|
|
|
|
} |
|
|
|
|
}() |
|
|
|
|
|
|
|
|
|