@@ -31,6 +31,16 @@ import (
3131 "time"
3232)
3333
34+ // This variable can be replaced with -ldflags like below:
35+ // go test "-ldflags=-X github.com/go-sql-driver/mysql_test.driverNameTest=custom"
36+ var driverNameTest string
37+
38+ func init () {
39+ if driverNameTest == "" {
40+ driverNameTest = driverName
41+ }
42+ }
43+
3444// Ensure that all the driver interfaces are implemented
3545var (
3646 _ driver.Rows = & binaryRows {}
@@ -111,7 +121,7 @@ func runTestsWithMultiStatement(t *testing.T, dsn string, tests ...func(dbt *DBT
111121 dsn += "&multiStatements=true"
112122 var db * sql.DB
113123 if _ , err := ParseDSN (dsn ); err != errInvalidDSNUnsafeCollation {
114- db , err = sql .Open ("mysql" , dsn )
124+ db , err = sql .Open (driverNameTest , dsn )
115125 if err != nil {
116126 t .Fatalf ("error connecting: %s" , err .Error ())
117127 }
@@ -130,7 +140,7 @@ func runTests(t *testing.T, dsn string, tests ...func(dbt *DBTest)) {
130140 t .Skipf ("MySQL server not running on %s" , netAddr )
131141 }
132142
133- db , err := sql .Open ("mysql" , dsn )
143+ db , err := sql .Open (driverNameTest , dsn )
134144 if err != nil {
135145 t .Fatalf ("error connecting: %s" , err .Error ())
136146 }
@@ -141,7 +151,7 @@ func runTests(t *testing.T, dsn string, tests ...func(dbt *DBTest)) {
141151 dsn2 := dsn + "&interpolateParams=true"
142152 var db2 * sql.DB
143153 if _ , err := ParseDSN (dsn2 ); err != errInvalidDSNUnsafeCollation {
144- db2 , err = sql .Open ("mysql" , dsn2 )
154+ db2 , err = sql .Open (driverNameTest , dsn2 )
145155 if err != nil {
146156 t .Fatalf ("error connecting: %s" , err .Error ())
147157 }
@@ -1917,7 +1927,7 @@ func testDialError(t *testing.T, dialErr error, expectErr error) {
19171927 return nil , dialErr
19181928 })
19191929
1920- db , err := sql .Open ("mysql" , fmt .Sprintf ("%s:%s@mydial(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
1930+ db , err := sql .Open (driverNameTest , fmt .Sprintf ("%s:%s@mydial(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
19211931 if err != nil {
19221932 t .Fatalf ("error connecting: %s" , err .Error ())
19231933 }
@@ -1956,7 +1966,7 @@ func TestCustomDial(t *testing.T) {
19561966 return d .DialContext (ctx , prot , addr )
19571967 })
19581968
1959- db , err := sql .Open ("mysql" , fmt .Sprintf ("%s:%s@mydial(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
1969+ db , err := sql .Open (driverNameTest , fmt .Sprintf ("%s:%s@mydial(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
19601970 if err != nil {
19611971 t .Fatalf ("error connecting: %s" , err .Error ())
19621972 }
@@ -2054,7 +2064,7 @@ func TestUnixSocketAuthFail(t *testing.T) {
20542064 }
20552065 t .Logf ("socket: %s" , socket )
20562066 badDSN := fmt .Sprintf ("%s:%s@unix(%s)/%s?timeout=30s" , user , badPass , socket , dbname )
2057- db , err := sql .Open ("mysql" , badDSN )
2067+ db , err := sql .Open (driverNameTest , badDSN )
20582068 if err != nil {
20592069 t .Fatalf ("error connecting: %s" , err .Error ())
20602070 }
@@ -2243,7 +2253,7 @@ func TestEmptyPassword(t *testing.T) {
22432253 }
22442254
22452255 dsn := fmt .Sprintf ("%s:%s@%s/%s?timeout=30s" , user , "" , netAddr , dbname )
2246- db , err := sql .Open ("mysql" , dsn )
2256+ db , err := sql .Open (driverNameTest , dsn )
22472257 if err == nil {
22482258 defer db .Close ()
22492259 err = db .Ping ()
@@ -3210,7 +3220,7 @@ func TestConnectorObeysDialTimeouts(t *testing.T) {
32103220 return d .DialContext (ctx , prot , addr )
32113221 })
32123222
3213- db , err := sql .Open ("mysql" , fmt .Sprintf ("%s:%s@dialctxtest(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
3223+ db , err := sql .Open (driverNameTest , fmt .Sprintf ("%s:%s@dialctxtest(%s)/%s?timeout=30s" , user , pass , addr , dbname ))
32143224 if err != nil {
32153225 t .Fatalf ("error connecting: %s" , err .Error ())
32163226 }
@@ -3375,7 +3385,7 @@ func TestConnectionAttributes(t *testing.T) {
33753385
33763386 var db * sql.DB
33773387 if _ , err := ParseDSN (dsn ); err != errInvalidDSNUnsafeCollation {
3378- db , err = sql .Open ("mysql" , dsn )
3388+ db , err = sql .Open (driverNameTest , dsn )
33793389 if err != nil {
33803390 t .Fatalf ("error connecting: %s" , err .Error ())
33813391 }
0 commit comments