diff options
Diffstat (limited to 'lib/test')
-rw-r--r-- | lib/test/unit/autorunner.rb | 8 | ||||
-rw-r--r-- | lib/test/unit/collector/dir.rb | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/test/unit/autorunner.rb b/lib/test/unit/autorunner.rb index b120adec0b..8dc2b25656 100644 --- a/lib/test/unit/autorunner.rb +++ b/lib/test/unit/autorunner.rb @@ -56,12 +56,13 @@ module Test c = Collector::Dir.new c.filter = r.filters c.pattern = r.pattern if(r.pattern) + c.exclude = r.exclude if(r.exclude) c.collect(*(r.to_run.empty? ? ['.'] : r.to_run)) end, } attr_reader :suite - attr_accessor :output_level, :filters, :to_run, :pattern + attr_accessor :output_level, :filters, :to_run, :pattern, :exclude attr_writer :runner, :collector def initialize(standalone) @@ -112,6 +113,11 @@ module Test "Match files to collect against PATTERN.") do |e| @pattern = e end + + o.on('-x', '--exclude=PATTERN', Regexp, + "Ignore files to collect against PATTERN.") do |e| + @exclude = e + end end o.on('-n', '--name=NAME', String, diff --git a/lib/test/unit/collector/dir.rb b/lib/test/unit/collector/dir.rb index e7395ac051..1d65132a45 100644 --- a/lib/test/unit/collector/dir.rb +++ b/lib/test/unit/collector/dir.rb @@ -7,7 +7,7 @@ module Test class Dir include Collector - attr_writer :pattern + attr_writer :pattern, :exclude def initialize(dir=::Dir, file=::File, object_space=::ObjectSpace, req=nil) super() @@ -16,6 +16,7 @@ module Test @object_space = object_space @req = req @pattern = /\Atest_.*\.rb\Z/m + @exclude = nil end def collect(*from) @@ -55,6 +56,7 @@ module Test sub_suites << sub_suite unless(sub_suite.empty?) else (next unless(@pattern =~ e)) if(@pattern) + (next if(@exclude =~ e)) if(@exclude) collect_file(e_name, sub_suites, already_gathered) end end |