Test::Unit 0.30 fails on Error.pm catch syntax and example path normalization
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- perl
- 領域
- compilers, testing-qa
調査の方向性
Test::Unit 0.30 スイートを JVM バックエンドとインタープリターバックエンドの両方で実行し、まず t/tlib/ExceptionChecker.pm と、テスト t/all_tests.t、t/assert.t、t/try_examples.t から始めます。動的な catch ... with のパース失敗と、例のパス ./ の不一致を追跡し、プロジェクト側で回帰テストを追加します。両方のバックエンドで upstream の 89 個のテストがすべて成功し、upstream のテストを変更していなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
The CPAN compatibility run 20260918-141920-96054 reports Test::Unit 0.30 as a failure, although the same upstream distribution passes completely under system Perl.
Reproduction
Run the normal Test::Unit 0.30 test suite with PerlOnJava. The failure affects both the JVM backend and the interpreter backend.
Expected result
System Perl passes all 3 test programs and 89 tests:
t/all_tests.t— passt/assert.t— passt/try_examples.t— pass
Actual result
PerlOnJava reports 3 failed test programs and 1 failed subtest out of 4:
-
t/all_tests.tandt/assert.tfail while loadingt/tlib/ExceptionChecker.pm:Bareword found where operator expected (Do you need to predeclare "with"?) at t/tlib/ExceptionChecker.pm line 37, near "with"The affected Error.pm syntax is the dynamic exception selector form:
catch $exception_class with { ... } -
t/try_examples.truns, but its golden-output comparison fails because PerlOnJava reports:1) ./examples/fail_example.pm:19 - test_fail(fail_example)while the expected upstream output is:
1) examples/fail_example.pm:19 - test_fail(fail_example)
Impact
This is a pure-Perl compatibility failure, not an XS/native dependency or environmental prerequisite. The parser failure prevents most of the suite from compiling, and the path discrepancy breaks the remaining example-output assertion.
Acceptance criteria
catch $exception_class with { ... }parses and executes equivalently to system Perl on both backends.Test::Unit0.30 passes all upstream tests on both backends.- The example failure path is normalized consistently with Perl behavior, without changing the upstream tests.
- Add focused project-owned regression coverage for both the dynamic
catch ... withsyntax and the./path discrepancy.
Evidence
- CPAN run:
20260918-141920-96054 - Distribution:
Test-Unit-0.30 - System Perl result:
PASS, 3 files / 89 tests - PerlOnJava result:
FAIL, 3 files / 4 observed subtests - Both JVM and interpreter backends reproduce the parser failure.
The GitHub duplicate search was attempted during classification but the GitHub API was unavailable; please check for related parser or path-normalization issues before merging this report.
- 主要言語
- Perl
- スター
- 64
- フォーク
- 7
- 平均マージ
- 5時間 11分
- マージ済み PR(30日)
- 186
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fglock/PerlOnJava のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
fglock/PerlOnJava#1651 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
fglock/PerlOnJava#1579 ·
メンテナーはふだん 1 日以内に返信
-
area:cpan-port area:unicode bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
fglock/PerlOnJava#1341 ·
メンテナーはふだん 1 日以内に返信
-
area:performance area:runtime bug
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
fglock/PerlOnJava#1723 ·
メンテナーはふだん 1 日以内に返信
-
DateTime::subtract fails when nanosecond result crosses midnight対応中かも @fglock が今日担当しました。 オープンarea:runtime bug high-impact
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
fglock/PerlOnJava#1720 ·
メンテナーはふだん 1 日以内に返信
fglock/PerlOnJava の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug help wanted
難易度 2/5 1時間未満 初心者へのやさしさ 70/100
bioepic-data/bervo#145 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Type: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
inverse-inc/packetfence#9413 ·
メンテナーはふだん 1 日以内に返信
-
Ubuntu .deb packages ship all files owned by uid/gid 1001 (CI user runner) instead of root:rootオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
Help-Wanted Needs-Triage Package-Update
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/winget-pkgs#448814 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信