test(spread): fix cross-test contamination
Metadata
Current evaluation
Merged PR #1304: spread variants shared the python-from-chisel-bare dir, causing cross-test contamination; each test now copies a clean rockcraft.yaml template in first (+6 lines, 2 files).
Resolution: closed resolved
Reason: The PR itself was merged into rockcraft main (approved by 2 reviewers, 0 unresolved comments) with CI passing, fixing the spread test contamination by copying a clean rockcraft.yaml into the shared python-from-chisel-bare directory at test start.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Multiple spread variants use the same 'python-from-chisel-bare' directory, so start the test by copying over a clean rockcraft.yaml template.
---
- [ ] 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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1304: spread variants shared the python-from-chisel-bare dir, causing cross-test contamination; each test now copies a clean rockcraft.yaml template in first (+6 lines, 2 files). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged canonical/rockcraft#1304 to isolate spread variants by copying a clean rockcraft.yaml template into the shared python-from-chisel-bare directory before each test. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged fix for spread test cross-contamination. Resolved by copying a clean rockcraft.yaml template at test start to isolate variants. Approved by two reviewers and passed CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
5
Complexity:
15
Confidence:
90
|
needs review | Fixes cross-test contamination in spread tests by copying a clean rockcraft.yaml template at test start. Currently awaiting CI and maintainer review. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #13 test(spread): add more spread tests | snapcraft-rocks | merged | Merged PR #13 added Spread tests for architectures, Chisel slices, craftctl, package repositories, and patchelf (+206/-5 across 15 files). | |
| #519 spread: reorganize spread tests | rockcraft | merged | Merged PR #519 as commit 90d85343, consolidating most spread tests in the renamed rockcraft suite on Jammy VMs and adding a foreign suite for cross-system tests. | |
| #1325 test(spread): consolidate basic init/build tests | charmcraft | merged | Merged PR #1325 as commit 90e25caf, consolidating basic Spread init/build tests for CRAFT-2127 and reducing duplicated setup across four files. | |
| #162 Use Chisel `main` branch for Spread tests | rockcraft | closed | Chisel PR canonical/chisel#36 merged, enabling Rockcraft Spread tests to use Chisel main after the temporary development branch was removed. | |
| #1293 test: update 25.10 spread tests with --ignore=unmaintained | rockcraft | merged | Merged PR kept 25.10 coverage rather than deleting scenarios: added --ignore=unmaintained to run_rockcraft pack across spread tests (5577a19) and moved test_project_service_devel_bases base to ubuntu@26.04 (9e7f8c2). | |
| #943 test(spread): test on more bases | craft-application | merged | Merged PR #943: added an external Python runtime for testcraft and expanded Spread tests across multiple snap bases to detect base-specific bugs earlier. | |
| #174 tests: check before handling rockcraft instances | rockcraft | merged | Merged PR #174 added an existence check before Rockcraft LXC instance cleanup, so spread tests that create no instances no longer fail during teardown. | |
| #1021 test(spread): fix python3.6 test | rockcraft | merged | Merged in canonical/rockcraft#1021 (commit 3266ca40), replacing unavailable Deadsnakes Python 3.6 with the default interpreter and explicit removal of python3 symlinks. | |
| #723 fix(testing): more intelligent test handling | craft-application | merged | Merged PR #723 via commit 6b319b77, running Spread tests as root and strictly validating only top-level spread.yaml keys. | |
| #100 tests: print rockcraft log files on spread failure | rockcraft | merged | Merged in commit 3a19387b: Spread failures now print the latest Rockcraft log for improved diagnostics. |