@@ -450,6 +450,19 @@ def self.perform
450
450
assert $BEFORE_FORK_CALLED == workerA . will_fork?
451
451
end
452
452
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
+
453
466
it "Will not call a before_fork hook when the worker can't fork" do
454
467
Resque . redis . flushall
455
468
$BEFORE_FORK_CALLED = false
@@ -507,6 +520,19 @@ def self.perform
507
520
assert !$AFTER_FORK_CALLED
508
521
end
509
522
523
+ it "Will not call an after_fork hook when the worker can't fork" do
524
+ Resque . redis . flushall
525
+ $AFTER_FORK_CALLED = false
526
+ Resque . after_fork = Proc . new { $AFTER_FORK_CALLED = true }
527
+ workerA = Resque ::Worker . new ( :jobs )
528
+ workerA . cant_fork = true
529
+
530
+ assert !$AFTER_FORK_CALLED
531
+ Resque ::Job . create ( :jobs , SomeJob , 20 , '/tmp' )
532
+ workerA . work ( 0 )
533
+ assert !$AFTER_FORK_CALLED
534
+ end
535
+
510
536
it "returns PID of running process" do
511
537
assert_equal @worker . to_s . split ( ":" ) [ 1 ] . to_i , @worker . pid
512
538
end
0 commit comments