package executils import ( "errors" "io" "os" "testing" ) func TestIsBenignPipeReadError(t *testing.T) { tests := []struct { name string err error want bool }{ {name: "nil", err: nil, want: false}, {name: "eof", err: io.EOF, want: true}, {name: "closed", err: os.ErrClosed, want: true}, {name: "closed pipe", err: io.ErrClosedPipe, want: true}, {name: "wrapped closed", err: errors.New("read |0: file already closed"), want: true}, {name: "other", err: errors.New("permission denied"), want: false}, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { got := isBenignPipeReadError(tc.err) if got != tc.want { t.Fatalf("got %v, want %v (err=%v)", got, tc.want, tc.err) } }) } }