class Rspec::Core::Example

def run(example_group_instance, reporter)

def run(example_group_instance, reporter)
  @example_group_instance = example_group_instance
  @example_group_instance.running_example = self
  run_started
  all_systems_nominal = true
  exception_encountered = nil
  begin
    run_before_each
    if @example_group_class.around_eachs.empty?
      @example_group_instance.instance_eval(&example_block) if runnable?
    else
      @example_group_class.around_eachs.first.call(AroundProxy.new(self, &example_block))
    end
  rescue Exception => e
    exception_encountered = e
    all_systems_nominal = false
  end
  assign_auto_description
  begin
    run_after_each
  rescue Exception => e
    exception_encountered ||= e
    all_systems_nominal = false
  ensure
    @example_group_instance.running_example = nil
  end
  if exception_encountered
    run_failed(reporter, exception_encountered) 
  else
    runnable? ? run_passed(reporter) : run_pending(reporter)
  end
  all_systems_nominal
end