Test::Unit 0.30 fails on Error.pm catch syntax and example path normalization
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- perl
- Domain
- compilers, testing-qa
Research direction
Run the Test::Unit 0.30 suite on both the JVM and interpreter backends, starting with t/tlib/ExceptionChecker.pm and the tests t/all_tests.t, t/assert.t, and t/try_examples.t. Trace the dynamic catch ... with parse failure and the ./ example-path discrepancy, then add project-owned regression coverage. Done means all 89 upstream tests pass on both backends without changing the upstream tests.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Perl
- Stars
- 64
- Forks
- 6
- Avg merge
- 5h 38m
- Merged PRs (30d)
- 170
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1508 · 1 comment ·
-
area:cpan-port area:platform enhancement
Difficulty 5/5 Over a week Newbie friendliness 30/100
fglock/PerlOnJava#1507 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1506 ·
All issues in fglock/PerlOnJava
Similar issues
-
documentation Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
trizen/youtube-viewer#456 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
connectivity Open
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
openfoodfacts/openfoodfacts-server#14657 · 4 comments ·