@@ -160,7 +160,7 @@ def _check_roundtrip(self, frame):
160
160
sql .write_frame (frame , name = 'test_table' , con = self .db )
161
161
result = sql .read_frame ("select * from test_table" , self .db )
162
162
163
- # HACK!
163
+ # HACK! Change this once indexes are handled properly.
164
164
result .index = frame .index
165
165
166
166
expected = frame
@@ -175,6 +175,8 @@ def _check_roundtrip(self, frame):
175
175
expected = frame .copy ()
176
176
expected .index = Index (range (len (frame2 ))) + 10
177
177
expected .index .name = 'Idx'
178
+ print expected .index .names
179
+ print result .index .names
178
180
tm .assert_frame_equal (expected , result )
179
181
180
182
def test_tquery (self ):
@@ -239,20 +241,27 @@ def test_onecolumn_of_integer(self):
239
241
class TestMySQL (unittest .TestCase ):
240
242
241
243
def setUp (self ):
244
+ _skip_if_no_MySQLdb ()
245
+ import MySQLdb
242
246
try :
243
- import MySQLdb
244
- except ImportError :
245
- raise nose .SkipTest
247
+ # Try Travis defaults.
248
+ # No real user should allow root access with a blank password.
249
+ self .db = MySQLdb .connect (host = 'localhost' , user = 'root' , passwd = '' ,
250
+ db = 'pandas_nosetest' )
251
+ except :
252
+ pass
253
+ else :
254
+ return
246
255
try :
247
256
self .db = MySQLdb .connect (read_default_group = 'pandas' )
248
- except MySQLdb .Error , e :
257
+ except MySQLdb .ProgrammingError , e :
249
258
raise nose .SkipTest (
250
- "Cannot connect to database. "
251
259
"Create a group of connection parameters under the heading "
252
260
"[pandas] in your system's mysql default file, "
253
261
"typically located at ~/.my.cnf or /etc/.my.cnf. " )
254
- except MySQLdb .ProgrammingError , e :
262
+ except MySQLdb .Error , e :
255
263
raise nose .SkipTest (
264
+ "Cannot connect to database. "
256
265
"Create a group of connection parameters under the heading "
257
266
"[pandas] in your system's mysql default file, "
258
267
"typically located at ~/.my.cnf or /etc/.my.cnf. " )
@@ -383,23 +392,28 @@ def _check_roundtrip(self, frame):
383
392
sql .write_frame (frame , name = 'test_table' , con = self .db , flavor = 'mysql' )
384
393
result = sql .read_frame ("select * from test_table" , self .db )
385
394
386
- # HACK!
395
+ # HACK! Change this once indexes are handled properly.
387
396
result .index = frame .index
397
+ result .index .name = frame .index .name
388
398
389
399
expected = frame
390
400
tm .assert_frame_equal (result , expected )
391
401
392
402
frame ['txt' ] = ['a' ] * len (frame )
393
403
frame2 = frame .copy ()
394
- frame2 ['Idx' ] = Index (range (len (frame2 ))) + 10
404
+ index = Index (range (len (frame2 ))) + 10
405
+ frame2 ['Idx' ] = index
395
406
drop_sql = "DROP TABLE IF EXISTS test_table2"
396
407
cur = self .db .cursor ()
397
408
cur .execute (drop_sql )
398
409
sql .write_frame (frame2 , name = 'test_table2' , con = self .db , flavor = 'mysql' )
399
410
result = sql .read_frame ("select * from test_table2" , self .db ,
400
411
index_col = 'Idx' )
401
412
expected = frame .copy ()
402
- expected .index = Index (range (len (frame2 ))) + 10
413
+
414
+ # HACK! Change this once indexes are handled properly.
415
+ expected .index = index
416
+ expected .index .names = result .index .names
403
417
tm .assert_frame_equal (expected , result )
404
418
405
419
def test_tquery (self ):
0 commit comments