Skip to content

Three bug fixes - #12

Open
bmordue wants to merge 3 commits into
jakubsob:mainfrom
bmordue:fix/upstream-bugfixes
Open

bmordue wants to merge 3 commits into
jakubsob:mainfrom
bmordue:fix/upstream-bugfixes

Conversation

@bmordue

@bmordue bmordue commented Oct 27, 2026

Copy link
Copy Markdown

Three bug fixes, each with a regression test and (where user-visible) a NEWS entry.

  • timeout now applies to each mutant, not from submission. mirai's .timeout clock starts when a task is submitted, and muttest() submitted every mutant up front. Once the total run time exceeded timeout, all remaining mutants were reported as "Timed out". Mutants are now submitted at most workers at a time.
  • Workers restart after a mutant crashes or hangs its test process. A mutant that crashed its daemon (e.g. a segfault in compiled code), or timed out in code that ignores interrupts, left no usable daemon, so every later mutant waited out the full timeout. Daemons are now restarted and in-flight mutants resubmitted. Crashes are reported as "Test process crashed" instead of "Timed out".
  • Survived-mutant diffs handle line-count changes. ProgressMutationReporter printed the wrong diff when a mutation added or removed lines.

Ben Mordue and others added 3 commits October 27, 2026 17:35
mirai's .timeout clock starts when a task is submitted. muttest() queued
every mutant up front, so once total run time exceeded `timeout` all
remaining mutants were recorded as 'Timed out' errors. Submit at most
`workers` mutants at a time instead.

Co-Authored-By: Claude <noreply@anthropic.com>
A mutant that crashed its mirai daemon (e.g. a segfault in compiled code)
or timed out in code ignoring interrupts left no usable daemon, so every
later mutant waited out the full timeout and the run appeared to hang.
Restart the daemons after such a failure and resubmit in-flight mutants.
Report crashes as 'Test process crashed' rather than 'Timed out'.

Co-Authored-By: Claude <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant