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
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Python
- スター
- 4
- フォーク
- 1
- 平均マージ
- 10時間 41分
- マージ済み PR(30日)
- 79
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cpp-best-practices/project_validator のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
cpp-best-practices/project_validator#263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cpp-best-practices/project_validator#259 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
cpp-best-practices/project_validator#255 ·
メンテナーはふだん 1 日以内に返信
cpp-best-practices/project_validator の issue をすべて見る
似ている issue
-
plot_graph crashes when a mesh node has no m2m edge対応中かも @tygvi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mllam/neural-lam#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
enhancement possible-duplicate
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
AOSSIE-Org/PictoPy#1715 · コメント 2 件 ·
メンテナーはふだん 6 日以内に返信
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
NVIDIA/auto-ontology#511 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ethereum/execution-specs#3996 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
メンテナーはふだん 1 日以内に返信