PadWalker peek_our misses file-scope our variables on JVM
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 57/100
Direção de pesquisa
Start with the existing PadWalker regression coverage for peek_our(0) inside a subroutine and trace how the JVM backend handles that lookup; the issue does not name the relevant files. Add project-owned top-level coverage for both JVM and interpreter backends, checking the expected variable names and references against system Perl. Run the regression tests and the Test::Expander upstream suite; done means the exports load and the suite proceeds.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
After adding the bundled Scalar::Readonly support for #1664, jcpan -t Test::Expander 2.7.1 gets past the missing XS implementation but all 26 test programs fail while loading Test::Expander::Constants. The module populates @EXPORT_OK from PadWalker::peek_our(0) at file scope; on the JVM that lookup does not return its package variables, so imports such as $COMMENT, %OPTION_PARSER, and %REST_CONSTANTS_TO_EXPORT are reported as not exported.
Reproduction
use PadWalker qw(peek_our);
our $probe = 17;
my $vars = peek_our(0);
print join(',', sort keys %$vars), "\n";
System Perl reports $probe; PerlOnJava's JVM reports an empty key list. The existing PadWalker regression covers peek_our(0) inside a subroutine, but not at file scope.
The affected upstream run used nice -n 19 timeout 1800 ./jcpan -t Test::Expander. It failed 26/26 programs before their tests could run, with “is not exported by Test::Expander::Constants” errors. This is a follow-up to #1664: the missing Scalar::Readonly XS support is now available, and this issue tracks the separate PadWalker::peek_our behavior needed by this consumer.
Expected behavior
PadWalker::peek_our(0) should expose package our variables at file scope with Perl-compatible names and references, so Test::Expander::Constants can build its export list and the upstream suite can proceed.
Regression coverage
Add project-owned coverage for top-level peek_our(0) on both JVM and interpreter backends, validate the oracle with system Perl, then rerun the Test::Expander upstream suite.
- Linguagem predominante
- Perl
- Estrelas
- 64
- Forks
- 7
- Merge médio
- 5h 25min
- PRs com merge (30d)
- 178
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de fglock/PerlOnJava
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
fglock/PerlOnJava#1651 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
fglock/PerlOnJava#1579 ·
Mantenedores costumam responder em até 1 dia
-
area:cpan-port area:unicode bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
fglock/PerlOnJava#1341 ·
Mantenedores costumam responder em até 1 dia
-
area:runtime bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
fglock/PerlOnJava#1700 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 12/100
fglock/PerlOnJava#1696 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de fglock/PerlOnJava
Issues semelhantes
-
bug help wanted
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 70/100
bioepic-data/bervo#145 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Type: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
inverse-inc/packetfence#9413 ·
Mantenedores costumam responder em até 1 dia
-
Ubuntu .deb packages ship all files owned by uid/gid 1001 (CI user runner) instead of root:rootAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Help-Wanted Needs-Triage Package-Update
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
microsoft/winget-pkgs#448814 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
FOODTURE
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
openfoodfacts/openfoodfacts-server#14853 · 1 comentário ·
Mantenedores costumam responder em até 1 dia