PHP warnings-as-errors: say what is set (failOnWarning, --fail-on-deprecation) and what is missing

Aperta
#270 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
Mezza giornata
Idoneità per principianti
62/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
php, python
Ambito
testing, tooling

Direzione di ricerca

The FAIL message comes from the single Pattern with three lookaheads in project_validator/ecosystems/php/practices.py (around lines 31-38), which gives no evidence on a partial match. Read the failOnWarning and --fail-on-deprecation cases in corpus/projects.toml and the expected results in corpus/, then run the validator against the guzzle and laravel checkouts. Done when the message names what is set (for example failOnWarning in phpunit.xml) and what is missing, and the corpus expectations are updated to match.

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

Descrizione

guzzle's phpunit.xml has failOnWarning="true" and laravel's CI passes --fail-on-deprecation; both FAIL "warnings are not treated as errors in phpunit.xml, CI configuration or the Composer scripts it runs" (the documented all-three rule), with no mention of what is set.

Evidence from the corpus audit

guzzle/guzzle, laravel/framework / warnings-as-errors
  • kind: MESSAGE
  • actual: FAIL: warnings are not treated as errors in phpunit.xml, CI configuration or the Composer scripts it runs
  • expected: FAIL (per the documented all-three rule) but saying what is set and what is missing: guzzle's phpunit.xml
    has failOnWarning="true" (warnings literally are errors; notices and deprecations are not), laravel's CI passes
    --fail-on-deprecation on its stable matrix. "not treated as errors in phpunit.xml" is false as written.
  • evidence: guzzle phpunit.xml.dist:8-9: failOnRisky="true" / failOnWarning="true"; laravel
    .github/workflows/tests.yml:79: run: vendor/bin/phpunit --display-deprecation ${{ matrix.stability == 'prefer-stable' && '--fail-on-deprecation' || '' }} --no-coverage; validator
    project_validator/ecosystems/php/practices.py:31-38: one Pattern with three lookaheads, so a partial match yields
    no evidence at all.
  • repro: phpunit.xml.dist with failOnWarning="true" only.
  • confidence: medium

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Lingua principale
Python
Stelle
4
Fork
1
Merge medio
10h 41m
PR unite (30g)
79

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 cpp-best-practices/project_validator

Tutte le issue di cpp-best-practices/project_validator

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.