From b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb Mon Sep 17 00:00:00 2001 From: John W Higgins Date: Tue, 21 Jul 2020 10:50:16 -0700 Subject: [ruby/webrick] Fix shutdown_pipe test issue https://github.com/ruby/webrick/commit/9676704c60 --- test/webrick/test_server.rb | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'test/webrick') diff --git a/test/webrick/test_server.rb b/test/webrick/test_server.rb index aa40a72b0c..abe1ecca39 100644 --- a/test/webrick/test_server.rb +++ b/test/webrick/test_server.rb @@ -162,15 +162,26 @@ class TestWEBrickServer < Test::Unit::TestCase end def test_shutdown_pipe - pipe = IO.pipe - server = WEBrick::GenericServer.new( - :ShutdownPipe => pipe, - :BindAddress => '0.0.0.0', - :Port => 0, - :Logger => WEBrick::Log.new([], WEBrick::BasicLog::WARN)) - server_thread = Thread.start { server.start } - pipe.last.puts('') - assert_join_threads([server_thread]) + loop_count = 0 + server_threads = [] + loop do + loop_count += 1 + break if loop_count == 11 + + pipe = IO.pipe + server = WEBrick::GenericServer.new( + :ShutdownPipe => pipe, + :BindAddress => '0.0.0.0', + :Port => 0, + :Logger => WEBrick::Log.new([], WEBrick::BasicLog::WARN)) + server_threads << Thread.start { server.start } + sleep 0.1 until server.status == :Running || !server_threads.last.status + if server_threads.last.status + pipe.last.puts('') + break + end + end + assert_join_threads(server_threads) end def test_port_numbers -- cgit v1.2.3