]> Cypherpunks repositories - gostls13.git/commitdiff
database/sql: make TestDrivers not crash on second run
authorBrad Fitzpatrick <bradfitz@golang.org>
Fri, 31 Oct 2014 16:49:42 +0000 (09:49 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 31 Oct 2014 16:49:42 +0000 (09:49 -0700)
Using -test.cpu=1,1 made it crash before.

Fixes #9024

LGTM=iant
R=adg, iant
CC=golang-codereviews
https://golang.org/cl/169860043

src/database/sql/fakedb_test.go
src/database/sql/sql.go

index 171c322d49ac0796b6ddcd956526f68c337d3d8c..a993fd46ede488938419a84ea6c112b6e321a6cb 100644 (file)
@@ -141,6 +141,8 @@ type Dummy struct {
 }
 
 func TestDrivers(t *testing.T) {
+       unregisterAllDrivers()
+       Register("test", fdriver)
        Register("invalid", Dummy{})
        all := Drivers()
        if len(all) < 2 || !sort.StringsAreSorted(all) || !contains(all, "test") || !contains(all, "invalid") {
index ad9179cf7d7262e1f63d29f7823c8567eca62f9a..6e6f246aeecb745d6f7c567dfac6323073949dcf 100644 (file)
@@ -37,6 +37,11 @@ func Register(name string, driver driver.Driver) {
        drivers[name] = driver
 }
 
+func unregisterAllDrivers() {
+       // For tests.
+       drivers = make(map[string]driver.Driver)
+}
+
 // Drivers returns a sorted list of the names of the registered drivers.
 func Drivers() []string {
        var list []string