summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lib/test/unit.rb32
1 files changed, 19 insertions, 13 deletions
diff --git a/test/lib/test/unit.rb b/test/lib/test/unit.rb
index 8f6cecf32a..6dc702863c 100644
--- a/test/lib/test/unit.rb
+++ b/test/lib/test/unit.rb
@@ -857,26 +857,32 @@ module Test
end
end
- def self.load(dir, name)
- return unless dir and name
- path = File.join(dir, name.gsub(/::/, '/') + ".rb")
- begin
- src = File.read(path)
- rescue Errno::ENOENT
- nil
- else
- instance = new({})
- instance.instance_eval(src)
- instance
+ def self.load(dirs, name)
+ return unless dirs and name
+ instance = nil
+ dirs.each do |dir|
+ path = File.join(dir, name.gsub(/::/, '/') + ".rb")
+ begin
+ src = File.read(path)
+ rescue Errno::ENOENT
+ nil
+ else
+ instance ||= new({})
+ instance.instance_eval(src)
+ end
end
+ instance
end
end
def setup_options(parser, options)
super
- options[:excludes] = ENV["EXCLUDES"]
+ if excludes = ENV["EXCLUDES"]
+ excludes = excludes.split(File::PATH_SEPARATOR)
+ end
+ options[:excludes] = excludes || []
parser.on '-X', '--excludes-dir DIRECTORY', "Directory name of exclude files" do |d|
- options[:excludes] = d
+ options[:excludes].concat d.split(File::PATH_SEPARATOR)
end
end