[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

WEBrick testing

Michael Neumann

12/16/2004 6:02:00 PM

Could the appended file be added to the Ruby distribution as
lib/webrick/testing.rb? It's currently there as
test/xmlrpc/webrick_testing.rb.

I think it's quite useful to test webrick servlets without the need for
mock objects.

Regards,

Michael
require 'timeout'

module WEBrick_Testing
class DummyLog < WEBrick::BasicLog
def initialize() super(self) end
def <<(*args) end
end

def start_server(config={})
raise "already started" if @__server_pid or @__started
trap('HUP') { @__started = true }
@__server_pid = fork {
w = WEBrick::HTTPServer.new(
{
:Logger => DummyLog.new,
:AccessLog => [],
:StartCallback => proc { Process.kill('HUP', Process.ppid) }
}.update(config))
yield w
trap('INT') { w.shutdown }
w.start
exit
}

Timeout.timeout(5) {
nil until @__started # wait until the server is ready
}
end

def stop_server
Process.kill('INT', @__server_pid)
@__server_pid = nil
@__started = false
Process.wait
raise unless $?.success?
end
end
1 Answer

GOTOU Yuuzou

12/17/2004 9:30:00 AM

0