summaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2014-10-31 09:49:42 -0700
committerBrad Fitzpatrick <bradfitz@golang.org>2014-10-31 09:49:42 -0700
commit8a01a805c2511aed824df2156c7ab35eb1babdb3 (patch)
tree80601aecd3a040aee33cef30c8c08ca63a53a066 /src/database
parent9577e06a0c9cdf9773e59da16db3550763f12f23 (diff)
downloadgo-8a01a805c2511aed824df2156c7ab35eb1babdb3.tar.gz
database/sql: make TestDrivers not crash on second run
Using -test.cpu=1,1 made it crash before. Fixes Issue 9024 LGTM=iant R=adg, iant CC=golang-codereviews https://codereview.appspot.com/169860043 Committer: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/database')
-rw-r--r--src/database/sql/fakedb_test.go2
-rw-r--r--src/database/sql/sql.go5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/database/sql/fakedb_test.go b/src/database/sql/fakedb_test.go
index 171c322d4..a993fd46e 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 ad9179cf7..6e6f246ae 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