Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

14 CHANGELOG entries document 'meson test --suite abi:<name>', which exits 0 having run nothing

Open
#1,900 0 comments 0 reactions 0 assignees View on GitHub

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
Tech stack
c, python

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

documentation

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 abi is
    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.py should 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.md entry 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from semantic-reasoning/wirelog

All issues in semantic-reasoning/wirelog

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.