fixes run order in Rails::Queueing::TestQueue

This commit is contained in:
Vsevolod Romashov 2012-04-28 00:15:51 +04:00
parent cd50b60431
commit 9d630d4368
2 changed files with 14 additions and 1 deletions

@ -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

@ -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