<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -59,11 +59,12 @@ class RailsFCGIHandlerTest &lt; Test::Unit::TestCase
     @handler.process!
   end
 
-  def test_restart_handler
+  def test_restart_handler_outside_request
     @handler.expects(:dispatcher_log).with(:info, &quot;asked to restart ASAP&quot;)
+    @handler.expects(:restart!).once
 
     @handler.send(:restart_handler, nil)
-    assert_equal :restart, @handler.when_ready
+    assert_equal nil, @handler.when_ready
   end
 
   def test_install_signal_handler_should_log_on_bad_signal
@@ -131,7 +132,7 @@ class RailsFCGIHandlerSignalsTest &lt; Test::Unit::TestCase
   def test_interrupted_via_HUP_when_not_in_request
     cgi = mock
     FCGI.expects(:each_cgi).once.yields(cgi)
-    @handler.expects(:gc_countdown).returns { Process.kill 'HUP', $$ }
+    @handler.expects(:gc_countdown).returns(lambda { Process.kill 'HUP', $$ } )
 
     @handler.expects(:reload!).once
     @handler.expects(:close_connection).never
@@ -144,7 +145,7 @@ class RailsFCGIHandlerSignalsTest &lt; Test::Unit::TestCase
   def test_interrupted_via_HUP_when_in_request
     cgi = mock
     FCGI.expects(:each_cgi).once.yields(cgi)
-    Dispatcher.expects(:dispatch).with(cgi).returns { Process.kill 'HUP', $$ }
+    Dispatcher.expects(:dispatch).with(cgi).returns( lambda { Process.kill 'HUP', $$ } )
 
     @handler.expects(:reload!).once
     @handler.expects(:close_connection).never
@@ -157,7 +158,7 @@ class RailsFCGIHandlerSignalsTest &lt; Test::Unit::TestCase
   def test_interrupted_via_USR1_when_not_in_request
     cgi = mock
     FCGI.expects(:each_cgi).once.yields(cgi)
-    @handler.expects(:gc_countdown).returns { Process.kill 'USR1', $$ }
+    @handler.expects(:gc_countdown).returns( lambda { Process.kill 'USR1', $$ } )
     @handler.expects(:exit_handler).never
 
     @handler.expects(:reload!).never
@@ -171,7 +172,7 @@ class RailsFCGIHandlerSignalsTest &lt; Test::Unit::TestCase
   def test_interrupted_via_USR1_when_in_request
     cgi = mock
     FCGI.expects(:each_cgi).once.yields(cgi)
-    Dispatcher.expects(:dispatch).with(cgi).returns { Process.kill 'USR1', $$ }
+    Dispatcher.expects(:dispatch).with(cgi).returns( lambda { Process.kill 'USR1', $$ } )
 
     @handler.expects(:reload!).never
     @handler.expects(:close_connection).with(cgi).once
@@ -181,10 +182,25 @@ class RailsFCGIHandlerSignalsTest &lt; Test::Unit::TestCase
     assert_equal :exit, @handler.when_ready
   end
 
+  def test_restart_via_USR2_when_in_request
+    cgi = mock
+    FCGI.expects(:each_cgi).once.yields(cgi)
+    @handler.expects(:gc_countdown).returns( lambda { Process.kill 'USR2', $$ } )
+    @handler.expects(:exit_handler).never
+
+    @handler.expects(:reload!).never
+    @handler.expects(:close_connection).with(cgi).once
+    @handler.expects(:exit).never
+    @handler.expects(:restart!).once
+
+    @handler.process!
+    assert_equal :restart, @handler.when_ready
+  end
+
   def test_interrupted_via_TERM
     cgi = mock
     FCGI.expects(:each_cgi).once.yields(cgi)
-    Dispatcher.expects(:dispatch).with(cgi).returns { Process.kill 'TERM', $$ }
+    Dispatcher.expects(:dispatch).with(cgi).returns(lambda { Process.kill 'TERM', $$ })
 
     @handler.expects(:reload!).never
     @handler.expects(:close_connection).never</diff>
      <filename>railties/test/fcgi_dispatcher_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fdbb05170776ce6eb0cad1855760ace9c5d5d1e7</id>
    </parent>
  </parents>
  <author>
    <name>bitsweat</name>
    <email>bitsweat@5ecf4fe2-1ee6-0310-87b1-e25e094e27de</email>
  </author>
  <url>http://github.com/NZKoz/koz-rails/commit/5cfb940cad785cbf969849348029fa1f33dbd7a7</url>
  <id>5cfb940cad785cbf969849348029fa1f33dbd7a7</id>
  <committed-date>2008-04-03T13:00:33-07:00</committed-date>
  <authored-date>2008-04-03T13:00:33-07:00</authored-date>
  <message>Update fcgi dispatcher test cases. Closes #11471 [guillaume]


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9220 5ecf4fe2-1ee6-0310-87b1-e25e094e27de</message>
  <tree>778bbb91a17aadf6d89ec3613951bf6073022ff9</tree>
  <committer>
    <name>bitsweat</name>
    <email>bitsweat@5ecf4fe2-1ee6-0310-87b1-e25e094e27de</email>
  </committer>
</commit>
