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:
parent
a4b5982b4c
commit
b30ff6839d
4 changed files with 33 additions and 27 deletions
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue