class RRRSpec::Seedrs::RSpec::RSpecRunner
Public Instance Methods
get_step_result_line(rspec_output)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 57 def get_step_result_line(rspec_output) rspec_output.lines.each_with_index do |line, line_number| if /(\d*) examples?, (\d*) failures?/ =~ line return line_number end end -1 end
process_result(formatter, result)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 37 def process_result(formatter, result) results_line = result.lines[get_step_result_line(result)] failing_steps_count = failing_steps_count(results_line) pending_steps_count = pending_steps_count(results_line) total_steps_count = total_steps_count(results_line) (failing_steps_count + pending_steps_count).times do formatter.example_failed nil end (total_steps_count - failing_steps_count - pending_steps_count).times do formatter.example_passed nil end pending_steps_count.times do formatter.example_pending nil end end
reset()
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 33 def reset @file_path = '' end
run(*formatters)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 13 def run(*formatters) status = false result_err = '' begin result_out = `SLAVE_NUMBER=#{ENV['SLAVE_NUMBER']} bundle exec rspec #{@file_path}` formatters.each do |formatter_class| formatter = formatter_class.new nil process_result(formatter, result_out) end status = true rescue Exception => e result_err = e.message end [status, result_out, result_err] end
setup(file_path)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 6 def setup(file_path) @file_path = file_path status = true [status, '', ''] end
Private Instance Methods
failing_steps_count(results_line)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 69 def failing_steps_count(results_line) if results_line.match(/(\d+) failure/) results_line.match(/(\d+) failure/)[1].to_i else 0 end end
pending_steps_count(results_line)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 77 def pending_steps_count(results_line) if results_line.match(/(\d+) pending/) results_line.match(/(\d+) pending/)[1].to_i else 0 end end
total_steps_count(results_line)
click to toggle source
# File lib/rrrspec/seedrs/rspec/rspec_runner.rb, line 85 def total_steps_count(results_line) if results_line.match(/(\d+) example/) results_line.match(/(\d+) example/)[1].to_i else 0 end end