class ParallelTests::Gherkin::Runner

def summarize_results(results)

1 step (1 failed)
1 scenario (1 failed)
cucumber has 2 result lines per test run, that cannot be added
def summarize_results(results)
  sort_order = %w[scenario step failed undefined skipped pending passed]
  %w[scenario step].map do |group|
    group_results = results.grep(/^\d+ #{group}/)
    next if group_results.empty?
    sums = sum_up_results(group_results)
    sums = sums.sort_by { |word, _| sort_order.index(word) || 999 }
    sums.map! do |word, number|
      plural = "s" if word == group and number != 1
      "#{number} #{word}#{plural}"
    end
    "#{sums[0]} (#{sums[1..-1].join(", ")})"
  end.compact.join("\n")
end