Skip to content

Commit 0cf7840

Browse files
committed
Add spec to make sure :before_fork hook is not called when the worker isn't going to fork.
1 parent 127a972 commit 0cf7840

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

test/worker_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,19 @@ def self.perform
450450
assert $BEFORE_FORK_CALLED == workerA.will_fork?
451451
end
452452

453+
it "Will not call a before_fork hook when the worker can't fork" do
454+
Resque.redis.flushall
455+
$BEFORE_FORK_CALLED = false
456+
Resque.before_fork = Proc.new { $BEFORE_FORK_CALLED = true }
457+
workerA = Resque::Worker.new(:jobs)
458+
workerA.cant_fork = true
459+
460+
assert !$BEFORE_FORK_CALLED, "before_fork should not have been called before job runs"
461+
Resque::Job.create(:jobs, SomeJob, 20, '/tmp')
462+
workerA.work(0)
463+
assert !$BEFORE_FORK_CALLED, "before_fork should not have been called after job runs"
464+
end
465+
453466
it "Will not call a before_fork hook when the worker can't fork" do
454467
Resque.redis.flushall
455468
$BEFORE_FORK_CALLED = false

0 commit comments

Comments
 (0)