diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | test/webrick/test_utils.rb | 24 |
2 files changed, 26 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Sun Jan 11 15:11:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * test/webrick/test_utils.rb (test_create_listeners): use + dynamically chosen port number, not hardcoded port number. + [ruby-core:67508] + Sat Jan 10 12:57:12 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> * ext/zlib/zlib.c: fix document of method signatures. diff --git a/test/webrick/test_utils.rb b/test/webrick/test_utils.rb index d7ef3653f7..9f62c81b8c 100644 --- a/test/webrick/test_utils.rb +++ b/test/webrick/test_utils.rb @@ -59,10 +59,26 @@ class TestWEBrickUtils < Test::Unit::TestCase end def test_create_listeners - listeners = WEBrick::Utils.create_listeners("127.0.0.1", "9999") - srv = listeners.first - assert_equal true, srv.is_a?(TCPServer) - assert_equal ["AF_INET", 9999, "127.0.0.1", "127.0.0.1"], srv.addr + addr = listener_address(0) + port = addr.slice!(1) + assert_kind_of(Integer, port, "dynamically chosen port number") + assert_equal(["AF_INET", "127.0.0.1", "127.0.0.1"], addr) + + assert_equal(["AF_INET", port, "127.0.0.1", "127.0.0.1"], + listener_address(port), + "specific port number") + + assert_equal(["AF_INET", port, "127.0.0.1", "127.0.0.1"], + listener_address(port.to_s), + "specific port number string") end + def listener_address(port) + listeners = WEBrick::Utils.create_listeners("127.0.0.1", port) + srv = listeners.first + assert_kind_of TCPServer, srv + srv.addr + ensure + listeners.each(&:close) if listeners + end end |