1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00

Move test into separate file

This test was failing on Travis when run in parallel with other tests in
the TestIntegrationCluster test. Removing the line "parallelize_me!"
from the top of the file worked, but I chose to move the test into its own
file to keep the existing tests running in parallel.
This commit is contained in:
Tim Morgan 2020-02-13 13:59:16 -06:00
parent d89af859d3
commit c83401cfcf
2 changed files with 33 additions and 24 deletions

View file

@ -133,30 +133,6 @@ class TestIntegrationCluster < TestIntegration
worker_respawn { |phase0_worker_pids| Process.kill :USR1, @pid }
end
# It does not wipe out BUNDLE_GEMFILE et al
def test_usr2_restart_preserves_bundler_environment
@tcp_port = UniquePort.call
env = {
# Intentionally set this to something we wish to keep intact on restarts
"BUNDLE_GEMFILE" => "Gemfile.bundle_env_preservation_test",
# Don't allow our (rake test's) original env to interfere with the child process
"BUNDLER_ORIG_BUNDLE_GEMFILE" => nil
}
# Must use `bundle exec puma` here, because otherwise Bundler may not be defined, which is required to trigger the bug
cmd = "bundle exec puma -q -w 1 --prune-bundler -b tcp://#{HOST}:#{@tcp_port}"
Dir.chdir(File.expand_path("bundle_preservation_test", __dir__)) do
@server = IO.popen(env, cmd.split, "r")
end
wait_for_server_to_boot
@pid = @server.pid
connection = connect
initial_reply = read_body(connection)
assert_match("Gemfile.bundle_env_preservation_test", initial_reply)
restart_server connection
new_reply = read_body(connection)
assert_match("Gemfile.bundle_env_preservation_test", new_reply)
end
private
# Send requests 10 per second. Send 10, then :TERM server, then send another 30.

View file

@ -0,0 +1,33 @@
require_relative "helper"
require_relative "helpers/integration"
class TestPreserveBundlerEnv < TestIntegration
def setup
skip NO_FORK_MSG unless HAS_FORK
super
end
# It does not wipe out BUNDLE_GEMFILE et al
def test_usr2_restart_preserves_bundler_environment
@tcp_port = UniquePort.call
env = {
# Intentionally set this to something we wish to keep intact on restarts
"BUNDLE_GEMFILE" => "Gemfile.bundle_env_preservation_test",
# Don't allow our (rake test's) original env to interfere with the child process
"BUNDLER_ORIG_BUNDLE_GEMFILE" => nil
}
# Must use `bundle exec puma` here, because otherwise Bundler may not be defined, which is required to trigger the bug
cmd = "bundle exec puma -q -w 1 --prune-bundler -b tcp://#{HOST}:#{@tcp_port}"
Dir.chdir(File.expand_path("bundle_preservation_test", __dir__)) do
@server = IO.popen(env, cmd.split, "r")
end
wait_for_server_to_boot
@pid = @server.pid
connection = connect
initial_reply = read_body(connection)
assert_match("Gemfile.bundle_env_preservation_test", initial_reply)
restart_server connection
new_reply = read_body(connection)
assert_match("Gemfile.bundle_env_preservation_test", new_reply)
end
end