[ Perl ]
コードカバレッジをチェックするDevel::Coverであるが、AutoSplit / AutoLoader を使っていると分割されたサブルーチンが対象にならない。WiKicker では AutoLoader を多用しているので、ここがチェックされないと意味がない。
ということで Devel::Cover下でテストする時は AutoLoader を使わないようしてみる。
perl Makefile.PL WIKICKER_NO_AUTOLOAD=1
とした時はExtUtils::MakeMaker::WriteMakefile に PM_FILTER として
q($(PERL) -e "while (<>) {s!^\\\\s*use\\\\s+AutoLoader.*!!g; s!^__END__!!g; print} print qq(\\n1;\\n); ")
を渡すように Makefile.PL を修正。これで
perl Makefile.PL WIKICKER_NO_AUTOLOAD=1 make cover -delete HARNESS_PERL_SWITCHES=-MDevel::Cover make test cover
とすると AutoLoader を使わないバージョンでチェックができる。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。
※内容は個人的見解であり所属組織とは関係ありません。