@@ -177,7 +177,7 @@ def test_psubscribe_connection_usable_after_raise
177
177
end
178
178
179
179
def test_subscribe_within_subscribe
180
- @channels = [ ]
180
+ @channels = Queue . new
181
181
182
182
thread = new_thread do |r |
183
183
r . subscribe ( channel_name ) do |on |
@@ -192,7 +192,8 @@ def test_subscribe_within_subscribe
192
192
193
193
thread . join
194
194
195
- assert_equal [ channel_name , "bar" ] , @channels
195
+ assert_equal [ channel_name , "bar" ] , [ @channels . pop , @channels . pop ]
196
+ assert_empty @channels
196
197
end
197
198
198
199
def test_other_commands_within_a_subscribe
@@ -270,8 +271,7 @@ def test_psubscribe_with_timeout
270
271
def test_unsubscribe_from_another_thread
271
272
@unsubscribed = @subscribed = false
272
273
@subscribed_redis = nil
273
- @messages = [ ]
274
- @messages_count = 0
274
+ @messages = Queue . new
275
275
thread = new_thread do |r |
276
276
@subscribed_redis = r
277
277
r . subscribe ( channel_name ) do |on |
@@ -281,7 +281,6 @@ def test_unsubscribe_from_another_thread
281
281
282
282
on . message do |channel , message |
283
283
@messages << [ channel , message ]
284
- @messages_count += 1
285
284
end
286
285
287
286
on . unsubscribe do |_channel , _total |
@@ -293,16 +292,16 @@ def test_unsubscribe_from_another_thread
293
292
Thread . pass until @subscribed
294
293
295
294
redis . publish ( channel_name , "test" )
296
- Thread . pass until @messages_count == 1
297
- assert_equal [ channel_name , "test" ] , @messages . last
295
+ assert_equal [ channel_name , "test" ] , @messages . pop
296
+ assert_empty @messages
298
297
299
298
@subscribed_redis . unsubscribe # this shouldn't block
300
299
refute_nil thread . join ( 2 )
301
300
assert_equal true , @unsubscribed
302
301
end
303
302
304
303
def test_subscribe_from_another_thread
305
- @events = [ ]
304
+ @events = Queue . new
306
305
@subscribed_redis = nil
307
306
thread = new_thread do |r |
308
307
r . subscribe ( channel_name ) do |on |
@@ -339,7 +338,8 @@ def test_subscribe_from_another_thread
339
338
[ "unsubscribed" , channel_name ] ,
340
339
[ "unsubscribed" , "#{ channel_name } :2" ]
341
340
]
342
- assert_equal expected , @events
341
+ assert_equal ( expected , expected . map { @events . pop } )
342
+ assert_empty @events
343
343
end
344
344
345
345
private
0 commit comments