From 8d66627161fab5cc65dfb702e3285eb4fef221e8 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 5 Jan 2016 06:09:17 +0000 Subject: leakchecker.rb: remove temporary measure * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#watcher): make watcher thread restartable. * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#terminate): new method to terminate watcher thread. * test/lib/leakchecker.rb (LeakChecker#find_threads): revert r46941. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/lib/leakchecker.rb | 2 +- test/net/http/utils.rb | 1 + test/open-uri/test_open-uri.rb | 2 ++ test/open-uri/test_ssl.rb | 2 ++ test/rubygems/test_gem_remote_fetcher.rb | 1 + test/webrick/test_cgi.rb | 5 +++++ test/webrick/test_filehandler.rb | 5 +++++ test/webrick/test_httpauth.rb | 5 +++++ test/webrick/test_httpproxy.rb | 5 +++++ test/webrick/test_httprequest.rb | 5 +++++ test/webrick/test_httpserver.rb | 5 +++++ test/webrick/test_utils.rb | 5 +++++ test/xmlrpc/webrick_testing.rb | 5 +++++ 13 files changed, 47 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/lib/leakchecker.rb b/test/lib/leakchecker.rb index a9bc5813c5..355f93dc79 100644 --- a/test/lib/leakchecker.rb +++ b/test/lib/leakchecker.rb @@ -139,7 +139,7 @@ class LeakChecker def find_threads Thread.list.find_all {|t| - t != Thread.current && /\AWEBrick::/ !~ t.class.name && t.alive? + t != Thread.current && t.alive? } end diff --git a/test/net/http/utils.rb b/test/net/http/utils.rb index 8d0ecd6020..8a00615fbe 100644 --- a/test/net/http/utils.rb +++ b/test/net/http/utils.rb @@ -36,6 +36,7 @@ module TestNetHTTPUtils if @server @server.shutdown @server_thread.join + WEBrick::Utils::TimeoutHandler.terminate end @log_tester.call(@log) if @log_tester # resume global state diff --git a/test/open-uri/test_open-uri.rb b/test/open-uri/test_open-uri.rb index b3702e6067..c64c2be324 100644 --- a/test/open-uri/test_open-uri.rb +++ b/test/open-uri/test_open-uri.rb @@ -43,6 +43,8 @@ class TestOpenURI < Test::Unit::TestCase } assert_join_threads([client_thread, server_thread2]) } + ensure + WEBrick::Utils::TimeoutHandler.terminate end def with_env(h) diff --git a/test/open-uri/test_ssl.rb b/test/open-uri/test_ssl.rb index 956fe05399..b78ef24615 100644 --- a/test/open-uri/test_ssl.rb +++ b/test/open-uri/test_ssl.rb @@ -52,6 +52,8 @@ class TestOpenURISSL } assert_join_threads(threads) } + ensure + WEBrick::Utils::TimeoutHandler.terminate end def setup diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index 8b46921401..3439194858 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -924,6 +924,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== @ssl_server_thread.kill.join @ssl_server_thread = nil end + WEBrick::Utils::TimeoutHandler.terminate end def normal_server_port diff --git a/test/webrick/test_cgi.rb b/test/webrick/test_cgi.rb index 090286840b..9dd6be8155 100644 --- a/test/webrick/test_cgi.rb +++ b/test/webrick/test_cgi.rb @@ -7,6 +7,11 @@ require "test/unit" class TestWEBrickCGI < Test::Unit::TestCase CRLF = "\r\n" + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def start_cgi_server(log_tester=TestWEBrick::DefaultLogTester, &block) config = { :CGIInterpreter => TestWEBrick::RubyBin, diff --git a/test/webrick/test_filehandler.rb b/test/webrick/test_filehandler.rb index 663b237a82..0e05c6824c 100644 --- a/test/webrick/test_filehandler.rb +++ b/test/webrick/test_filehandler.rb @@ -5,6 +5,11 @@ require "webrick" require "stringio" class WEBrick::TestFileHandler < Test::Unit::TestCase + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def default_file_handler(filename) klass = WEBrick::HTTPServlet::DefaultFileHandler klass.new(WEBrick::Config::HTTP, filename) diff --git a/test/webrick/test_httpauth.rb b/test/webrick/test_httpauth.rb index 4376b91842..126bc6ee54 100644 --- a/test/webrick/test_httpauth.rb +++ b/test/webrick/test_httpauth.rb @@ -7,6 +7,11 @@ require "webrick/httpauth/basicauth" require_relative "utils" class TestWEBrickHTTPAuth < Test::Unit::TestCase + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def test_basic_auth log_tester = lambda {|log, access_log| assert_equal(1, log.length) diff --git a/test/webrick/test_httpproxy.rb b/test/webrick/test_httpproxy.rb index 6837f0c738..335d442fbb 100644 --- a/test/webrick/test_httpproxy.rb +++ b/test/webrick/test_httpproxy.rb @@ -13,6 +13,11 @@ end require File.expand_path("utils.rb", File.dirname(__FILE__)) class TestWEBrickHTTPProxy < Test::Unit::TestCase + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def test_fake_proxy assert_nil(WEBrick::FakeProxyURI.scheme) assert_nil(WEBrick::FakeProxyURI.host) diff --git a/test/webrick/test_httprequest.rb b/test/webrick/test_httprequest.rb index 45d26f8699..3ece8a3ad9 100644 --- a/test/webrick/test_httprequest.rb +++ b/test/webrick/test_httprequest.rb @@ -4,6 +4,11 @@ require "stringio" require "test/unit" class TestWEBrickHTTPRequest < Test::Unit::TestCase + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def test_simple_request msg = <<-_end_of_message_ GET / diff --git a/test/webrick/test_httpserver.rb b/test/webrick/test_httpserver.rb index 5adf617fa5..5aa94637ba 100644 --- a/test/webrick/test_httpserver.rb +++ b/test/webrick/test_httpserver.rb @@ -12,6 +12,11 @@ class TestWEBrickHTTPServer < Test::Unit::TestCase end NoLog = WEBrick::Log.new(empty_log, WEBrick::BasicLog::WARN) + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def test_mount httpd = WEBrick::HTTPServer.new( :Logger => NoLog, diff --git a/test/webrick/test_utils.rb b/test/webrick/test_utils.rb index 23996de5d2..c34ba8bb73 100644 --- a/test/webrick/test_utils.rb +++ b/test/webrick/test_utils.rb @@ -3,6 +3,11 @@ require "test/unit" require "webrick/utils" class TestWEBrickUtils < Test::Unit::TestCase + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def assert_expired(m) Thread.handle_interrupt(Timeout::Error => :never, EX => :never) do assert_empty(m::TimeoutHandler.instance.instance_variable_get(:@timeout_info)) diff --git a/test/xmlrpc/webrick_testing.rb b/test/xmlrpc/webrick_testing.rb index ff287f7024..7a3325df3c 100644 --- a/test/xmlrpc/webrick_testing.rb +++ b/test/xmlrpc/webrick_testing.rb @@ -3,6 +3,11 @@ require 'timeout' module TestXMLRPC module WEBrick_Testing + def teardown + WEBrick::Utils::TimeoutHandler.terminate + super + end + def start_server(logger, config={}) raise "already started" if defined?(@__server) && @__server @__started = false -- cgit v1.2.3