@@ -264,30 +264,32 @@ def connect *args
264
264
} . should raise_error ( Mysql2 ::Error )
265
265
end
266
266
267
- # XXX this test is not deterministic (because Unix signal handling is not)
268
- # and may fail on a loaded system
269
- it "should run signal handlers while waiting for a response" do
270
- mark = { }
271
- trap ( :USR1 ) { mark [ :USR1 ] = Time . now }
272
- begin
273
- mark [ :START ] = Time . now
274
- pid = fork do
275
- sleep 1 # wait for client "SELECT sleep(2)" query to start
276
- Process . kill ( :USR1 , Process . ppid )
277
- sleep # wait for explicit kill to prevent GC disconnect
267
+ if !defined? Rubinius
268
+ # XXX this test is not deterministic (because Unix signal handling is not)
269
+ # and may fail on a loaded system
270
+ it "should run signal handlers while waiting for a response" do
271
+ mark = { }
272
+ trap ( :USR1 ) { mark [ :USR1 ] = Time . now }
273
+ begin
274
+ mark [ :START ] = Time . now
275
+ pid = fork do
276
+ sleep 1 # wait for client "SELECT sleep(2)" query to start
277
+ Process . kill ( :USR1 , Process . ppid )
278
+ sleep # wait for explicit kill to prevent GC disconnect
279
+ end
280
+ @client . query ( "SELECT sleep(2)" )
281
+ mark [ :END ] = Time . now
282
+ mark . include? ( :USR1 ) . should be_true
283
+ ( mark [ :USR1 ] - mark [ :START ] ) . should >= 1
284
+ ( mark [ :USR1 ] - mark [ :START ] ) . should < 1.3
285
+ ( mark [ :END ] - mark [ :USR1 ] ) . should > 0.9
286
+ ( mark [ :END ] - mark [ :START ] ) . should >= 2
287
+ ( mark [ :END ] - mark [ :START ] ) . should < 2.3
288
+ Process . kill ( :TERM , pid )
289
+ Process . waitpid2 ( pid )
290
+ ensure
291
+ trap ( :USR1 , 'DEFAULT' )
278
292
end
279
- @client . query ( "SELECT sleep(2)" )
280
- mark [ :END ] = Time . now
281
- mark . include? ( :USR1 ) . should be_true
282
- ( mark [ :USR1 ] - mark [ :START ] ) . should >= 1
283
- ( mark [ :USR1 ] - mark [ :START ] ) . should < 1.3
284
- ( mark [ :END ] - mark [ :USR1 ] ) . should > 0.9
285
- ( mark [ :END ] - mark [ :START ] ) . should >= 2
286
- ( mark [ :END ] - mark [ :START ] ) . should < 2.3
287
- Process . kill ( :TERM , pid )
288
- Process . waitpid2 ( pid )
289
- ensure
290
- trap ( :USR1 , 'DEFAULT' )
291
293
end
292
294
end
293
295
0 commit comments