14 CHANGELOG entries document 'meson test --suite abi:<name>', which exits 0 having run nothing
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 56/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- build-system, documentation, testing
Research direction
Start by searching CHANGELOG.md for the 14 suite abi: entries and read the testing section of CONTRIBUTING.md. Check how meson test selects a named test versus a suite, then review scripts/ci/check-changelog-format.py for the proposed validation. Done means no changelog entry silently runs nothing, the canonical single-gate command is documented, and the decision on adding a check is recorded.
Written by the indexing model from the issue text.
Description
Found by the Critic gate during #1814 (PR #1897). Not that change's defect —
it follows a notation this repository has used since #733 — so it was recorded
rather than blocking, and it belongs in its own issue because the remedy is
repository-wide.
The gap
14 CHANGELOG.md entries tell a reader to run a single gate as
meson test --suite abi:<testname>. Meson's --suite accepts name,
:suite or project:suite and never matches a test name, so that command
exits 0 having run nothing:
$ meson test -C build --suite abi:subprojects_ignored
No suitable tests defined.
$ echo $?
0
Compare the forms that do work:
$ meson test -C build subprojects_ignored
1/1 abi - wirelog:subprojects_ignored OK 0.06s
$ meson test -C build abi:subprojects_ignored
ERROR: ... does not match any test
So the documented invocation is the worst of the three: the one that works
prints a result, the one that is wrong errors loudly, and the one we publish
is silently green.
Why this is worth an issue rather than a footnote
Exit 0 having asserted nothing is the exact failure class #1301 exists to
close (meson reads 0 as a pass, so a gate that cannot check anything must
exit 77) and the class #1814's gate was written for. Publishing a command
with that property, fourteen times, in the file readers reach for when they
want to reproduce a gate, undercuts both.
The likely consequence is not a broken build — it is someone verifying a gate,
seeing no failure, and concluding the gate passed.
$ grep -c 'suite abi:' CHANGELOG.md
14
They go back to #733 and include abi:abi_manifest, abi:changelog_format,
abi:threading_doc, abi:public_prefix among others.
Scope
- Decide the canonical spelling for "run this one gate".
meson test -C build <testname>is the form that runs it;meson test -C build --suite abiis
the form that runs the suite. Both are unambiguous;--suite abi:<name>is
neither. - Correct the 14 entries, or add a note at the top of the changelog if
rewriting historical entries is unwanted — but a wrong command in a released
entry stays wrong either way, so correcting is probably right. - Consider whether
scripts/ci/check-changelog-format.pyshould reject a
--suite <x>:<y>form where<y>is a known test name. It already parses
the[Unreleased]section; extending it to the whole file is a bigger
change and may not be wanted.
Acceptance criteria
- No
CHANGELOG.mdentry documents an invocation that exits 0 without
running the test it names. - The canonical single-gate invocation is stated once, somewhere a
contributor will find it (CONTRIBUTING.md's testing section is the
obvious place). - A check rejects the non-running form, or the decision not to add one is
recorded with its reason.
Relates to #1814, #1301, #733.
- Dominant language
- C
- Stars
- 18
- Forks
- 2
- Avg merge
- 11h 33m
- Merged PRs (30d)
- 296
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from semantic-reasoning/wirelog
-
Doc: insert executor and incremental consolidation leave sorted runs, not globally sorted headsOpen
Difficulty 1/5 Under an hour Newbie friendliness 83/100
semantic-reasoning/wirelog#2133 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
semantic-reasoning/wirelog#2042 ·
Maintainers usually reply within 1 day
-
p2-medium
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
semantic-reasoning/wirelog#1914 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
semantic-reasoning/wirelog#2129 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
semantic-reasoning/wirelog#2128 ·
Maintainers usually reply within 1 day
All issues in semantic-reasoning/wirelog
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ARM-software/CMSIS-DSP#354 ·
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
documentation good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ai-quokka-wannabe/link#40 ·
-
Add `pdfcpu` to the pantryPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
eunomia-bpf/agentsight#240 ·
Maintainers usually reply within 1 day