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

Aperta
#1,900 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
56/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
c, python

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
C
Stelle
18
Fork
2
Merge medio
10h 5m
PR unite (30g)
146

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di semantic-reasoning/wirelog

Tutte le issue di semantic-reasoning/wirelog

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.