diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/webrick/test_filehandler.rb | 2 | ||||
-rw-r--r-- | test/webrick/utils.rb | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/test/webrick/test_filehandler.rb b/test/webrick/test_filehandler.rb index b312c2a03f..63c12c7baa 100644 --- a/test/webrick/test_filehandler.rb +++ b/test/webrick/test_filehandler.rb @@ -76,7 +76,7 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase range = nil bug2593 = '[ruby-dev:40030]' - TestWEBrick.start_httpserver(config) do |server, addr, port| + TestWEBrick.start_httpserver(config) do |server, addr, port, log| http = Net::HTTP.new(addr, port) req = Net::HTTP::Get.new("/") http.request(req){|res| diff --git a/test/webrick/utils.rb b/test/webrick/utils.rb index 5db94e6cd5..29d5b23ba4 100644 --- a/test/webrick/utils.rb +++ b/test/webrick/utils.rb @@ -27,15 +27,21 @@ module TestWEBrick module_function def start_server(klass, config={}, &block) + log_string = "" + logger = Object.new + class << logger; self; end.class_eval do + define_method(:<<) {|msg| log_string << msg } + end + log = proc { "webrick log start:\n" + log_string.gsub(/^/, " ").chomp + "\nwebrick log end" } server = klass.new({ :BindAddress => "127.0.0.1", :Port => 0, - :Logger => WEBrick::Log.new(NullWriter), + :Logger => WEBrick::Log.new(logger), :AccessLog => [[NullWriter, ""]] }.update(config)) begin thread = Thread.start{ server.start } addr = server.listeners[0].addr - block.call([server, addr[3], addr[1]]) + block.call([server, addr[3], addr[1], log]) ensure server.stop thread.join |