From f7a7716317dede4687a7fed38aea8d256f4d09e5 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 20 Feb 2013 15:35:27 -0800 Subject: database/sql: refcounting and lifetime fixes Simplifies the contract for Driver.Stmt.Close in the process of fixing issue 3865. Fixes #3865 Update #4459 (maybe fixes it; uninvestigated) R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7363043 --- src/pkg/database/sql/sql_test.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/pkg/database/sql/sql_test.go') diff --git a/src/pkg/database/sql/sql_test.go b/src/pkg/database/sql/sql_test.go index 6571cfd846..e6fc6a1d57 100644 --- a/src/pkg/database/sql/sql_test.go +++ b/src/pkg/database/sql/sql_test.go @@ -8,7 +8,6 @@ import ( "database/sql/driver" "fmt" "reflect" - "runtime" "strings" "testing" "time" @@ -63,6 +62,10 @@ func exec(t *testing.T, db *DB, query string, args ...interface{}) { } func closeDB(t *testing.T, db *DB) { + if e := recover(); e != nil { + fmt.Printf("Panic: %v\n", e) + panic(e) + } err := db.Close() if err != nil { t.Fatalf("error closing DB: %v", err) @@ -448,10 +451,8 @@ func TestIssue2542Deadlock(t *testing.T) { } } +// From golang.org/issue/3865 func TestCloseStmtBeforeRows(t *testing.T) { - t.Skip("known broken test; golang.org/issue/3865") - return - db := newTestDB(t, "people") defer closeDB(t, db) @@ -666,8 +667,3 @@ func nullTestRun(t *testing.T, spec nullTestSpec) { } } } - -func stack() string { - buf := make([]byte, 1024) - return string(buf[:runtime.Stack(buf, false)]) -} -- cgit v1.3