net: don't fail test if splice fails because pipe2 is missing
This reportedly happens on CentOS 5.11. The real code will work fine; this test is assuming that the unexported slice function will handle the splice, but if pipe2 does not work then it doesn't. The relevant code in internal/poll/splice_linux.go says "Falling back to pipe is possible, but prior to 2.6.29 splice returns -EAGAIN instead of 0 when the connection is closed." Reviewed-on: https://go-review.googlesource.com/138838 From-SVN: r264793
This commit is contained in:
parent
0036218b10
commit
4913fc07e0
@ -1,4 +1,4 @@
|
||||
53d0d7ca278a5612fcdb5fb098e7bf950a0178ef
|
||||
098e36f4ddfcf50aeb34509b5f25b86d7050749c
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -11,7 +11,9 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"sync"
|
||||
"syscall"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@ -225,6 +227,10 @@ func testSpliceReaderAtEOF(t *testing.T) {
|
||||
serverUp.Close()
|
||||
_, err, handled := splice(serverDown.(*TCPConn).fd, serverUp)
|
||||
if !handled {
|
||||
if serr, ok := err.(*os.SyscallError); ok && serr.Syscall == "pipe2" && serr.Err == syscall.ENOSYS {
|
||||
t.Skip("pipe2 not supported")
|
||||
}
|
||||
|
||||
t.Errorf("closed connection: got err = %v, handled = %t, want handled = true", err, handled)
|
||||
}
|
||||
lr := &io.LimitedReader{
|
||||
|
Loading…
Reference in New Issue
Block a user