diff options
Diffstat (limited to 'test/xmlrpc/webrick_testing.rb')
-rw-r--r-- | test/xmlrpc/webrick_testing.rb | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/test/xmlrpc/webrick_testing.rb b/test/xmlrpc/webrick_testing.rb index cfbaba07d9..37c0b69a74 100644 --- a/test/xmlrpc/webrick_testing.rb +++ b/test/xmlrpc/webrick_testing.rb @@ -2,21 +2,14 @@ require 'timeout' module TestXMLRPC module WEBrick_Testing - empty_log = Object.new - def empty_log.<<(str) - assert_equal('', str) - self - end - NoLog = WEBrick::Log.new(empty_log, WEBrick::BasicLog::WARN) - - def start_server(config={}) + def start_server(logger, config={}) raise "already started" if defined?(@__server) && @__server @__started = false @__server = WEBrick::HTTPServer.new( { :BindAddress => "localhost", - :Logger => NoLog, + :Logger => logger, :AccessLog => [], }.update(config)) yield @__server @@ -38,7 +31,12 @@ module WEBrick_Testing end def with_server(config, servlet) - addr = start_server(config) {|w| w.mount('/RPC2', create_servlet) } + log = [] + logger = WEBrick::Log.new(log, WEBrick::BasicLog::WARN) + addr = start_server(logger, config) {|w| + servlet = servlet.call(w) if servlet.respond_to? :call + w.mount('/RPC2', servlet) + } client_thread = Thread.new { begin yield addr @@ -49,6 +47,7 @@ module WEBrick_Testing server_thread = Thread.new { @__server_thread.join @__server = nil + assert_equal([], log) } assert_join_threads([client_thread, server_thread]) end |