Class | Autotest::Rspec |
In: |
lib/autotest/rspec.rb
|
Parent: | Autotest |
# File lib/autotest/rspec.rb, line 64 64: def add_options_if_present 65: File.exist?("spec/spec.opts") ? "-O spec/spec.opts " : "" 66: end
# File lib/autotest/rspec.rb, line 33 33: def consolidate_failures(failed) 34: filters = Hash.new { |h,k| h[k] = [] } 35: failed.each do |spec, failed_trace| 36: @files.keys.select{|f| f =~ /spec\//}.each do |f| 37: if failed_trace =~ Regexp.new(f) 38: filters[f] << spec 39: break 40: end 41: end 42: end 43: return filters 44: end
# File lib/autotest/rspec.rb, line 22 22: def handle_results(results) 23: failed = results.scan(/^\d+\)\n(?:\e\[\d*m)?(?:.*?Error in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n(.*?)\n\n/m) 24: @files_to_test = consolidate_failures failed 25: unless @files_to_test.empty? then 26: hook :red 27: else 28: hook :green 29: end unless $TESTING 30: @tainted = true unless @files_to_test.empty? 31: end
# File lib/autotest/rspec.rb, line 46 46: def make_test_cmd(files_to_test) 47: cmds = [] 48: full, partial = files_to_test.partition { |k,v| v.empty? } 49: 50: unless full.empty? then 51: files = full.map {|k,v| k}.flatten.join(' ') 52: cmds << "#{@spec_command} #{add_options_if_present}#{files}" 53: end 54: 55: partial.each do |f, methods| 56: cmds.push(*methods.map { |meth| 57: "#{@spec_command} #{add_options_if_present} #{f}" 58: }) 59: end 60: 61: return cmds.join('; ') 62: end