Open charlierudolph opened 6 years ago
The retry feature in cucumber-ruby uses two extension points. Filters (which I described in #5) and events.
Here's the filter for retry: https://github.com/cucumber/cucumber-ruby/blob/master/lib/cucumber/filters/retry.rb
The filter (which sits on the chain between the compiler and the runner) listens for the test_case_finished
event and, if the test case failed, pumps it down the chain and into the runner again.
Bear in mind that everything is synchronous / single-threaded in cucumber-ruby, which is why this works.
It makes some of the old formatters, which weren't written with this in mind, go pretty crazy!
Support retry (which in Cucumber-Ruby is implemented in the filter pipeline)
@brasmusson @mattwynne can you please give more detail or tag someone who can?