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 = ['scenario', 'step', 'failed', 'flaky', 'undefined', 'skipped', 'pending', 'passed']
  ['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) && (number != 1)
      "#{number} #{word}#{plural}"
    end
    "#{sums[0]} (#{sums[1..-1].join(", ")})"
  end.compact.join("\n")
end