From bfd1fbf09829eb138896138c72bf4dea88cb56c8 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 9 Feb 2015 01:28:20 +0000 Subject: [PATCH] test/unit.rb: regexps to exclude * test/lib/test/unit.rb (ExcludedMethods#exclude_from): allow regexps for methods to be excluded. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/lib/test/unit.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/lib/test/unit.rb b/test/lib/test/unit.rb index 6dc702863c..c088d98068 100644 --- a/test/lib/test/unit.rb +++ b/test/lib/test/unit.rb @@ -843,14 +843,17 @@ module Test def exclude_from(klass) excludes = self.excludes + pattern = excludes.keys.grep(Regexp).tap {|k| + break (Regexp.new(k.join('|')) unless k.empty?) + } klass.class_eval do public_instance_methods(false).each do |method| - if excludes[method] + if excludes[method] or (pattern and pattern =~ method) remove_method(method) end end public_instance_methods(true).each do |method| - if excludes[method] + if excludes[method] or (pattern and pattern =~ method) undef_method(method) end end