1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* test/xmlrpc: Use assert_join_threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2014-11-09 09:07:41 +00:00
parent a4b5982b4c
commit b30ff6839d
4 changed files with 33 additions and 27 deletions

View file

@ -1,3 +1,7 @@
Sun Nov 9 18:07:00 2014 Tanaka Akira <akr@fsij.org>
* test/xmlrpc: Use assert_join_threads.
Sun Nov 9 14:06:13 2014 Tanaka Akira <akr@fsij.org>
* test/xmlrpc: Test webrick error log is empty.

View file

@ -66,22 +66,20 @@ class TestCookie < Test::Unit::TestCase
s
end
def setup_http_server
def setup_http_server_option
option = {:Port => 0}
addr = start_server(option) {|w| w.mount('/RPC2', create_servlet) }
@s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port)
end
def test_cookie
begin
setup_http_server
do_test
ensure
@s.http.finish
stop_server
end
option = setup_http_server_option
with_server(option, create_servlet) {|addr|
begin
@s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port)
do_test
ensure
@s.http.finish
end
}
end
def do_test

View file

@ -47,7 +47,7 @@ class Test_Webrick < Test::Unit::TestCase
return s
end
def setup_http_server(use_ssl)
def setup_http_server_option(use_ssl)
option = {
:BindAddress => "localhost",
:Port => 0,
@ -61,14 +61,14 @@ class Test_Webrick < Test::Unit::TestCase
)
end
start_server(option) {|w| w.mount('/RPC2', create_servlet) }
option
end
def test_client_server
# NOTE: I don't enable SSL testing as this hangs
[false].each do |use_ssl|
begin
addr = setup_http_server(use_ssl)
option = setup_http_server_option(use_ssl)
with_server(option, create_servlet) {|addr|
@s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port, :use_ssl => use_ssl)
@s.user = 'admin'
@s.password = 'admin'
@ -83,9 +83,7 @@ class Test_Webrick < Test::Unit::TestCase
do_test
end
@s.http.finish
ensure
stop_server
end
}
end
end

View file

@ -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