Skip to content

Commit 47bdeef

Browse files
committed
do not defer rows.Close until TestMSSQLTypes is finished
This allows driver to reuse the same connection for all tests of TestMSSQLTypes. That makes TestMSSQLTypes faster. Updates alexbrainman#81
1 parent 9f8c46d commit 47bdeef

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

mssql_test.go

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -715,30 +715,31 @@ func TestMSSQLTypes(t *testing.T) {
715715
tests = append(tests, typeMSSQL2008Tests...)
716716
}
717717
for _, r := range tests {
718-
719-
rows, err := db.Query(r.query)
720-
if err != nil {
721-
t.Errorf("db.Query(%q) failed: %v", r.query, err)
722-
continue
723-
}
724-
defer rows.Close()
725-
for rows.Next() {
726-
var got interface{}
727-
err := rows.Scan(&got)
718+
func() {
719+
rows, err := db.Query(r.query)
728720
if err != nil {
729-
t.Errorf("rows.Scan for %q failed: %v", r.query, err)
730-
continue
721+
t.Errorf("db.Query(%q) failed: %v", r.query, err)
722+
return
731723
}
732-
err = r.match(got)
724+
defer rows.Close()
725+
for rows.Next() {
726+
var got interface{}
727+
err := rows.Scan(&got)
728+
if err != nil {
729+
t.Errorf("rows.Scan for %q failed: %v", r.query, err)
730+
return
731+
}
732+
err = r.match(got)
733+
if err != nil {
734+
t.Errorf("test %q failed: %v", r.query, err)
735+
}
736+
}
737+
err = rows.Err()
733738
if err != nil {
734-
t.Errorf("test %q failed: %v", r.query, err)
739+
t.Error(err)
740+
return
735741
}
736-
}
737-
err = rows.Err()
738-
if err != nil {
739-
t.Error(err)
740-
continue
741-
}
742+
}()
742743
}
743744

744745
for _, query := range typeTestsToFail {

0 commit comments

Comments
 (0)