merge: PR #92 — make pipe idle timeout configurable via idleTimeout metadata

Merge beezly/fix/configurable-pipe-timeout with conflict resolution
in pipe.go (PipeOption/WithReadTimeout functional options pattern).

Fix pipe_test.go: update 4 pipeHalf() calls to pass readTimeout arg
matching the new signature.
This commit is contained in:
ginuerzh
2026-05-21 21:38:32 +08:00
4 changed files with 55 additions and 15 deletions
+4 -4
View File
@@ -278,7 +278,7 @@ func Test_pipeHalf(t *testing.T) {
src := newPipeConn([]byte("hello world"))
dst := newPipeConn(nil)
err := pipeHalf(ctx, src, dst)
err := pipeHalf(ctx, src, dst, 0)
if err != nil {
t.Fatal(err)
}
@@ -294,7 +294,7 @@ func Test_pipeHalf_ReadError(t *testing.T) {
src.readErr = readErr
dst := newPipeConn(nil)
err := pipeHalf(ctx, src, dst)
err := pipeHalf(ctx, src, dst, 0)
if err == nil {
t.Error("expected error, got nil")
}
@@ -306,7 +306,7 @@ func Test_pipeHalf_WriteError(t *testing.T) {
dst := newPipeConn(nil)
dst.writeClosed = true
err := pipeHalf(ctx, src, dst)
err := pipeHalf(ctx, src, dst, 0)
if err == nil {
t.Error("expected error, got nil")
}
@@ -320,7 +320,7 @@ func Test_pipeHalf_ContextCanceled(t *testing.T) {
src.eofAfter = -1
dst := newPipeConn(nil)
err := pipeHalf(ctx, src, dst)
err := pipeHalf(ctx, src, dst, 0)
if err == nil {
t.Error("expected context error, got nil")
}