Hi. I’ve written a unit test that starts up WEBrick in a new thread in
the setup method. I was wondering what the best way would be to
guarantee that WEBrick is ready to accept connections before leaving the
setup method.
I was thinking after creating the thread I would attempt to make a
connection and if the connection didn’t work, do a retry. Here is my
(not completely implemented) code so far:
class WebTest < Test::Unit::TestCase
def setup
@server = Thread.new {
s = WEBrick::HTTPServer.new(
:Port => 0,
:DocumentRoot => Dir::pwd + “/htdocs”
)
@port = s.config[:Port]
s.start
}
begin
# Test to see if the server is up
rescue
# Sleep, then retry
end
end
end
Does anyone have a more elegant way of doing this? Thanks!
–Aaron