def self.run(reporter)
if RSpec.wants_to_quit
RSpec.clear_remaining_example_groups if top_level?
return
end
example_group_instance = new
reporter.example_group_started(self)
begin
eval_before_alls(example_group_instance)
result_for_this_group = run_examples(example_group_instance, reporter)
results_for_descendants = children.map {|child| child.run(reporter)}.all?
result_for_this_group && results_for_descendants
rescue Exception => ex
fail_filtered_examples(ex, reporter)
ensure
eval_after_alls(example_group_instance)
reporter.example_group_finished(self)
end
end