From b068871e4ca352048faf8db13d600ccdc429718d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 18 Aug 2014 02:06:46 +0000 Subject: http: remove the keepalive requests limit This was a hack for some event loops such as those found in nginx and some Rainbows! concurrency models. Using epoll/kqueue with one-shot notification (which yahns does) avoids all fairness problems. --- test/unit/test_http_parser_ng.rb | 74 +--------------------------------------- 1 file changed, 1 insertion(+), 73 deletions(-) (limited to 'test') diff --git a/test/unit/test_http_parser_ng.rb b/test/unit/test_http_parser_ng.rb index ab335ac..9167845 100644 --- a/test/unit/test_http_parser_ng.rb +++ b/test/unit/test_http_parser_ng.rb @@ -8,7 +8,6 @@ include Unicorn class HttpParserNgTest < Test::Unit::TestCase def setup - HttpParser.keepalive_requests = HttpParser::KEEPALIVE_REQUESTS_DEFAULT @parser = HttpParser.new end @@ -29,25 +28,6 @@ class HttpParserNgTest < Test::Unit::TestCase assert_equal false, @parser.response_start_sent end - def test_keepalive_requests_default_constant - assert_kind_of Integer, HttpParser::KEEPALIVE_REQUESTS_DEFAULT - assert HttpParser::KEEPALIVE_REQUESTS_DEFAULT >= 0 - end - - def test_keepalive_requests_setting - HttpParser.keepalive_requests = 0 - assert_equal 0, HttpParser.keepalive_requests - HttpParser.keepalive_requests = nil - assert HttpParser.keepalive_requests >= 0xffffffff - HttpParser.keepalive_requests = 1 - assert_equal 1, HttpParser.keepalive_requests - HttpParser.keepalive_requests = 666 - assert_equal 666, HttpParser.keepalive_requests - - assert_raises(TypeError) { HttpParser.keepalive_requests = "666" } - assert_raises(TypeError) { HttpParser.keepalive_requests = [] } - end - def test_connection_TE @parser.buf << "GET / HTTP/1.1\r\nHost: example.com\r\nConnection: TE\r\n" @parser.buf << "TE: trailers\r\n\r\n" @@ -71,41 +51,11 @@ class HttpParserNgTest < Test::Unit::TestCase "REQUEST_METHOD" => "GET", "QUERY_STRING" => "" }.freeze - HttpParser::KEEPALIVE_REQUESTS_DEFAULT.times do |nr| - @parser.buf << req - assert_equal expect, @parser.parse - assert @parser.next? - end - @parser.buf << req - assert_equal expect, @parser.parse - assert ! @parser.next? - end - - def test_fewer_keepalive_requests_with_next? - HttpParser.keepalive_requests = 5 - @parser = HttpParser.new - req = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n".freeze - expect = { - "SERVER_NAME" => "example.com", - "HTTP_HOST" => "example.com", - "rack.url_scheme" => "http", - "REQUEST_PATH" => "/", - "SERVER_PROTOCOL" => "HTTP/1.1", - "PATH_INFO" => "/", - "HTTP_VERSION" => "HTTP/1.1", - "REQUEST_URI" => "/", - "SERVER_PORT" => "80", - "REQUEST_METHOD" => "GET", - "QUERY_STRING" => "" - }.freeze - 5.times do |nr| + 100.times do |nr| @parser.buf << req assert_equal expect, @parser.parse assert @parser.next? end - @parser.buf << req - assert_equal expect, @parser.parse - assert ! @parser.next? end def test_default_keepalive_is_off @@ -664,28 +614,6 @@ class HttpParserNgTest < Test::Unit::TestCase assert_equal "", @parser.buf end - def test_keepalive_requests_disabled - req = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n".freeze - expect = { - "SERVER_NAME" => "example.com", - "HTTP_HOST" => "example.com", - "rack.url_scheme" => "http", - "REQUEST_PATH" => "/", - "SERVER_PROTOCOL" => "HTTP/1.1", - "PATH_INFO" => "/", - "HTTP_VERSION" => "HTTP/1.1", - "REQUEST_URI" => "/", - "SERVER_PORT" => "80", - "REQUEST_METHOD" => "GET", - "QUERY_STRING" => "" - }.freeze - HttpParser.keepalive_requests = 0 - @parser = HttpParser.new - @parser.buf << req - assert_equal expect, @parser.parse - assert ! @parser.next? - end - def test_chunk_only tmp = "" assert_equal @parser, @parser.dechunk! -- cgit v1.2.3-24-ge0c7