Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#1,427 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
perl

Línea de trabajo

Ejecuta la suite Test::Unit 0.30 tanto en el backend JVM como en el de intérprete, empezando por t/tlib/ExceptionChecker.pm y las pruebas t/all_tests.t, t/assert.t y t/try_examples.t. Rastrea el fallo de análisis dinámico de catch ... with y la discrepancia en la ruta de ejemplo ./, y añade cobertura de regresión propia del proyecto. Se considera completado cuando las 89 pruebas upstream pasan en ambos backends sin cambiar las pruebas upstream.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Perl
Estrellas
64
Forks
7
Merge medio
4 h 27 min
PR fusionados (30 d)
178

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de fglock/PerlOnJava

Todos los issues de fglock/PerlOnJava

Issues similares

Más issues de Perl

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.