tools: copy in spread-shellcheck from snapd
Metadata
Current evaluation
Merged the spread-shellcheck tool from snapd to enable shellcheck integration for spread tests. Approved by reviewer, passed CI, and updated 74 files with 508 additions and 58 deletions.
Suggested action: —
No scores available.
Issue body
We're considering packing spread-shellcheck into a snap, or maybe
seeing if shellcheck is interested, but meanwhile I thought I'd offer
it to you guys.
Here's how you use it:
1. `snap install --edge shellcheck`
2. `./tools/spread-shellcheck.py spread.yaml tests/spread/`
---
Most of the changes are minor; I purposefully didn't stop to think why you were comparing fixed strings using a regexp matcher. However if you search for `*/` and `*p` you'll find some tests I had to change a bit because of mis-using globs; I hope I understood what you thought you were doing :-)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged the spread-shellcheck tool from snapd to enable shellcheck integration for spread tests. Approved by reviewer, passed CI, and updated 74 files with 508 additions and 58 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged spread-shellcheck from snapd into snapcraft. The update adds a Python script to run shellcheck on spread tests, incorporating minor adjustments and glob pattern fixes. Successfully integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged spread-shellcheck from snapd into the tools directory. The update adds a Python wrapper script, usage instructions, and fixes for glob pattern misuses. Code coverage data was unavailable due to a missing base commit. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #196 lint: add shellcheck and spread-shellcheck linters | rockcraft | merged | Merged to add shellcheck and spread-shellcheck linters to the GitHub workflow. Includes minor compliance fixes. Approved by two reviewers with passing CI checks. Author inquired about documenting the shellcheck snap dependency. | |
| #9 lint spread tests with shellcheck | snapcraft-rocks | closed | Shellcheck linting for spread tests was implemented via merged pull request #14. The issue is closed. | |
| #201 lint: run shellcheck on spread.yaml | rockcraft | merged | Pull request to run shellcheck on spread.yaml was approved, passed CI, and merged with a four-line change across two files. | |
| #1084 tests: check for submodules before running spread | charmcraft | merged | Merged changes verifying the snapd-testing-tools submodule before running Spread tests. Adds a clear error if missing. Approved by a reviewer, passed CI, and merged with minimal modifications. | |
| #240 tests: check for submodules before running spread | rockcraft | merged | Merged. Adds a pre-check for the snapd-testing-tools submodule before running spread tests, providing a clear error if missing. Approved by two reviewers, passed CI, and merged successfully. | |
| #4105 tests: check for submodules before running spread | snapcraft | merged | Merged. Adds a pre-run check for the snapd-testing-tools submodule in spread tests to provide a clear error if missing. Approved by two reviewers, passed CI, and introduced no coverage changes. | |
| #2182 tests: add spread suite for autotools plugin | snapcraft | merged | Merged to master, consolidating Autotools plugin and snapd tests into a single Spread suite to resolve Launchpad bug #1783825. The commit modifies six files, reduces code by 16 lines, passed CI checks, and received reviewer approval prior to integration. | |
| #521 test(spread): add an improved snap inspector test | fetch-service | merged | Merged an improved snap inspector test that emulates system setup by stopping snapd, clearing device files, setting a global proxy, and restarting snapd to uncover network requests. Approved by two reviewers, passed all CI checks, and merged. | |
| #1272 tests: initial setup for the snapcraft snap tests with spread | snapcraft | merged | Merged to master following single reviewer approval. Introduced initial spread test infrastructure for snapcraft across four files (+39 lines). Code coverage remained stable at 95.33%. | |
| #763 fix(testing): handle spread interactive shell | craft-application | merged | Merged a fix that pauses the emitter and disables stream capture during interactive spread shell tests, enabling terminal interaction without cluttering logs. Approved by two reviewers, passed all CI checks, and verified with Snapcraft. |