From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-1.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, URIBL_BLOCKED shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: yahns-public@yhbt.net Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 12069208B4; Wed, 16 Jul 2014 19:57:33 +0000 (UTC) From: Eric Wong To: yahns-public@yhbt.net Cc: e@80x24.org, EW Subject: [PATCH 1/2] test_server: avoid multiple workers for dead parent check Date: Wed, 16 Jul 2014 19:57:19 +0000 Message-Id: <1405540640-10669-2-git-send-email-e@80x24.org> X-Mailer: git-send-email 2.0.0.423.g7962671 In-Reply-To: <1405540640-10669-1-git-send-email-e@80x24.org> References: <1405540640-10669-1-git-send-email-e@80x24.org> List-Id: From: EW This test is less reliable when there are multiple workers as the second worker may not be ready to detect a dead parent. This is still a possible race if the master dies very quicklly before a worker is fully setup. --- test/test_server.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/test_server.rb b/test/test_server.rb index bd38ce3..69babb3 100644 --- a/test/test_server.rb +++ b/test/test_server.rb @@ -302,7 +302,7 @@ class TestServer < Testcase end def test_mp_dead_parent - pid, host, port = new_mp_server + pid, host, port = new_mp_server(1) wpid = nil run_client(host, port) do |res| wpid ||= res.body.to_i @@ -334,7 +334,7 @@ class TestServer < Testcase c.close end - def new_mp_server(nr = 1) + def new_mp_server(nr = 2) ru = @ru = tmpfile(%w(config .ru)) @ru.puts('a = $$.to_s') @ru.puts('run lambda { |_| [ 200, {"Content-Length"=>a.size.to_s},[a]]}') @@ -342,7 +342,7 @@ class TestServer < Testcase cfg = Yahns::Config.new host, port = @srv.addr[3], @srv.addr[1] cfg.instance_eval do - worker_processes 2 + worker_processes nr GTL.synchronize { app(:rack, ru.path) { listen "#{host}:#{port}" } } logger(Logger.new(File.open(err.path, "a"))) end -- EW