2

CGI::Github::Webhookと呼ばれる Perl モジュールがあり、そのテスト スイートは今のところブランチ master の Travis CI で正常に動作します。しかし、これは CGI スクリプトを作成するためのモジュールであるため、CGI::Testでテストしたいと考えていました。

しかし、ブランチで実行されたすべての Travis CI はcgi-testこれまでのところ失敗しています。Perl 5.24 以降での実行を除いて、失敗したすべての実行には次の行が含まれていましたが、パス内の Perl バージョン番号が異なっていました。

Attempt to reload List/Util.pm aborted.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Sub/Exporter/Progressive.pm line 9.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Sub/Exporter/Progressive.pm line 9.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Devel/GlobalDestruction.pm line 11.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Devel/GlobalDestruction.pm line 11.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo/_Utils.pm line 21.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo/_Utils.pm line 21.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo.pm line 4.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo.pm line 4.
Compilation failed in require at /home/travis/build/xtaran/CGI-Github-Webhook/build_dir/lib/CGI/Github/Webhook.pm line 11.
BEGIN failed--compilation aborted at /home/travis/build/xtaran/CGI-Github-Webhook/build_dir/lib/CGI/Github/Webhook.pm line 11.
Compilation failed in require at ./cgitest.pl line 10.
BEGIN failed--compilation aborted at ./cgitest.pl line 10.
script /cgi-bin/cgitest.pl generated no valid headers at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/CGI/Test.pm line 468.
Use of uninitialized value $in_fname in unlink at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/CGI/Test.pm line 469.
Use of uninitialized value $in_fname in concatenation (.) or string at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/CGI/Test.pm line 469.
can't unlink : No such file or directory at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/CGI/Test.pm line 469.

Perl 5.22 での現在の最新の実行からの例。Perl 5.24 の症状は多かれ少なかれ同じですが、最初のエラー メッセージの表現が異なっているようです。

ここで何がうまくいかないのか誰にもわかりませんか?これを修正する機会さえありますか?私にはバグのように見えます。しかし、どのモジュールで?CGI-TestScalar-List-Utils、またはXSLoaderに対する一致するバグ レポートは見つかりませんでしたが、新しい問題ではないように思われるため、そのような問題は既に報告されていると予想していました。(最初に気づいたのは数ヶ月前)

ただし、Debian Unstable (現在の Perl バージョン 5.22) でシステム提供の Perl および Perl モジュールを使用してそのテスト スイートを実行しても失敗しないため、ローカルで問題を実際に再現することはできません。

4

1 に答える 1

6

自分で見つけました:#!/usr/bin/perlテスト スイートのサンプル CGI スクリプトのシバン行でした (および/または の同じシバン行でもある可能性がありますt/cgi-test.t)。

それらを変更して#!/usr/bin/env perl問題を修正しました。つまり、テスト済みの CGI スクリプトがperlperlbrew でインストールされたものではなくシステムで実行されていました。

于 2016-05-29T16:33:20.653 に答える