From d39a7243be2925057e87372e3a01c3deda5b558d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 5 Apr 2009 19:56:31 -0700 Subject: Add test for :preload_app config option --- TODO | 2 -- test/unit/test_server.rb | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index 2241ff9..e572d0a 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,5 @@ == 1.0.0 - * tests for preload_app boolean - * reexec_worker_processes config option: This is the number of worker processes to startup initially when being reexecuted. diff --git a/test/unit/test_server.rb b/test/unit/test_server.rb index eadeba4..3ab6b2d 100644 --- a/test/unit/test_server.rb +++ b/test/unit/test_server.rb @@ -35,6 +35,44 @@ class WebServerTest < Test::Unit::TestCase end end + def test_preload_app_config + teardown + port = unused_port + tmp = Tempfile.new('test_preload_app_config') + ObjectSpace.undefine_finalizer(tmp) + app = lambda { || + tmp.sysseek(0) + tmp.truncate(0) + tmp.syswrite($$) + lambda { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ "#$$\n" ] ] } + } + redirect_test_io do + @server = HttpServer.new(app, :listeners => [ "127.0.0.1:#{port}"] ) + @server.start + end + results = hit(["http://localhost:#{port}/"]) + worker_pid = results[0].to_i + tmp.sysseek(0) + loader_pid = tmp.sysread(4096).to_i + assert_equal worker_pid, loader_pid + teardown + + port = unused_port + redirect_test_io do + @server = HttpServer.new(app, :listeners => [ "127.0.0.1:#{port}"], + :preload_app => true) + @server.start + end + results = hit(["http://localhost:#{port}/"]) + worker_pid = results[0].to_i + tmp.sysseek(0) + loader_pid = tmp.sysread(4096).to_i + assert_equal $$, loader_pid + assert worker_pid != loader_pid + ensure + tmp.close! + end + def test_broken_app teardown port = unused_port -- cgit v1.2.3-24-ge0c7