compiler-warnings wording: "-W error" when the setting is pytest filterwarnings, "no Perl pragmas found" when 112 of 116 modules have them, "no JavaScript linters found" when static-analysis credits oxlint/eslint in the same run
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- go, javascript, perl, python
- Bereich
- devtools
Rechercherichtung
Start with the Perl check in project_validator/ecosystems/perl.py (lines 124-149), where _every_module ignores test-fixture roles and _IMPLIES_BOTH is incomplete, then compare the Python wording in ecosystems/python/__init__.py around lines 322-326. Reproduce the Perl case with a lib/Foo.pm plus t/lib/Fixture.pm fixture and check whether the FAIL names the offending modules. Done when the pytest filterwarnings message names the actual setting and the linter messages agree with static-analysis output for oxlint, eslint and staticcheck.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
httpx/flask/black/pytest/fastapi/pydantic are told "strict Python warning settings are enabled: -W error" for filterwarnings = ["error"] (none passes -W error), and the sentence opens a FAIL; the four Perl projects FAIL "no Perl pragmas and lints found" because 1–4 test fixtures or bundled inc/ modules lack use strict while every product module has it (name the modules); vite FAILs "no JavaScript linters found; enable at least eslint" while static-analysis credits oxlint; graphql-eslint "no JavaScript linters found" while eslint is configured and scripted; toml-test "Go: no static analyzer runs" though staticcheck is seen.
Evidence from the corpus audit
toml-lang/toml-test / static-analysis
- kind: MESSAGE
- actual: FAIL: Go: no static analyzer runs
- expected: a message that acknowledges staticcheck runs (the validator does see it: compiler-warnings says only
go vetis missing) and that the check wants golangci-lint's extra linters; "no static analyzer runs" is false. - evidence:
.github/workflows/test.yml:9:- uses: 'dominikh/staticcheck-action@v1'; validator
project_validator/ecosystems/go.py:335-343: static-analysis asks only forgolangci-lint run. - repro: workflow with
uses: dominikh/staticcheck-action@v1. - confidence: medium
dimaMachina/graphql-eslint / compiler-warnings
- kind: MESSAGE
- actual: FAIL:
no JavaScript linters found; enable at least eslint - expected: a message consistent with
static-analysisin the same run:eslint is configured (.eslintrc.cjs, ...) but does not run(eslint is found: configured and scripted; what is unknown is whether the reusable workflow runs it). - evidence:
.eslintrc.cjs:1-3:module.exports = {/ignorePatterns: [...],/extends: ['@theguild', ...;package.json:15,18:"ci:lint": "pnpm lint --output-file eslint_report.json --format json",/"lint": "ESLINT_USE_FLAT_CONFIG=false eslint --ignore-path .gitignore --cache .",;.github/workflows/test.yml:12-14:uses: the-guild-org/shared-config/.github/workflows/lint.yml@main/with:/script: pnpm ci:lint - evidence (validator): the strict
.txtcorrectly says ERRORwhether the strict JavaScript linters are enabled is unknown; with--allow-unknownthe FAIL says "no ... linters found" althoughstatic-analysisin the same run sayseslint is configured (.eslintrc.cjs, ...) but does not run. - repro:
.eslintrc.cjs+package.jsonlintscript + a workflow whose only jobuses:an external reusable workflow; run with--allow-unknown. - confidence: medium
vitejs/vite / compiler-warnings
- kind: FALSE_NEGATIVE
- actual: FAIL:
JavaScript/TypeScript: no JavaScript linters found; enable at least eslintwhilestatic-analysisin the same run saysJavaScript/TypeScript: oxlint runs - expected: PASS: oxlint runs in CI (
pnpm lint) and is a JavaScript linter the validator knows. - evidence:
package.json:24:"lint": "oxlint ."; CILint: node-26, ubuntu-latestjob runs it; validatorecosystems/javascript/analysis.py:50-53
declaresname="oxlint"for static analysis, but the compiler-warnings linter set (docs: "eslint, biome lint / biome ci, or deno lint") omits oxlint. - repro:
package.json{"scripts":{"lint":"oxlint ."}},.oxlintrc.json, steprun: pnpm lint. - confidence: medium (the two checks contradict each other; which is intended is a policy question)
mojolicious/mojo, Perl-Critic/Perl-Critic, houseabsolute/perl-code-tidyall, rjbs/Dist-Zilla / compiler-warnings
- kind: FALSE_NEGATIVE
- actual: FAIL: Perl: no Perl pragmas and lints found; enable at least use strict and use warnings in every module
(Perl-Critic:missing Perl pragmas and lints: use strict and use warnings in every module) - expected: PASS (or FAIL naming the files): every product module passes; the only modules without
use strictare
test fixtures and bundled code: mojo 4 files undert/(all 112lib/**/*.pmpass), Perl-Critic
inc/Devel/AssertOS.pm(bundled third-partyinc/) andt/06_violation.d/source/Line.pm(not even Perl),
tidyall 18t/lib/TestFor/**/*.pmwhich use Test::Class::Most (it turns strict and warnings on), Dist-Zilla
corpus/dist/**fixtures pluslib/modules that use an in-repo pragma bundle. - evidence: mojo
t/mojolicious/lib/MojoliciousTest/PODTest.pm:1-3:package MojoliciousTest::PODTest;/ `` /1;;
mojo `t/mojolicious/lib/MojoliciousTest/Controller/Foo/Bar.pm:2`: `use Mojolicious::Controller -base;`;
Perl-Critic `t/06_violation.d/source/Line.pm:1-2`: `foo` / `#line 57 Thingy.pm`; tidyall
`t/lib/TestFor/Code/TidyAll/Basic.pm:13`: `use Test::Class::Most parent => 'TestHelper::Test::Class';`; Dist-Zilla
`lib/Dist/Zilla/App.pm:4`: `use Dist::Zilla::Pragmas;` and `lib/Dist/Zilla/Pragmas.pm:12-13`: `strict->import;` /
`warnings->import;`; validator `project_validator/facts/roles.py:27` `_ROLES` test directories are `("test",
"tests", "testing", "testdata", "spec", "specs", "tests", "fixtures")` (no `t`, `xt`, `inc`, `corpus`);
`project_validator/ecosystems/perl.py:144-149` `_every_module` judges every `Setting` of tool "Perl modules" with no
role filter and `project_validator/ecosystems/perl.py:124-127` `_IMPLIES_BOTH` lacks `Test::Class::Most`,
`Test::Class::Moose`, `Test::Most`. - repro:
lib/Foo.pmwith strict+warnings,t/lib/Fixture.pmwithpackage Fixture; 1;→ FAIL "no Perl pragmas and
lints found" (reproduced inrepro-perl). - confidence: high (fixtures); medium (in-repo pragma bundle, which needs following
useto a module inlib/)
mojolicious/mojo, Perl-Critic/Perl-Critic, houseabsolute/perl-code-tidyall, rjbs/Dist-Zilla / compiler-warnings
- kind: MESSAGE
- actual: FAIL: Perl: no Perl pragmas and lints found; enable at least use strict and use warnings in every module, perlcritic
- expected: FAIL naming the module(s) that lack the pragmas ("3 of 116 modules lack use strict: t/...") — the
all-or-nothing requirement gives the user nothing to act on, and "no ... found" is false when 112 of 116 modules
have them. - evidence:
project_validator/ecosystems/perl.py:144-149:if paths and all(setting.value for setting in found): yield Evidence(f"{len(paths)} module(s), every one")— evidence only on success; the facts carry the failing paths
(--facts:{"origin": "t/mojolicious/lib/MojoliciousTest/PODTest.pm:strict", "value": false}). - repro: as above.
- confidence: high
all projects with pytest `filterwarnings = ["error"] / compiler-warnings
- kind: MESSAGE
- actual: "strict Python warning settings are enabled: -W error" (httpx, flask, black, pytest, fastapi, pydantic);
in httpx/fastapi/pydantic this sentence sits inside a FAIL whose failure belongs to Shell/JavaScript. - expected: name what was found (
filterwarnings = ["error"]in[tool.pytest.ini_options]), since none of these
passes-W error; and a FAIL message should not open with "strict ... are enabled". - evidence:
encode__httpx/pyproject.toml:119:filterwarnings = [(next line"error",);
pallets__flask/pyproject.toml:108;psf__black/pyproject.toml:217:filterwarnings = ["error"];
fastapi__fastapi/pyproject.toml:253;pydantic__pydantic/pyproject.toml:188. Validator:
ecosystems/python/__init__.py:322-326one pattern named"-W error"covers-W error,PYTHONWARNINGSand
filterwarnings. - repro: pyproject with
filterwarnings = ["error"]only. - confidence: high
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
- Vorherrschende Sprache
- Python
- Sterne
- 4
- Forks
- 1
- Ø Merge
- 10 Std. 41 Min.
- Gemergte PRs (30 T.)
- 79
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cpp-best-practices/project_validator
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
cpp-best-practices/project_validator#267 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
cpp-best-practices/project_validator#263 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
cpp-best-practices/project_validator#260 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
cpp-best-practices/project_validator#259 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
cpp-best-practices/project_validator#255 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in cpp-best-practices/project_validator
Ähnliche Issues
-
add entry to blockOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Evtl. vergeben @0z5a hat das heute übernommen. Offenneeds-triage
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
plot_graph crashes when a mesh node has no m2m edgeEvtl. vergeben @tygvi hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
mllam/neural-lam#883 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
future-agi/future-agi#4092 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
WingedGuardian/GENesis-AGI#4641 ·
Maintainer antworten meist innerhalb von 1 Tag