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> Sun Nov 9 14:06:13 2014 Tanaka Akira <akr@fsij.org>
* test/xmlrpc: Test webrick error log is empty. * test/xmlrpc: Test webrick error log is empty.

View file

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

View file

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

View file

@ -37,14 +37,20 @@ module WEBrick_Testing
addr addr
end end
def stop_server def with_server(config, servlet)
return if !defined?(@__server) || !@__server addr = start_server(config) {|w| w.mount('/RPC2', create_servlet) }
Timeout.timeout(5) { client_thread = Thread.new {
@__server.shutdown begin
Thread.pass while @__started # wait until the server is down yield addr
} ensure
@__server_thread.join @__server.shutdown
@__server = nil end
}
server_thread = Thread.new {
@__server_thread.join
@__server = nil
}
assert_join_threads([client_thread, server_thread])
end end
end end
end end