Skip to content

Commit

Permalink
Add test_not_drain_on_shutdown
Browse files Browse the repository at this point in the history
  • Loading branch information
wjordan committed Apr 17, 2021
1 parent a9be045 commit 2fa45e8
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions test/test_puma_server.rb
Expand Up @@ -1190,17 +1190,29 @@ def test_custom_io_selector
assert_equal selector.backend, backend
end

def test_drain_on_shutdown
def test_drain_on_shutdown(drain=true)
num_connections = 10

wait = Queue.new
server_run(drain_on_shutdown: true, max_threads: 1) do
server_run(drain_on_shutdown: drain, max_threads: 1) do
wait.pop
[200, {}, ["DONE"]]
end
connections = Array.new(10) {send_http "GET / HTTP/1.0\r\n\r\n"}
connections = Array.new(num_connections) {send_http "GET / HTTP/1.0\r\n\r\n"}
@server.stop
wait.close
bad = 0
connections.each do |s|
assert_match 'DONE', s.read
begin
assert_match 'DONE', s.read
rescue Errno::ECONNRESET
bad += 1
end
end
assert_equal drain ? 0 : num_connections - 2, bad
end

def test_not_drain_on_shutdown
test_drain_on_shutdown false
end
end

0 comments on commit 2fa45e8

Please sign in to comment.