test: add a spread test for pebble pruning
Metadata
Current evaluation
Merged test coverage for pebble pruning to detect stat discrepancies when identical binaries exist in base and lifecycle layers. Approved by two reviewers and passed CI checks prior to integration.
Suggested action: —
No scores available.
Issue body
The existing pruning mechanism is enough to remove the pebble binary from the lifecycle layer if an identical binary already exists in the base layer, which is the case as of 26.04. Add a more specific version of the pruning test because if both files are present but with different stats we want to know about it (why did it happen?)
---
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md).
- [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged test coverage for pebble pruning to detect stat discrepancies when identical binaries exist in base and lifecycle layers. Approved by two reviewers and passed CI checks prior to integration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a change adding a spread test for pebble pruning. The test validates behavior when identical binaries exist in base and lifecycle layers with differing file stats, ensuring unexpected discrepancies are caught. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a spread test for pebble pruning. The test verifies identical binaries in base and lifecycle layers have matching stats, ensuring the pruning mechanism correctly handles file discrepancies. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #645 fix(spread): Pebble no longer supports -v with exec | rockcraft | merged | Merged a one-line fix to update a failing spread test after Pebble removed -v support for the exec command. Approved by two reviewers and passed CI checks. | |
| #1287 tests: minor cleanups on the spread tests | snapcraft | merged | Merged minor spread test cleanups into master. Modified four files with 16 additions and 6 deletions. Approved by one reviewer with zero unresolved comments, maintaining 95.27% coverage upon integration. | |
| #13 test(spread): add more spread tests | snapcraft-rocks | merged | Successfully merged spread tests covering architectures, chisel slices, craftctl, package-repositories, and patchelf. Approved by two reviewers across 15 files (+206/-5 lines). | |
| #304 Pebble doc and test updates | rockcraft | merged | Merged updates to Pebble documentation and spread tests. Fixed formatting issues and aligned content with recent Pebble features like --args. Approved by three reviewers and passed CI checks across ten files. | |
| #2379 test(spread): per-base destructive mode tests | charmcraft | merged | Merged following approval by two reviewers. Added per-base destructive mode tests for spread and removed a redundant uv test. Changes were integrated despite mixed CI results. | |
| #534 test(spread): workaround for flaky test | fetch-service | merged | Merged a workaround for a flaky spread test (issue #533). The change adjusts one file (+2/-1 lines) to skip a no-op name query check while retaining other validations. Approved by two reviewers and passed all CI checks. |