From 8ccdb2c214af5e26fa76e71108a0f011aa75832c Mon Sep 17 00:00:00 2001 From: MSP-Greg Date: Wed, 22 Jul 2020 10:04:36 -0500 Subject: [PATCH] Use port 0 - test_persistent.rb, test_puma_server.rb, test_puma_server_ssl.rb add_tcp_listener and add_ssl_listener both return a TCPServer, from which the port can be retrieved. --- test/test_persistent.rb | 4 +--- test/test_puma_server.rb | 14 +++++--------- test/test_puma_server_ssl.rb | 5 ++--- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/test/test_persistent.rb b/test/test_persistent.rb index 2e4c77e9..fa04ca37 100644 --- a/test/test_persistent.rb +++ b/test/test_persistent.rb @@ -23,10 +23,8 @@ class TestPersistent < Minitest::Test [status, @headers, @body] end - @port = UniquePort.call - @server = Puma::Server.new @simple - @server.add_tcp_listener HOST, @port + @port = (@server.add_tcp_listener HOST, 0).addr[1] @server.max_threads = 1 @server.run diff --git a/test/test_puma_server.rb b/test/test_puma_server.rb index 58cd2f9b..5f8441c0 100644 --- a/test/test_puma_server.rb +++ b/test/test_puma_server.rb @@ -6,7 +6,6 @@ class TestPumaServer < Minitest::Test parallelize_me! def setup - @port = 0 @host = "127.0.0.1" @ios = [] @@ -24,7 +23,7 @@ class TestPumaServer < Minitest::Test def server_run(app: @app, early_hints: false) @server.app = app - @server.add_tcp_listener @host, @port + @port = (@server.add_tcp_listener @host, 0).addr[1] @server.early_hints = true if early_hints @server.run end @@ -49,8 +48,7 @@ class TestPumaServer < Minitest::Test end def new_connection - port = @server.connected_ports[0] - TCPSocket.new(@host, port).tap {|sock| @ios << sock} + TCPSocket.new(@host, @port).tap {|sock| @ios << sock} end def test_proper_stringio_body @@ -138,8 +136,7 @@ class TestPumaServer < Minitest::Test req = Net::HTTP::Get.new '/' req['HOST'] = 'example.com' - port = @server.connected_ports[0] - res = Net::HTTP.start @host, port do |http| + res = Net::HTTP.start @host, @port do |http| http.request(req) end @@ -155,8 +152,7 @@ class TestPumaServer < Minitest::Test req['HOST'] = "example.com" req['X-FORWARDED-PROTO'] = "https,http" - port = @server.connected_ports[0] - res = Net::HTTP.start @host, port do |http| + res = Net::HTTP.start @host, @port do |http| http.request(req) end @@ -1024,7 +1020,7 @@ EOF end def stub_accept_nonblock(error) - @server.add_tcp_listener @host, @port + @port = (@server.add_tcp_listener @host, 0).addr[1] io = @server.binder.ios.last accept_old = io.method(:accept_nonblock) accept_stub = -> do diff --git a/test/test_puma_server_ssl.rb b/test/test_puma_server_ssl.rb index 584ab44f..4fa42476 100644 --- a/test/test_puma_server_ssl.rb +++ b/test/test_puma_server_ssl.rb @@ -47,7 +47,6 @@ class TestPumaServerSSL < Minitest::Test # yields ctx to block, use for ctx setup & configuration def start_server - @port = 0 @host = "127.0.0.1" app = lambda { |env| [200, {}, [env['rack.url_scheme']]] } @@ -68,10 +67,10 @@ class TestPumaServerSSL < Minitest::Test @events = SSLEventsHelper.new STDOUT, STDERR @server = Puma::Server.new app, @events - @ssl_listener = @server.add_ssl_listener @host, @port, ctx + @port = (@server.add_ssl_listener @host, 0, ctx).addr[1] @server.run - @http = Net::HTTP.new @host, @server.connected_ports[0] + @http = Net::HTTP.new @host, @port @http.use_ssl = true @http.verify_mode = OpenSSL::SSL::VERIFY_NONE end