Prevent the benchmark module from blowing up if a non-HTTP/1.1 request is processed
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2039 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
dca4d4e86d
commit
211617191e
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Prevent the benchmark module from blowing up if a non-HTTP/1.1 request is processed
|
||||
|
||||
* Added :use_short_month option to select_month helper to show month names as abbreviations
|
||||
|
||||
* Make link_to escape the javascript in the confirm option #1964 [nicolas.pouillard@gmail.com]
|
||||
|
|
|
@ -42,7 +42,7 @@ module ActionController #:nodoc:
|
|||
log_message = "Completed in #{sprintf("%.5f", runtime)} (#{(1 / runtime).floor} reqs/sec)"
|
||||
log_message << rendering_runtime(runtime) if @rendering_runtime
|
||||
log_message << active_record_runtime(runtime) if Object.const_defined?("ActiveRecord") && ActiveRecord::Base.connected?
|
||||
log_message << " [#{complete_request_uri}]"
|
||||
log_message << " [#{complete_request_uri rescue "unknown"}]"
|
||||
logger.info(log_message)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
require File.dirname(__FILE__) + '/../abstract_unit'
|
||||
require 'test/unit'
|
||||
|
||||
# Provide a static version of the Controllers module instead of the auto-loading version.
|
||||
# We don't want these tests to fail when dependencies are to blame.
|
||||
module Controllers
|
||||
class BenchmarkedController < ActionController::Base
|
||||
def public_action
|
||||
render :nothing => true
|
||||
end
|
||||
|
||||
def rescue_action(e)
|
||||
raise e
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class BenchmarkTest < Test::Unit::TestCase
|
||||
class MockLogger
|
||||
def method_missing(*args)
|
||||
end
|
||||
end
|
||||
|
||||
def setup
|
||||
@controller = Controllers::BenchmarkedController.new
|
||||
# benchmark doesn't do anything unless a logger is set
|
||||
@controller.logger = MockLogger.new
|
||||
@request, @response = ActionController::TestRequest.new, ActionController::TestResponse.new
|
||||
@request.host = "test.actioncontroller.i"
|
||||
end
|
||||
|
||||
def test_with_http_1_0_request
|
||||
@request.host = nil
|
||||
assert_nothing_raised { get :public_action }
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue