cpanfileを使うようにしたらTravis CIでテストがコケた件
cpanm(App::cpanminus)は1.6000でcpanfileをサポートしましたが、Travis CIでcpanfileを使用したモジュールのテストがコケるという現象が発生していました。
原因
--notestオプションが指定されると、cpanfileの on 'test' で指定されたモジュールがインストールされないことが原因でした。
Travis CIではテストを実行する前に
cpanm --quiet --installdeps --notest .
を実行して依存モジュールをインストールしていたため、テスト用のモジュールがインストールされず、その後のテストでモジュールがロードできず 'Can't locate Test/Mock/Guard.pm in @INC' なような状態になります。
解決
cpanmの問題とするかどうか微妙でしたが、宮川さんが対応してくれました。
というわけで、この件は App::cpanminus-1.6101で修正されて、--notestオプションをつけた場合でも --installdepsで on 'test' の依存モジュールがインストールされるようになっています。