ruby-changes:36206
From: akr <ko1@a...>
Date: Wed, 5 Nov 2014 23:29:52 +0900 (JST)
Subject: [ruby-changes:36206] akr:r48287 (trunk): * test/open-uri/test_open-uri.rb: Don't ignore webrick's log.
akr 2014-11-05 23:29:46 +0900 (Wed, 05 Nov 2014) New Revision: 48287 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=48287 Log: * test/open-uri/test_open-uri.rb: Don't ignore webrick's log. Modified files: trunk/ChangeLog trunk/test/open-uri/test_open-uri.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 48286) +++ ChangeLog (revision 48287) @@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Wed Nov 5 23:24:45 2014 Tanaka Akira <akr@f...> + + * test/open-uri/test_open-uri.rb: Don't ignore webrick's log. + Wed Nov 5 19:20:08 2014 Tanaka Akira <akr@f...> * lib/webrick/server.rb: Stop lisntner loop properly. Index: test/open-uri/test_open-uri.rb =================================================================== --- test/open-uri/test_open-uri.rb (revision 48286) +++ test/open-uri/test_open-uri.rb (revision 48287) @@ -13,19 +13,26 @@ class TestOpenURI < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/open-uri/test_open-uri.rb#L13 def NullLog.<<(arg) end - def with_http + def with_http(capture_log=false) + if capture_log + log = StringIO.new('') + logger = WEBrick::Log.new(log, WEBrick::BasicLog::WARN) + else + log = nil + logger = WEBrick::Log.new($stdout, WEBrick::BasicLog::WARN) + end Dir.mktmpdir {|dr| srv = WEBrick::HTTPServer.new({ :DocumentRoot => dr, :ServerType => Thread, - :Logger => WEBrick::Log.new(NullLog), + :Logger => logger, :AccessLog => [[NullLog, ""]], :BindAddress => '127.0.0.1', :Port => 0}) _, port, _, host = srv.listeners[0].addr begin th = srv.start - yield srv, dr, "http://#{host}:#{port}" + yield srv, dr, "http://#{host}:#{port}", log ensure srv.shutdown th.join @@ -76,9 +83,10 @@ class TestOpenURI < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/open-uri/test_open-uri.rb#L83 end def test_404 - with_http {|srv, dr, url| + with_http(true) {|srv, dr, url, log| exc = assert_raise(OpenURI::HTTPError) { open("#{url}/not-exist") {} } assert_equal("404", exc.io.status[0]) + assert_match(%r{ERROR `/not-exist' not found}, log.string) } end @@ -400,7 +408,7 @@ class TestOpenURI < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/open-uri/test_open-uri.rb#L408 end def test_redirect_auth - with_http {|srv, dr, url| + with_http(true) {|srv, dr, url, log| srv.mount_proc("/r1/") {|req, res| res.status = 301; res["location"] = "#{url}/r2" } srv.mount_proc("/r2/") {|req, res| if req["Authorization"] != "Basic #{['user:pass'].pack('m').chomp}" @@ -410,11 +418,14 @@ class TestOpenURI < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/open-uri/test_open-uri.rb#L418 } exc = assert_raise(OpenURI::HTTPError) { open("#{url}/r2/") {} } assert_equal("401", exc.io.status[0]) + assert_match(/ERROR WEBrick::HTTPStatus::Unauthorized/, log.string) + log.rewind; log.truncate(0) open("#{url}/r2/", :http_basic_authentication=>['user', 'pass']) {|f| assert_equal("r2", f.read) } exc = assert_raise(OpenURI::HTTPError) { open("#{url}/r1/", :http_basic_authentication=>['user', 'pass']) {} } assert_equal("401", exc.io.status[0]) + assert_match(/ERROR WEBrick::HTTPStatus::Unauthorized/, log.string) } end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/