当所有测试在本地通过时,为什么 panda 无法安装我的模块?

Why does panda fail to install my module when all tests pass locally?

我是 Pod-Perl5 a Perl 6 module that parses Perl 5 pod. Until the release of Perl 6.c, this module installed fine with panda install Pod::Perl5. Now it fails with an extensive list of errors (excerpt is below, full output is here 的作者)。当 运行 测试套件具有:prove --exec perl6 -r

时,所有测试均通过

我在 IRC #perl6 频道上询问过,并尝试了 "nuke everything, re-install" 策略。它没有用。还有其他人可以帮忙吗?

$ panda install Pod::Perl5
==> Fetching Pod::Perl5
==> Building Pod::Perl5
==> Testing Pod::Perl5

# Failed test 'found 8 paragraphs'
# at t/Grammar/01_formatting.t line 11
# expected: '8'
#      got: '1'
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 13

# Failed test 'match format text'
# at t/Grammar/01_formatting.t line 13
# expected: 'this text is an example of inline italicised/emphasised'
#      got: ''
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 17

# Failed test 'matches format text'
# at t/Grammar/01_formatting.t line 17
# expected: 'this text is italicised/emphasised 
# across 
# newlines'
#      got: ''
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 21

# Failed test 'matches format text'
# at t/Grammar/01_formatting.t line 21
# expected: 'italicised words'
#      got: ''
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 25

# Failed test 'matches format text'
# at t/Grammar/01_formatting.t line 25
# expected: 'italicised
# words'
#      got: ''
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 29

# Failed test 'matches format text'
# at t/Grammar/01_formatting.t line 29
# expected: 'bolded B<words> within italics!'
#      got: ''
Use of uninitialized value $v of type Any in string context
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at t/Grammar/01_formatting.t line 33

...

Panda 调用 prove 如下:

$prove-command, '-e', "$*EXECUTABLE $libs -Ilib", "--norc", '-r', 't/'

翻译成 bash 即:

prove -e "perl6 -Ilib" --norc -r t/

什么导致与您提供的输出完全相同。

请使用上面提供的信息在 https://github.com/tadzik/panda/issues 提交错误报告。

将子目录中的测试的 use lib 'lib'; 更改为 use lib '../lib'; 有助于。我不太确定是否应该这样做。