diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-09 09:07:41 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-09 09:07:41 +0000 |
commit | b30ff6839db848efafc4b7b61abed0e2708d2627 (patch) | |
tree | 49c5d6117186319a90b65773b221904882029dfb /test/xmlrpc/webrick_testing.rb | |
parent | a4b5982b4c95b0c6779748bf010aa7445714f343 (diff) |
* test/xmlrpc: Use assert_join_threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/xmlrpc/webrick_testing.rb')
-rw-r--r-- | test/xmlrpc/webrick_testing.rb | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/test/xmlrpc/webrick_testing.rb b/test/xmlrpc/webrick_testing.rb index e2a0c3f133..cfbaba07d9 100644 --- a/test/xmlrpc/webrick_testing.rb +++ b/test/xmlrpc/webrick_testing.rb @@ -37,14 +37,20 @@ module WEBrick_Testing addr end - def stop_server - return if !defined?(@__server) || !@__server - Timeout.timeout(5) { - @__server.shutdown - Thread.pass while @__started # wait until the server is down - } - @__server_thread.join - @__server = nil + def with_server(config, servlet) + addr = start_server(config) {|w| w.mount('/RPC2', create_servlet) } + client_thread = Thread.new { + begin + yield addr + ensure + @__server.shutdown + end + } + server_thread = Thread.new { + @__server_thread.join + @__server = nil + } + assert_join_threads([client_thread, server_thread]) end end end |