Parse::Yapp::KeyValue build loses generated Parser.pm
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- perl
- Ambito
- build-system, testing-qa
Direzione di ricerca
Inizia riproducendo la build pulita di Parse::Yapp::KeyValue e analizza MakeParser.PL, il target del Makefile generato e la gestione della build e del filesystem di PerlOnJava. Confronta i risultati dell’interprete e della JVM, quindi usa t/1pod.t e t/2keyvalue.t come suite di regressione mirata. Il lavoro è completato quando la generazione di un Parser.pm annidato riesce oppure la build fallisce immediatamente, ed entrambi i test passano su entrambi i backend.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Parse::Yapp::KeyValue 0.1 passes its complete upstream test suite under system Perl, but PerlOnJava fails because the distribution's build-time MakeParser.PL step does not create the generated Parser.pm file.
Reproduction
CPAN random tester run: 20260918-141920-96054
Distribution: Parse::Yapp::KeyValue 0.1 (reported module version is 0.10)
The exact prerequisite distributions were installed into an isolated library for the system-Perl comparison:
Parse::Template3.08Parse::Lex2.21Parse::Yapp1.21
System Perl 5.42.2:
All tests successful.
Files=2, Tests=17
Result: PASS
PerlOnJava:
Files=2, Tests=2
Result: FAIL
Failed 1/2 test programs. 1/2 subtests failed.
Failure details
The distribution's MakeParser.PL contains:
my $path = 'blib/lib/Parse/Yapp/KeyValue';
my $file = "$path/Parser.pm";
my $parser = new Parse::Yapp(inputfile => 'grammar.yp');
mkdir $path || die "could not create directory $path: $!";
open(FILE, ">$file") || die "unable to open $file: $!";
On PerlOnJava, make invokes this generator and reports:
unable to open blib/lib/Parse/Yapp/KeyValue/Parser.pm: No such file or directory at MakeParser.PL line 10.
make: [pl_files] Error 2 (ignored)
The generated file is absent afterward. The make target nevertheless reports a successful build because the generator error is ignored. The subsequent test failure is:
Can't locate Parse/Yapp/KeyValue/Parser.pm in @INC
and t/2keyvalue.t cannot load Parse::Yapp::KeyValue.
The other test file, t/1pod.t, passes.
Scope and diagnosis
This is reproducible on the current PerlOnJava build with a clean extracted distribution. It is not caused by Parse::Yapp's grammar generation: running the same MakeParser.PL with the interpreter backend succeeds when the destination parent directory is pre-created and produces Parser.pm correctly.
The failure is therefore in PerlOnJava's build/filesystem handling for the nested generated-file destination, or in the interaction between that handling and the generated Makefile target. The ignored generator error also allows an incomplete build to proceed to testing.
Expected behavior
make should generate blib/lib/Parse/Yapp/KeyValue/Parser.pm successfully, or fail the build immediately if generation fails. After generation, both t/1pod.t and t/2keyvalue.t should pass on the JVM and interpreter backends.
Please add a focused regression test for nested directory creation/generated-file output and verify the full Parse::Yapp::KeyValue suite after the fix.
- Lingua principale
- Perl
- Stelle
- 64
- Fork
- 6
- Merge medio
- 4h 29m
- PR unite (30g)
- 185
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi 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:database bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
fglock/PerlOnJava#1605 ·
I maintainer di solito rispondono entro 1 giorno
-
area:cpan-port area:database bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
fglock/PerlOnJava#1604 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fglock/PerlOnJava#1579 ·
I maintainer di solito rispondono entro 1 giorno
-
area:cpan-port area:unicode bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
fglock/PerlOnJava#1341 ·
I maintainer di solito rispondono entro 1 giorno
-
area:runtime bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
fglock/PerlOnJava#1610 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di fglock/PerlOnJava
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ESCOMP/CAM#1701 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
-
language/en needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
kubernetes/website#57846 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
objectionary/eolang.sty#184 ·