diff options
author | Russ Cox <rsc@golang.org> | 2014-10-15 13:10:14 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-10-15 13:10:14 -0400 |
commit | ae4161ab2a8b51aca660c5ab6b23dd277aa77044 (patch) | |
tree | c2f3a5c74e46db0ef7400282fea23c1eb66f342a /src/database/sql/fakedb_test.go | |
parent | dad1b5c702a5408d47fdc7d622913be348a22731 (diff) | |
download | go-ae4161ab2a8b51aca660c5ab6b23dd277aa77044.tar.gz |
database/sql: add Drivers, returning list of registered drivers
Fixes issue 7969.
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://codereview.appspot.com/158950043
Diffstat (limited to 'src/database/sql/fakedb_test.go')
-rw-r--r-- | src/database/sql/fakedb_test.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/database/sql/fakedb_test.go b/src/database/sql/fakedb_test.go index c7db0dd77..171c322d4 100644 --- a/src/database/sql/fakedb_test.go +++ b/src/database/sql/fakedb_test.go @@ -10,6 +10,7 @@ import ( "fmt" "io" "log" + "sort" "strconv" "strings" "sync" @@ -126,6 +127,27 @@ func init() { Register("test", fdriver) } +func contains(list []string, y string) bool { + for _, x := range list { + if x == y { + return true + } + } + return false +} + +type Dummy struct { + driver.Driver +} + +func TestDrivers(t *testing.T) { + Register("invalid", Dummy{}) + all := Drivers() + if len(all) < 2 || !sort.StringsAreSorted(all) || !contains(all, "test") || !contains(all, "invalid") { + t.Fatalf("Drivers = %v, want sorted list with at least [invalid, test]", all) + } +} + // Supports dsn forms: // <dbname> // <dbname>;<opts> (only currently supported option is `badConn`, |