@@ -31,6 +31,16 @@ import (
31
31
"time"
32
32
)
33
33
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
+
34
44
// Ensure that all the driver interfaces are implemented
35
45
var (
36
46
_ driver.Rows = & binaryRows {}
@@ -111,7 +121,7 @@ func runTestsWithMultiStatement(t *testing.T, dsn string, tests ...func(dbt *DBT
111
121
dsn += "&multiStatements=true"
112
122
var db * sql.DB
113
123
if _ , err := ParseDSN (dsn ); err != errInvalidDSNUnsafeCollation {
114
- db , err = sql .Open ("mysql" , dsn )
124
+ db , err = sql .Open (driverNameTest , dsn )
115
125
if err != nil {
116
126
t .Fatalf ("error connecting: %s" , err .Error ())
117
127
}
@@ -130,7 +140,7 @@ func runTests(t *testing.T, dsn string, tests ...func(dbt *DBTest)) {
130
140
t .Skipf ("MySQL server not running on %s" , netAddr )
131
141
}
132
142
133
- db , err := sql .Open ("mysql" , dsn )
143
+ db , err := sql .Open (driverNameTest , dsn )
134
144
if err != nil {
135
145
t .Fatalf ("error connecting: %s" , err .Error ())
136
146
}
@@ -141,7 +151,7 @@ func runTests(t *testing.T, dsn string, tests ...func(dbt *DBTest)) {
141
151
dsn2 := dsn + "&interpolateParams=true"
142
152
var db2 * sql.DB
143
153
if _ , err := ParseDSN (dsn2 ); err != errInvalidDSNUnsafeCollation {
144
- db2 , err = sql .Open ("mysql" , dsn2 )
154
+ db2 , err = sql .Open (driverNameTest , dsn2 )
145
155
if err != nil {
146
156
t .Fatalf ("error connecting: %s" , err .Error ())
147
157
}
@@ -1917,7 +1927,7 @@ func testDialError(t *testing.T, dialErr error, expectErr error) {
1917
1927
return nil , dialErr
1918
1928
})
1919
1929
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 ))
1921
1931
if err != nil {
1922
1932
t .Fatalf ("error connecting: %s" , err .Error ())
1923
1933
}
@@ -1956,7 +1966,7 @@ func TestCustomDial(t *testing.T) {
1956
1966
return d .DialContext (ctx , prot , addr )
1957
1967
})
1958
1968
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 ))
1960
1970
if err != nil {
1961
1971
t .Fatalf ("error connecting: %s" , err .Error ())
1962
1972
}
@@ -2054,7 +2064,7 @@ func TestUnixSocketAuthFail(t *testing.T) {
2054
2064
}
2055
2065
t .Logf ("socket: %s" , socket )
2056
2066
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 )
2058
2068
if err != nil {
2059
2069
t .Fatalf ("error connecting: %s" , err .Error ())
2060
2070
}
@@ -2243,7 +2253,7 @@ func TestEmptyPassword(t *testing.T) {
2243
2253
}
2244
2254
2245
2255
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 )
2247
2257
if err == nil {
2248
2258
defer db .Close ()
2249
2259
err = db .Ping ()
@@ -3210,7 +3220,7 @@ func TestConnectorObeysDialTimeouts(t *testing.T) {
3210
3220
return d .DialContext (ctx , prot , addr )
3211
3221
})
3212
3222
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 ))
3214
3224
if err != nil {
3215
3225
t .Fatalf ("error connecting: %s" , err .Error ())
3216
3226
}
@@ -3375,7 +3385,7 @@ func TestConnectionAttributes(t *testing.T) {
3375
3385
3376
3386
var db * sql.DB
3377
3387
if _ , err := ParseDSN (dsn ); err != errInvalidDSNUnsafeCollation {
3378
- db , err = sql .Open ("mysql" , dsn )
3388
+ db , err = sql .Open (driverNameTest , dsn )
3379
3389
if err != nil {
3380
3390
t .Fatalf ("error connecting: %s" , err .Error ())
3381
3391
}
0 commit comments