mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
database/sql: add Drivers, returning list of registered drivers
Fixes #7969. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/158950043
This commit is contained in:
parent
05c4b69f84
commit
5318a1b5b1
2 changed files with 33 additions and 0 deletions
|
|
@ -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`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue