diff --git a/ChangeLog b/ChangeLog index 071d2a63fa..affcbabb38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Nov 4 22:20:16 2013 Tanaka Akira + + * test/xmlrpc: Don't use fixed ports: 8070 and 8071. + Mon Nov 4 15:25:52 2013 Tanaka Akira * test/xmlrpc/webrick_testing.rb (start_server): Initialize the server diff --git a/test/xmlrpc/test_cookie.rb b/test/xmlrpc/test_cookie.rb index 51f0be0723..11bf10ef9f 100644 --- a/test/xmlrpc/test_cookie.rb +++ b/test/xmlrpc/test_cookie.rb @@ -66,18 +66,17 @@ class TestCookie < Test::Unit::TestCase s end - def setup_http_server(port) - option = {:Port => port} + def setup_http_server + option = {:Port => 0} - start_server(option) {|w| w.mount('/RPC2', create_servlet) } + addr = start_server(option) {|w| w.mount('/RPC2', create_servlet) } - @s = XMLRPC::Client.new3(:port => port) + @s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port) end - PORT = 8070 def test_cookie begin - setup_http_server(PORT) + setup_http_server do_test ensure stop_server diff --git a/test/xmlrpc/test_webrick_server.rb b/test/xmlrpc/test_webrick_server.rb index 2c91727f02..657830ea52 100644 --- a/test/xmlrpc/test_webrick_server.rb +++ b/test/xmlrpc/test_webrick_server.rb @@ -47,10 +47,10 @@ class Test_Webrick < Test::Unit::TestCase return s end - def setup_http_server(port, use_ssl) + def setup_http_server(use_ssl) option = { :BindAddress => "localhost", - :Port => port, + :Port => 0, :SSLEnable => use_ssl, } if use_ssl @@ -64,19 +64,18 @@ class Test_Webrick < Test::Unit::TestCase start_server(option) {|w| w.mount('/RPC2', create_servlet) } end - PORT = 8071 def test_client_server # NOTE: I don't enable SSL testing as this hangs [false].each do |use_ssl| begin - setup_http_server(PORT, use_ssl) - @s = XMLRPC::Client.new3(:port => PORT, :use_ssl => use_ssl) + addr = setup_http_server(use_ssl) + @s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port, :use_ssl => use_ssl) @s.user = 'admin' @s.password = 'admin' silent do do_test end - @s = XMLRPC::Client.new3(:port => PORT, :use_ssl => use_ssl) + @s = XMLRPC::Client.new3(:host => addr.ip_address, :port => addr.ip_port, :use_ssl => use_ssl) @s.user = '01234567890123456789012345678901234567890123456789012345678901234567890123456789' @s.password = 'guest' silent do diff --git a/test/xmlrpc/webrick_testing.rb b/test/xmlrpc/webrick_testing.rb index c72895a9d1..464d61dc17 100644 --- a/test/xmlrpc/webrick_testing.rb +++ b/test/xmlrpc/webrick_testing.rb @@ -20,6 +20,8 @@ module WEBrick_Testing yield @__server @__started = true + addr = @__server.listeners.first.connect_address + @__server_thread = Thread.new { begin @__server.start @@ -29,6 +31,8 @@ module WEBrick_Testing @__started = false end } + + addr end def stop_server