class RSpec::Core::Formatters::BisectProgressFormatter

Produces progress output while bisecting.
@private

def bisect_aborted(notification)

def bisect_aborted(notification)
  output.puts "\n\nBisect aborted!"
  output.puts "\nThe most minimal reproduction command discovered so far is:\n  #{notification.repro}"
end

def bisect_complete(notification)

def bisect_complete(notification)
  output.puts "\nBisect complete! Reduced necessary non-failing examples " \
              "from #{notification.original_non_failing_count} to " \
              "#{notification.remaining_count} in " \
              "#{Helpers.format_duration(notification.duration)}."
end

def bisect_failed(notification)

def bisect_failed(notification)
  output.puts "\nBisect failed! #{notification.failure_explanation}"
end

def bisect_individual_run_complete(_)

def bisect_individual_run_complete(_)
  output.print '.'
end

def bisect_original_run_complete(notification)

def bisect_original_run_complete(notification)
  failures     = Helpers.pluralize(notification.failed_example_ids.size, "failing example")
  non_failures = Helpers.pluralize(notification.non_failing_example_ids.size, "non-failing example")
  output.puts " (#{Helpers.format_duration(notification.duration)})"
  output.puts "Starting bisect with #{failures} and #{non_failures}."
end

def bisect_repro_command(notification)

def bisect_repro_command(notification)
  output.puts "\nThe minimal reproduction command is:\n  #{notification.repro}"
end

def bisect_round_finished(notification)

def bisect_round_finished(notification)
  output.print " (#{Helpers.format_duration(notification.duration)})"
end

def bisect_round_started(notification, include_trailing_space=true)

def bisect_round_started(notification, include_trailing_space=true)
  search_desc = Helpers.pluralize(
    notification.subset_size, "non-failing example"
  )
  output.print "\nRound #{notification.round}: searching for #{search_desc}" \
               " (of #{notification.remaining_count}) to ignore:"
  output.print " " if include_trailing_space
end

def bisect_starting(notification)

def bisect_starting(notification)
  options = notification.original_cli_args.join(' ')
  output.puts "Bisect started using options: #{options.inspect}"
  output.print "Running suite to find failures..."
end