class Proof::Suite
Attributes
files[R]
Public Class Methods
default_device()
click to toggle source
# File lib/proof/suite.rb, line 22 def self.default_device Output::Devices.build_device(:string_io, :name => :suite_results) end
default_output()
click to toggle source
# File lib/proof/suite.rb, line 26 def self.default_output Proof::Output.instance end
flatten(args)
click to toggle source
# File lib/proof/suite.rb, line 64 def self.flatten(args) files = [] args.each do |pattern| files.concat pattern.is_a?(Array) ? pattern : [pattern] end files end
glob(patterns, base_dir)
click to toggle source
# File lib/proof/suite.rb, line 55 def self.glob(patterns, base_dir) files = [] patterns.each do |pattern| pattern = Pathname.new(pattern).absolute? ? pattern : File.join(base_dir, pattern) files.concat Dir.glob(pattern) end files end
new(files, device = nil, output = nil)
click to toggle source
# File lib/proof/suite.rb, line 16 def initialize(files, device = nil, output = nil) @files = files @device = device @output = output end
run(*args)
click to toggle source
# File lib/proof/suite.rb, line 30 def self.run(*args) device = default_device output = default_output if args.last.is_a? Hash opts = args.pop device = opts[:device] || device output = opts[:output] || output end base_dir = File.expand_path(File.dirname(caller[0])) file_patterns = flatten(args) files = glob(file_patterns, base_dir) if files.empty? output.summary "!! Suite has no files" return :failure end instance = new files, device, output results = instance.run Summary.output(results, output) end
Public Instance Methods
device()
click to toggle source
# File lib/proof/suite.rb, line 8 def device @device ||= self.class.default_device end
output()
click to toggle source
# File lib/proof/suite.rb, line 12 def output @output ||= self.class.default_output end
run()
click to toggle source
# File lib/proof/suite.rb, line 72 def run output.push_device(device) do files.each do |file| load file end end device.readlines end