BuildExecutor's decisions in small classes with unit tests (v1.30.5) #99

Merged
mi merged 1 commits from mihoe/build-executor-decisions into main 2026-10-03 19:26:53 +02:00
Owner

BuildExecutorIntegrationTest stays excluded from PIT (PR#94, PR#97); instead, the decisions of BuildExecutor move into small classes with fast *UnitTest specs.

  • FinalStatus, BuildDeadline, CpuSampler, PhaseLedger, OverheadBudget, RestartDrain, BuildResultUpdate, GiteaStatusText.
  • No change of behaviour; the ordering in execute() is unchanged (terminal status before leaving currentBuilds(), drain flag before the slot is released).
  • All 43 cases of the integration spec stay.
  • PIT locally: 58 of 66 mutants of the new classes detected in 50 s, against 18 of 284 BuildExecutor mutants before without the integration spec; the 8 left are equivalent.

See docs/prs/2026-10-03-PR#99-build-executor-decisions-in-unit-tests.md.

🤖 Generated with Claude Code

BuildExecutorIntegrationTest stays excluded from PIT (PR#94, PR#97); instead, the decisions of BuildExecutor move into small classes with fast `*UnitTest` specs. - `FinalStatus`, `BuildDeadline`, `CpuSampler`, `PhaseLedger`, `OverheadBudget`, `RestartDrain`, `BuildResultUpdate`, `GiteaStatusText`. - No change of behaviour; the ordering in `execute()` is unchanged (terminal status before leaving `currentBuilds()`, drain flag before the slot is released). - All 43 cases of the integration spec stay. - PIT locally: 58 of 66 mutants of the new classes detected in 50 s, against 18 of 284 BuildExecutor mutants before without the integration spec; the 8 left are equivalent. See docs/prs/2026-10-03-PR#99-build-executor-decisions-in-unit-tests.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
mi added 1 commit 2026-10-03 19:13:01 +02:00
BuildExecutorIntegrationTest stays excluded from PIT (PR#94, PR#97).
The final status, the deadline, the processor time, the phase ledger,
the overhead budget, the restart drain, the result update and the Gitea
status text now live in classes of their own, each with a *UnitTest spec
that PIT runs in seconds. Behaviour and the ordering in execute() are
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi merged commit 260a84935f into main 2026-10-03 19:26:53 +02:00
mi deleted branch mihoe/build-executor-decisions 2026-10-03 19:26:53 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkator#99