Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Test::Unit 0.30 fails on Error.pm catch syntax and example path normalization

Đang mở
#1,427 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
perl
Lĩnh vực
compilers, testing-qa

Hướng nghiên cứu

Chạy bộ kiểm thử Test::Unit 0.30 trên cả backend JVM và backend trình thông dịch, bắt đầu với t/tlib/ExceptionChecker.pm cùng các test t/all_tests.t, t/assert.t và t/try_examples.t. Truy vết lỗi phân tích cú pháp động của catch ... with và sự khác biệt trong đường dẫn ví dụ ./, sau đó bổ sung độ bao phủ hồi quy do chính dự án sở hữu. Công việc được xem là hoàn tất khi cả 89 test upstream đều đạt trên cả hai backend mà không thay đổi các test upstream.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

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 — pass
  • t/assert.t — pass
  • t/try_examples.t — pass

Actual result

PerlOnJava reports 3 failed test programs and 1 failed subtest out of 4:

  1. t/all_tests.t and t/assert.t fail while loading t/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 { ... }

  2. t/try_examples.t runs, 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::Unit 0.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 ... with syntax 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.

Ngôn ngữ chính
Perl
Star
64
Fork
7
Merge trung bình
5 giờ 11 phút
Pull request đã merge (30 ngày)
186

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của fglock/PerlOnJava

Tất cả issue của fglock/PerlOnJava

Issue tương tự

Thêm issue về Perl

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.