Data::Dumper::Simple 0.11 fails because Filter::Simple source filtering is not applied correctly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Empieza ejecutando jperl -Ilib t/10dump.t y el comando correspondiente --interpreter; después compara las pruebas upstream que fallan: t/20import.t, t/30autowarn.t y t/40noparens.t. Lee el registro y la aplicación del filtro de origen después de las sentencias use, especialmente la integración de Filter::Util::Call/Filter::Simple y la retokenización del código fuente restante. Se considera terminado cuando las cuatro pruebas pasan en ambos backends y una prueba de regresión específica del proyecto cubre el comportamiento del filtro.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Data::Dumper::Simple v0.11 fails its upstream test suite under PerlOnJava because its Filter::Simple source filter does not transform calls made after the module is imported.
This was observed in CPAN random tester run 20260913-205737-64746.
Reproduction
The upstream test suite passes under system Perl:
- 4 substantive test programs passed
- 35 tests passed in total
- The optional POD tests were skipped because their optional dependencies/files were unavailable
The same upstream tests fail under both PerlOnJava backends:
- JVM backend:
t/10dump.t,t/20import.t,t/30autowarn.t, andt/40noparens.tfail - Interpreter backend: the same four tests fail
Representative commands:
jperl -Ilib t/10dump.t
jperl --interpreter -Ilib t/10dump.t
Observed failures
t/10dump.t:Undefined subroutine &main::Dumpert/20import.t:Undefined subroutine &main::frobnitzt/30autowarn.t:Undefined subroutine &main::Dumpert/40noparens.t:Global symbol "$hash" requires explicit package name
Each failing test reports that it ran only its initial use_ok test before aborting.
Expected behavior
use Data::Dumper::Simple installs a Filter::Simple source filter. Calls such as:
Dumper($scalar, @array, %hash)
should be rewritten at compile time to an equivalent Data::Dumper->Dump call. The as => 'frobnitz' and autowarn options, as well as no-parentheses syntax, should work as they do under system Perl.
Initial diagnosis
The distribution is pure Perl and has no XS, native-library, display, network-service, or other platform prerequisite involved in these tests. The failures occur identically on the JVM and interpreter backends, indicating a shared frontend/source-filter compatibility problem rather than a backend-specific runtime issue.
The module uses Filter::Simple with FILTER_ONLY executable. The missing generated subroutine calls indicate that the filter is either not being applied to the remaining source after the import or its transformed source is not being correctly re-tokenized/compiled. The strict-vars error in t/40noparens.t is consistent with the no-parentheses source-filter path failing to produce the expected transformed expression.
Relevant implementation areas include source-filter registration and application after use statements, especially the Filter::Util::Call/Filter::Simple integration and remaining-source re-tokenization in the frontend.
Acceptance criteria
- All four substantive
Data::Dumper::Simpletest programs pass on the JVM backend. - The same tests pass on the interpreter backend.
as => 'frobnitz',autowarn, and no-parentheses calls are covered.- Add a project-owned focused regression test for the underlying source-filter behavior; retain the upstream distribution tests as integration coverage.
Environment
- CPAN random tester run:
20260913-205737-64746 - Distribution:
Data-Dumper-Simple-0.11 - Affected backends: JVM and interpreter
- System Perl: full substantive suite passes
- Lenguaje dominante
- Perl
- Estrellas
- 64
- Forks
- 6
- Merge medio
- 5 h 38 min
- PR fusionados (30 d)
- 170
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1508 · 1 comentario ·
-
Port IPC::SysV (low priority) Abiertoarea:cpan-port area:platform enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
fglock/PerlOnJava#1507 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1506 ·
Todos los issues de fglock/PerlOnJava
Issues similares
-
documentation Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
trizen/youtube-viewer#456 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
connectivity Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
openfoodfacts/openfoodfacts-server#14657 · 4 comentarios ·