summaryrefslogtreecommitdiff
path: root/test/xmlrpc/webrick_testing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/xmlrpc/webrick_testing.rb')
-rw-r--r--test/xmlrpc/webrick_testing.rb19
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