@@ -42,6 +42,55 @@ func init() {
42
42
}
43
43
}
44
44
45
+ type DBTest struct {
46
+ * testing.T
47
+ db * sql.DB
48
+ }
49
+
50
+ func runTests (t * testing.T , name , dsn string , tests ... func (dbt * DBTest )) {
51
+ if ! available {
52
+ t .Logf ("MySQL-Server not running on %s. Skipping %s" , netAddr , name )
53
+ return
54
+ }
55
+
56
+ db , err := sql .Open ("mysql" , dsn )
57
+ if err != nil {
58
+ t .Fatalf ("Error connecting: %v" , err )
59
+ }
60
+ defer db .Close ()
61
+
62
+ db .Exec ("DROP TABLE IF EXISTS test" )
63
+
64
+ dbt := & DBTest {t , db }
65
+ for _ , test := range tests {
66
+ test (dbt )
67
+ dbt .db .Exec ("DROP TABLE IF EXISTS test" )
68
+ }
69
+ }
70
+
71
+ func (dbt * DBTest ) fail (method , query string , err error ) {
72
+ if len (query ) > 300 {
73
+ query = "[query too large to print]"
74
+ }
75
+ dbt .Fatalf ("Error on %s %s: %v" , method , query , err )
76
+ }
77
+
78
+ func (dbt * DBTest ) mustExec (query string , args ... interface {}) (res sql.Result ) {
79
+ res , err := dbt .db .Exec (query , args ... )
80
+ if err != nil {
81
+ dbt .fail ("Exec" , query , err )
82
+ }
83
+ return res
84
+ }
85
+
86
+ func (dbt * DBTest ) mustQuery (query string , args ... interface {}) (rows * sql.Rows ) {
87
+ rows , err := dbt .db .Query (query , args ... )
88
+ if err != nil {
89
+ dbt .fail ("Query" , query , err )
90
+ }
91
+ return rows
92
+ }
93
+
45
94
func TestCharset (t * testing.T ) {
46
95
mustSetCharset := func (charsetParam , expected string ) {
47
96
db , err := sql .Open ("mysql" , strings .Replace (dsn , charset , charsetParam , 1 ))
@@ -101,55 +150,6 @@ func TestFailingCharset(t *testing.T) {
101
150
}
102
151
}
103
152
104
- type DBTest struct {
105
- * testing.T
106
- db * sql.DB
107
- }
108
-
109
- func runTests (t * testing.T , name , dsn string , tests ... func (dbt * DBTest )) {
110
- if ! available {
111
- t .Logf ("MySQL-Server not running on %s. Skipping %s" , netAddr , name )
112
- return
113
- }
114
-
115
- db , err := sql .Open ("mysql" , dsn )
116
- if err != nil {
117
- t .Fatalf ("Error connecting: %v" , err )
118
- }
119
- defer db .Close ()
120
-
121
- db .Exec ("DROP TABLE IF EXISTS test" )
122
-
123
- dbt := & DBTest {t , db }
124
- for _ , test := range tests {
125
- test (dbt )
126
- dbt .db .Exec ("DROP TABLE IF EXISTS test" )
127
- }
128
- }
129
-
130
- func (dbt * DBTest ) fail (method , query string , err error ) {
131
- if len (query ) > 300 {
132
- query = "[query too large to print]"
133
- }
134
- dbt .Fatalf ("Error on %s %s: %v" , method , query , err )
135
- }
136
-
137
- func (dbt * DBTest ) mustExec (query string , args ... interface {}) (res sql.Result ) {
138
- res , err := dbt .db .Exec (query , args ... )
139
- if err != nil {
140
- dbt .fail ("Exec" , query , err )
141
- }
142
- return res
143
- }
144
-
145
- func (dbt * DBTest ) mustQuery (query string , args ... interface {}) (rows * sql.Rows ) {
146
- rows , err := dbt .db .Query (query , args ... )
147
- if err != nil {
148
- dbt .fail ("Query" , query , err )
149
- }
150
- return rows
151
- }
152
-
153
153
func TestRawBytesResultExceedsBuffer (t * testing.T ) {
154
154
runTests (t , "TestRawBytesResultExceedsBuffer" , dsn , func (dbt * DBTest ) {
155
155
// defaultBufSize from buffer.go
0 commit comments