提交 21161719 编写于 作者: J Jamis Buck

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
上级 dca4d4e8
*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 @@ def perform_action_with_benchmark
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
......
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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册