Skip to content

fix(runs): forget a deleted run's mutant marks and coverage - #137

Merged
roxblnfk merged 2 commits into
mainfrom
fix/history-delete-stale-marks
Oct 16, 2026
Merged

roxblnfk merged 2 commits into
mainfrom
fix/history-delete-stale-marks

Conversation

@roxblnfk

Copy link
Copy Markdown
Collaborator

🔍 What was changed

  • When Clear History or the retention limit deletes a run's archive, the editor no longer keeps that run's mutant marks, and the Testo coverage bundle applied from that run is closed (its gutters and the Coverage view go with it).
  • Kept as before: closing the Mutations window or starting a run without coverage leaves marks and coverage in place, as the platform does with coverage until it is hidden or replaced. The run a tab is still showing is only marked Discard by Clear History, so its marks stay until the next prune deletes it.

Why?

The archive was deleted, but TestoMutationService kept the run in memory and the applied TestoCoverageSuite still pointed at its runDir, so the marks led into deleted diffs, reports and covering tests.

Checklist

  • How was this tested:
    • Unit tests added (TestoMutationEditorMarksPsiTest: a cleared run's marks disappear)
    • check buildPlugin verifyPlugin for 262 locally: only the known Windows failures, verifier Compatible
    • Closing the coverage bundle checked in a running IDE

Clearing the history or the retention pruning a run deleted its archive, but the mutation runs kept in memory and the applied coverage bundle still pointed into it: the editor kept the run's mutant marks and coverage gutters, and they led into deleted diffs and reports. TestoRunStore now hands the directories it deleted to TestoMutationService, which drops their runs, and closes the Testo coverage bundle whose run is among them.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Qodana for JVM

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked

View the detailed Qodana report

To be able to view the detailed Qodana report, you can either:

To get *.log files or any other Qodana artifacts, run the action with upload-result option set to true,
so that the action will upload the files as the job artifacts:

      - name: 'Qodana Scan'
        uses: JetBrains/qodana-action@v2026.2.2
        with:
          upload-result: true
Contact Qodana team

Contact us at qodana-support@jetbrains.com

…mutated

The open tab of a deleted run made it current again on selection, bringing its marks back, and its Restart recreated the deleted directory. A run whose mutation is in progress is no longer deleted: between the processes of a rerun nothing protects its archive. Clearing the history marks it discarded instead, so the next prune takes it.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
@roxblnfk
roxblnfk merged commit 473f66a into main Oct 16, 2026
8 checks passed
@roxblnfk
roxblnfk deleted the fix/history-delete-stale-marks branch October 16, 2026 23:38
roxblnfk added a commit that referenced this pull request Oct 16, 2026
* fix(runs): forget a deleted run's mutant marks and coverage

Clearing the history or the retention pruning a run deleted its archive, but the mutation runs kept in memory and the applied coverage bundle still pointed into it: the editor kept the run's mutant marks and coverage gutters, and they led into deleted diffs and reports. TestoRunStore now hands the directories it deleted to TestoMutationService, which drops their runs, and closes the Testo coverage bundle whose run is among them.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(runs): close a deleted run's Mutations tabs and keep a run being mutated

The open tab of a deleted run made it current again on selection, bringing its marks back, and its Restart recreated the deleted directory. A run whose mutation is in progress is no longer deleted: between the processes of a rerun nothing protects its archive. Clearing the history marks it discarded instead, so the next prune takes it.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
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