aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2014-10-31 09:49:42 -0700
committerIan Lance Taylor <iant@golang.org>2014-10-31 09:49:42 -0700
commit9dc1cce38db0229e97c1ee8d9929f0457f1af385 (patch)
tree058990af3901b58c61d616ce648aa2d674b59170
parent2074046d00719c0ec0cbc4857726e9a55b71b63f (diff)
downloadgo-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.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 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