Skip to content

[Hackathon] BE-closure fan-out in "rerun --wait" aborts the batch and detaches sibling polls #105

Description

@Andy00L

Discord Username / User ID

interferon0

What does this improvement do?

On single-test testsprite test rerun --wait for a backend test whose dependency closure has 2+ members, if any member's poll throws a non-timeout error mid-flight (a 200 with a non-JSON body, or a transient AUTH_INVALID/NOT_FOUND/RATE_LIMITED), .catch(reject) rejects the whole fan-out: every already-collected result (including the named test's passed verdict) is discarded and the sibling polls are left detached with open fetches and timers. The two --all pools were fixed for exactly this failure; the closure fan-out was not.

Details / implementation notes

src/commands/test.ts:6143-6148 (pollMember rethrows any non-TimeoutError) and :6195 (.catch(reject)), with :6201-6228 only special-casing RequestTimeoutError. Mirror the fixed sibling pools (pollFreshAccepted ~5696, pollAccepted ~6897): make pollMember total (map ApiError/timeout/raw error to a captured result instead of throw) and replace .then(...).catch(reject) with the same recordSettled helper, plus a shared closure deadline so each member gets the time REMAINING rather than a fresh full --timeout. Note this is adjacent to the filed rerun exit-code work (#78/#33) but is a distinct code path and defect (fan-out totality + the named verdict being lost). No new dependency. Tests: a member's transient error is captured while siblings finish and the named passed verdict survives. PR to follow once assigned.

Confirmations

  • I have searched existing issues and this is not a duplicate.
  • I have provided my Discord identity above for reward coordination.

Activity

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

    hackathonCLI hackathon submissionsin-progressAssigned and actively being worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions