diff options
author | Eric Wong <normalperson@yhbt.net> | 2009-04-05 19:56:31 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2009-04-05 19:56:31 -0700 |
commit | d39a7243be2925057e87372e3a01c3deda5b558d (patch) | |
tree | 8259ae24e26d0fde4845c257c2a8935eba32eadd /test/unit/test_server.rb | |
parent | 1501cd9ebb17a5178d9eaddc77fa4306614e869c (diff) | |
download | unicorn-d39a7243be2925057e87372e3a01c3deda5b558d.tar.gz |
Diffstat (limited to 'test/unit/test_server.rb')
-rw-r--r-- | test/unit/test_server.rb | 38 |
1 files changed, 38 insertions, 0 deletions
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 |