Perl: t/, xt/, inc/ and corpus/ are not auxiliary roles; `./Build authortest` runs the tests; Test::Perl::Critic in the tests is perlcritic; Test::Warnings in test classes
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 40/100
Direção de pesquisa
The Perl rules live in project_validator/ecosystems/perl.py: the tests-run command prefixes near line 61, PERLCRITIC and PERLCRITIC_ANALYZER around lines 153-203, and PERL_TEST_SETTINGS near line 164. Reproduce each false negative with the repro fixtures described in the issue (a Build.PL with a t/basic.t, an xt/critic.t using Test::Perl::Critic, and a t/lib module using Test::Warnings) and check the results against the corpus expectations. Done means those cases pass without changing the existing verdicts for other Perl projects in the corpus. Whether a Test::Perl::Critic author test should satisfy static-analysis is an open design question the maintainers should settle first.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Perl-Critic: FAIL "no CI runs prove -l t (or make test, ./Build test, dzil test)" though every job runs ./Build authortest, a Module::Build action defined in the repo that depends on test; static-analysis FAIL "perlcritic configured but does not run" though the author tests run Test::Perl::Critic (the profile doc says that counts); tidyall's test classes use Test::Warnings (fails any test on a warning) but the reader scans only *.t. The roles table lacks Perl's t/, xt/, inc/ (bundled), corpus/ (Dist-Zilla's test distributions), so fixtures fail compiler-warnings for all four projects.
Evidence from the corpus audit
Perl-Critic/Perl-Critic / tests-run
- kind: FALSE_NEGATIVE
- actual: FAIL: Perl: tests found in 50 file(s), but no CI configuration runs prove -l t (or make test, ./Build test, dzil test)
- expected: PASS: every CI job runs
./Build authortest, a Module::Build action defined in the repository that depends
ontestand addsxtto the test files. - evidence:
.github/workflows/testsuite.yml:31:run: ./Build authortest(also lines 79, macOS, windows jobs);
inc/Perl/Critic/Module/Build/Standard.pm:17-21:sub ACTION_authortest {...$self->depends_on('test');;
inc/Perl/Critic/Module/Build/Standard.pm:78-79:$self->test_files( qw< t xt > );/
$self->recursive_test_files(1);; validatorproject_validator/ecosystems/perl.py:61:prefixes = (("prove",), ("make", "test"), ("Build", "test"), ("perl", "Build", "test"), ("dzil", "test")). - repro:
Build.PL+t/basic.t+ workflow steprun: ./Build authortest→ WARN/FAIL (reproduced inrepro-perl).
Minimal fix direction: acceptBuild <action>wheninc/**/*.pmdefinessub ACTION_<action>that
depends_on('test'), or at leastauthortest/testall/testcover(Module::Build's own test actions). - confidence: high
Perl-Critic/Perl-Critic / static-analysis
- kind: FALSE_NEGATIVE
- actual: FAIL: Perl: perlcritic is configured (examples/perlcriticrc, perlcriticrc) but does not run
- expected: PASS: the author tests run Test::Perl::Critic over the code, and
./Build authortestruns them in every
job; the Perl profile doc says "perlcritic runs in CI (or Test::Perl::Critic in the tests)" and compiler-warnings for
the same project reportsfound perlcritic. - evidence:
xt/40_criticize-code.t:28:eval 'use Test::Perl::Critic; 1;';.github/workflows/testsuite.yml:31:
run: ./Build authortest; validatorproject_validator/ecosystems/perl.py:197-203PERLCRITIC_ANALYZERonly
accepts commandsstarts(("perlcritic",), ("tidyall",)), whilePERLCRITIC(line 153-157) accepts the
use Test::Perl::Criticpattern for compiler-warnings. Secondary:examples/perlcriticrcis an example file under
examples/named as the project's configuration. - repro:
xt/critic.twithuse Test::Perl::Critic;+ workflowrun: prove -l xt→ static-analysis says perlcritic
does not run. - confidence: high (medium on whether a Test::Perl::Critic author test should satisfy static-analysis; the doc says so)
houseabsolute/perl-code-tidyall / warnings-as-errors
- kind: FALSE_NEGATIVE
- actual: FAIL: Perl: warnings are not treated as errors in the modules and the tests
- expected: PASS: the test classes (Test::Class::Most modules loaded by every
t/*.t)use Test::Warnings, which fails
a test on any warning; the reader only scans*.t. - evidence:
t/lib/TestFor/Code/TidyAll/Basic.pm:15:use Test::Warnings;(same in the other 17t/lib/TestFor/**
modules);t/Basic.tloads it; validatorproject_validator/ecosystems/perl.py:164:
PERL_TEST_SETTINGS = requirement_reader("Perl tests", ("*.t",), (PERLCRITIC, TEST_WARNINGS)). - repro:
t/lib/TestFor/Foo.pmwithuse Test::Warnings;+t/foo.twithuse TestFor::Foo;→ FAIL. - confidence: medium (requires reading
.pmundert/as test code, which is again thet/role question)
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
- Linguagem predominante
- Python
- Estrelas
- 4
- Forks
- 1
- Merge médio
- 10h 41min
- PRs com merge (30d)
- 79
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cpp-best-practices/project_validator
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
cpp-best-practices/project_validator#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
cpp-best-practices/project_validator#263 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
cpp-best-practices/project_validator#260 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
cpp-best-practices/project_validator#259 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
cpp-best-practices/project_validator#255 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cpp-best-practices/project_validator
Issues semelhantes
-
add entry to blockAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Talvez já em andamento @0z5a assumiu hoje. Abertaneeds-triage
Dificuldade 2/5 Meio dia Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 2 dias
-
plot_graph crashes when a mesh node has no m2m edgeTalvez já em andamento @tygvi assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
mllam/neural-lam#883 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
future-agi/future-agi#4092 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
WingedGuardian/GENesis-AGI#4641 ·
Mantenedores costumam responder em até 1 dia