From: Rob Pike Date: Fri, 17 Aug 2012 18:55:11 +0000 (-0700) Subject: all: move defers to after error check to avoid nil indirection X-Git-Tag: go1.1rc2~2631 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=deb53889c200deba1d4048a155e936c11b6a8492;p=gostls13.git all: move defers to after error check to avoid nil indirection Only affects some tests and none seem likely to be problematic, but let's fix them. Fixes #3971. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6463060 --- diff --git a/src/pkg/net/http/transport_test.go b/src/pkg/net/http/transport_test.go index 9cf292cee4..14465727c2 100644 --- a/src/pkg/net/http/transport_test.go +++ b/src/pkg/net/http/transport_test.go @@ -161,10 +161,10 @@ func TestTransportConnectionCloseOnResponse(t *testing.T) { t.Fatalf("error in connectionClose=%v, req #%d, Do: %v", connectionClose, n, err) } body, err := ioutil.ReadAll(res.Body) - defer res.Body.Close() if err != nil { t.Fatalf("error in connectionClose=%v, req #%d, ReadAll: %v", connectionClose, n, err) } + defer res.Body.Close() return string(body) } diff --git a/src/pkg/os/os_test.go b/src/pkg/os/os_test.go index dec80cc091..14b4837a04 100644 --- a/src/pkg/os/os_test.go +++ b/src/pkg/os/os_test.go @@ -69,10 +69,10 @@ var sysdir = func() (sd *sysDir) { func size(name string, t *testing.T) int64 { file, err := Open(name) - defer file.Close() if err != nil { t.Fatal("open failed:", err) } + defer file.Close() var buf [100]byte len := 0 for { @@ -134,10 +134,10 @@ func TestStat(t *testing.T) { func TestFstat(t *testing.T) { path := sfdir + "/" + sfname file, err1 := Open(path) - defer file.Close() if err1 != nil { t.Fatal("open failed:", err1) } + defer file.Close() dir, err2 := file.Stat() if err2 != nil { t.Fatal("fstat failed:", err2) @@ -189,10 +189,10 @@ func TestRead0(t *testing.T) { func testReaddirnames(dir string, contents []string, t *testing.T) { file, err := Open(dir) - defer file.Close() if err != nil { t.Fatalf("open %q failed: %v", dir, err) } + defer file.Close() s, err2 := file.Readdirnames(-1) if err2 != nil { t.Fatalf("readdirnames %q failed: %v", dir, err2) @@ -218,10 +218,10 @@ func testReaddirnames(dir string, contents []string, t *testing.T) { func testReaddir(dir string, contents []string, t *testing.T) { file, err := Open(dir) - defer file.Close() if err != nil { t.Fatalf("open %q failed: %v", dir, err) } + defer file.Close() s, err2 := file.Readdir(-1) if err2 != nil { t.Fatalf("readdir %q failed: %v", dir, err2) @@ -285,10 +285,10 @@ func TestReaddirnamesOneAtATime(t *testing.T) { dir = "/bin" } file, err := Open(dir) - defer file.Close() if err != nil { t.Fatalf("open %q failed: %v", dir, err) } + defer file.Close() all, err1 := file.Readdirnames(-1) if err1 != nil { t.Fatalf("readdirnames %q failed: %v", dir, err1)