summaryrefslogtreecommitdiff
path: root/lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'lib/test')
-rw-r--r--lib/test/unit/autorunner.rb8
-rw-r--r--lib/test/unit/collector/dir.rb4
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