mysqlplus/test/out_of_sync_test.rb

35 lines
774 B
Ruby
Raw Normal View History

2008-10-02 00:56:10 +00:00
require File.dirname(__FILE__) + '/test_helper'
m = Mysql.real_connect('localhost','root')
m.reconnect = true
$count = 0
2008-10-02 00:56:10 +00:00
class << m
def safe_query( query )
begin
send_query( query )
rescue => e
$count += 1
2008-10-02 00:56:10 +00:00
puts e.message
end
end
end
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.simulate_disconnect #fires mysql_library_end
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.close
m.connect('localhost','root')
m.safe_query( 'select sleep(1)' )
m.safe_query( 'select sleep(1)' )#raises
m.simulate_disconnect
raise unless $count == 3
m.safe_query( 'BEGIN' )
m.safe_query( 'select sleep(1)' ) # raises
m.get_result()
m.safe_query( 'COMMIT' )
m.get_result
raise unless $count == 4