When using incremental mutation testing (via gitDiffRef and gitProjectRoot in mull.yml) with ccache, subsequent full mutation testing runs produce incomplete or corrupted results (e.g., fewer mutants or incorrect kill statuses). This seems to happen because ccache caches bitcode from the incremental run’s subset of changed files, causing mismatches in full runs. Clearing ccache (ccache -C) fixes it, but this shouldn’t be required.
Environment
mull-runner-18 --version
Mull: Practical mutation testing for C and C++
Home: https://github.com/mull-project/mull
Docs: https://mull.readthedocs.io
Support: https://mull.readthedocs.io/en/latest/Support.html
Version: 0.26.1
Commit: 859af43
Date: 06 Apr 2025
LLVM: 18.1.3
When using incremental mutation testing (via
gitDiffRefandgitProjectRootinmull.yml) with ccache, subsequent full mutation testing runs produce incomplete or corrupted results (e.g., fewer mutants or incorrect kill statuses). This seems to happen because ccache caches bitcode from the incremental run’s subset of changed files, causing mismatches in full runs. Clearing ccache (ccache -C) fixes it, but this shouldn’t be required.Environment