Skip to content

retry-total conflicts with html-formatter when exhaustion limit hit #1905

Description

@luke-hill

👓 What did you see?

The HTML report does not include scenarios which are skipped from being retried after exhaustion limit is hit

✅ What did you expect to see?

HTML formatter would show failures

📦 Which tool/library version are you using?

cucumber 11.1.1
html-formatter 23.1.0

🔬 How could we reproduce it?

Hit the exhaustion limit on a running context. So for example have a folder with 3 features and 3 scenarios. Have all 3 fail, set --retry 1 and --retry-total 2.

The third scenario won't feature in the report.

📚 Any additional context?

#1669 introduced it

Activity

  1. luke-hill commented on Aug 27, 2026

    @luke-hill
    ContributorAuthor

    cc/ @Enceradeira this is the first big issue we've seen come out of this introduction

  2. Enceradeira commented on Sep 5, 2026

    @Enceradeira
    Contributor

    The cause: willBeRetried in the TestCaseFinished message is computed from --retry alone, while the retry filter also honours --retry-total. Once the total is exhausted, the message claims a retry that never comes, and the HTML formatter hides the attempt.

    Reproducing it on main showed two more defects in the same place:

    • cucumber-ruby passes the number of retries where the runner expects the number of attempts. With --retry 1 the flag is never true, so the report shows a retried scenario twice.
    • The runner broadcasts test_case_finished before emitting the message. The retry filter re-runs the scenario from inside that event, so the first attempt's message comes out after the retry, with the retry's started id.

    #1907 / cucumber/cucumber-ruby-core#344 fix the reported symptom but keep these two. I've opened an alternative pair that keeps the retry decision in one place and asserts the message values:

    Both are drafts until core 20 is released. Happy to adjust if you'd rather go another way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions