unix: don't defer close raw Socketpair fds in tests

The raw fds are successively wrapped using os.NewFile and will be closed
by (*os.File).Close. Avoids a double close, in the worst case closing an
unrelated fd.

Same as CL 309353 does for package syscall.

Change-Id: I26dffc3fefa90d636cb67a904df0bfc3b131f702
Reviewed-on: https://go-review.googlesource.com/c/sys/+/309689
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Tobias Klauser
2021-04-13 11:06:20 +02:00
committed by Tobias Klauser
parent f1c623a9e7
commit fe65e336ab
2 changed files with 5 additions and 6 deletions

View File

@@ -39,16 +39,19 @@ func TestSCMCredentials(t *testing.T) {
if err != nil {
t.Fatalf("Socketpair: %v", err)
}
defer unix.Close(fds[0])
defer unix.Close(fds[1])
err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1)
if err != nil {
unix.Close(fds[0])
unix.Close(fds[1])
t.Fatalf("SetsockoptInt: %v", err)
}
srvFile := os.NewFile(uintptr(fds[0]), "server")
cliFile := os.NewFile(uintptr(fds[1]), "client")
defer srvFile.Close()
defer cliFile.Close()
srv, err := net.FileConn(srvFile)
if err != nil {
t.Errorf("FileConn: %v", err)
@@ -56,8 +59,6 @@ func TestSCMCredentials(t *testing.T) {
}
defer srv.Close()
cliFile := os.NewFile(uintptr(fds[1]), "client")
defer cliFile.Close()
cli, err := net.FileConn(cliFile)
if err != nil {
t.Errorf("FileConn: %v", err)

View File

@@ -206,8 +206,6 @@ func TestPassFD(t *testing.T) {
if err != nil {
t.Fatalf("Socketpair: %v", err)
}
defer unix.Close(fds[0])
defer unix.Close(fds[1])
writeFile := os.NewFile(uintptr(fds[0]), "child-writes")
readFile := os.NewFile(uintptr(fds[1]), "parent-reads")
defer writeFile.Close()