diff options
author | Brad Fitzpatrick <bradfitz@golang.org> | 2014-10-31 09:49:42 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2014-10-31 09:49:42 -0700 |
commit | 9dc1cce38db0229e97c1ee8d9929f0457f1af385 (patch) | |
tree | 058990af3901b58c61d616ce648aa2d674b59170 | |
parent | 2074046d00719c0ec0cbc4857726e9a55b71b63f (diff) | |
download | go-9dc1cce38db0229e97c1ee8d9929f0457f1af385.tar.gz go-9dc1cce38db0229e97c1ee8d9929f0457f1af385.zip |
database/sql: make TestDrivers not crash on second run
Using -test.cpu=1,1 made it crash before.
Fixes #9024
LGTM=iant
R=adg, iant
CC=golang-codereviews
https://golang.org/cl/169860043
-rw-r--r-- | src/database/sql/fakedb_test.go | 2 | ||||
-rw-r--r-- | src/database/sql/sql.go | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/database/sql/fakedb_test.go b/src/database/sql/fakedb_test.go index 171c322d49..a993fd46ed 100644 --- a/src/database/sql/fakedb_test.go +++ b/src/database/sql/fakedb_test.go @@ -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") { diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index ad9179cf7d..6e6f246aee 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -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 |