You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found a race condition in FailuresLogger (prepare_io), where it first cleans out the existing log file before appending. The same step to clean out the existing log file is also done in Cucumber::Formatter::Rerun.
When running the tests in parallel, the initialize call of process B can overwrite the failed scenario that were logged by process A that finished eariler, resulting in not all of the failed scenarios being logged at the end.
The text was updated successfully, but these errors were encountered:
Yeah, we might be able to do something like lock the file and then check it's mtime to decide if it needs cleaning or make all processes wait until the first process has cleaned it, PR welcome!
I've experienced the same, with ParallelTests::Cucumber::FailuresLogger specifically. Often, the failures recorded in the fail are incomplete, or occasionally missing all together. Thanks for the report to validate that this is indeed an issue.
Found a race condition in FailuresLogger (prepare_io), where it first cleans out the existing log file before appending. The same step to clean out the existing log file is also done in Cucumber::Formatter::Rerun.
When running the tests in parallel, the initialize call of process B can overwrite the failed scenario that were logged by process A that finished eariler, resulting in not all of the failed scenarios being logged at the end.
The text was updated successfully, but these errors were encountered: