From 9d630d4368a2a8c0d7f1797486f1c3ad37e03185 Mon Sep 17 00:00:00 2001 From: Vsevolod Romashov <7@7vn.ru> Date: Sat, 28 Apr 2012 00:15:51 +0400 Subject: [PATCH 1/2] fixes run order in Rails::Queueing::TestQueue --- railties/lib/rails/queueing.rb | 2 +- railties/test/queueing/test_queue_test.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/railties/lib/rails/queueing.rb b/railties/lib/rails/queueing.rb index b77940f821ff2..4892f85ae1ee1 100644 --- a/railties/lib/rails/queueing.rb +++ b/railties/lib/rails/queueing.rb @@ -18,7 +18,7 @@ def drain # run the jobs in a separate thread so assumptions of synchronous # jobs are caught in test mode. t = Thread.new do - while job = @contents.pop + while job = @contents.shift job.run end end diff --git a/railties/test/queueing/test_queue_test.rb b/railties/test/queueing/test_queue_test.rb index de30e8cffd07e..46c6a1dc82ecb 100644 --- a/railties/test/queueing/test_queue_test.rb +++ b/railties/test/queueing/test_queue_test.rb @@ -25,6 +25,19 @@ def test_contents assert_equal [job], @queue.contents end + def test_order + time1 = time2 = nil + + job1 = Job.new(1) { time1 = Time.now } + job2 = Job.new(2) { time2 = Time.now } + + @queue.push job1 + @queue.push job2 + @queue.drain + + assert time1 < time2, "Jobs run in the same order they were added" + end + def test_drain t = nil ran = false From 804db94471b7f7d222fd7371de7443df86bfb7c8 Mon Sep 17 00:00:00 2001 From: Vsevolod Romashov <7@7vn.ru> Date: Sat, 28 Apr 2012 00:21:51 +0400 Subject: [PATCH 2/2] clean up empty lines --- railties/test/queueing/test_queue_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/railties/test/queueing/test_queue_test.rb b/railties/test/queueing/test_queue_test.rb index 46c6a1dc82ecb..3dfe586110f2e 100644 --- a/railties/test/queueing/test_queue_test.rb +++ b/railties/test/queueing/test_queue_test.rb @@ -27,14 +27,14 @@ def test_contents def test_order time1 = time2 = nil - + job1 = Job.new(1) { time1 = Time.now } job2 = Job.new(2) { time2 = Time.now } - + @queue.push job1 @queue.push job2 @queue.drain - + assert time1 < time2, "Jobs run in the same order they were added" end