Turns out using attributes for the report to track retries doesn't work with Pytest's internal counter. The outcome has to be overwritten even though it's got a Literal typing for passed, failed, and skipped. The other official retry plugins do this as well. Seems rather strange, but there it is.
Also prevented a possible durations index error if another exception occurred during the pytest_report_teststatus stage. (e.g. if using a custom teststatus hook in conjunction with this plugin).
Turns out using attributes for the report to track retries doesn't work with Pytest's internal counter. The outcome has to be overwritten even though it's got a Literal typing for passed, failed, and skipped. The other official retry plugins do this as well. Seems rather strange, but there it is.
Also prevented a possible durations index error if another exception occurred during the pytest_report_teststatus stage. (e.g. if using a custom teststatus hook in conjunction with this plugin).