diff --git a/test/integration/puma/plugin_testing.rb b/test/integration/puma/plugin_testing.rb index 14165c9b8..ccabd231b 100644 --- a/test/integration/puma/plugin_testing.rb +++ b/test/integration/puma/plugin_testing.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "test_helper" +require "socket" module PluginTesting extend ActiveSupport::Concern @@ -12,10 +13,12 @@ module PluginTesting setup do FileUtils.mkdir_p Rails.root.join("tmp", "pids") + @port = find_available_port + Dir.chdir("test/dummy") do cmd = %W[ bundle exec puma - -b tcp://127.0.0.1:9222 + -b tcp://127.0.0.1:#{@port} -C config/puma_#{solid_queue_mode}.rb -s config.ru @@ -57,4 +60,11 @@ module PluginTesting def solid_queue_mode raise NotImplementedError end + + def find_available_port + server = TCPServer.new("127.0.0.1", 0) + server.addr[1] + ensure + server&.close + end end