Data::Dumper::Simple 0.11 fails because Filter::Simple source filtering is not applied correctly
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Inizia eseguendo jperl -Ilib t/10dump.t e il comando --interpreter corrispondente, quindi confronta i test upstream che falliscono t/20import.t, t/30autowarn.t e t/40noparens.t. Leggi la registrazione e l’applicazione del filtro del codice sorgente dopo le istruzioni use, in particolare l’integrazione di Filter::Util::Call/Filter::Simple e la nuova tokenizzazione del codice sorgente rimanente. Il lavoro è completo quando tutti e quattro i test passano su entrambi i backend e un test di regressione mirato e specifico del progetto copre il comportamento del filtro.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Perl
- Stelle
- 64
- Fork
- 6
- Merge medio
- 5h 38m
- PR unite (30g)
- 170
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fglock/PerlOnJava#1508 · 1 commento ·
-
area:cpan-port area:platform enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
fglock/PerlOnJava#1507 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fglock/PerlOnJava#1506 ·
Tutte le issue di fglock/PerlOnJava
Issue simili
-
documentation Needs Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
trizen/youtube-viewer#456 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
connectivity Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
openfoodfacts/openfoodfacts-server#14657 · 4 commenti ·