testでskippedが多い場合は依存関係が満たされてないかもしれない

Sun, Jun 28, 2015 in debian

さて、ドキュメントにはテストについて色々書いてありました。

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ................ 
1..1
ok 1 - DBIx::Class::OptimisticLocking loaded ok
ok
t/01-dirty.t .................. skipped: needs DBD::SQLite for testing
t/02-dirty-ignored.t .......... skipped: needs DBD::SQLite for testing
t/03-all.t .................... skipped: needs DBD::SQLite for testing
t/04-all-ignored.t ............ skipped: needs DBD::SQLite for testing
t/05-version.t ................ skipped: needs DBD::SQLite for testing
t/06-version-custom-column.t .. skipped: needs DBD::SQLite for testing
t/07-version-with-ignored.t ... skipped: needs DBD::SQLite for testing
t/08-none.t ................... skipped: needs DBD::SQLite for testing
t/release-pod-coverage.t ...... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ........ skipped: these tests are for release candidate testing
All tests successful.
Files=11, Tests=1,  0 wallclock secs ( 0.05 usr  0.00 sys +  0.22 cusr  0.02 csys =  0.29 CPU)
Result: PASS

ふむ?skippedが多いですね。ということでDBD::SQLiteを提供するlibdbd-sqlite3-perlをBuild-Depends-Indepに追加したら一気にテストが増えました。

結論:例え問題なくビルドが通ったとしても、ビルドログを見てtestをより有効にするのを忘れないようにしよう。…でも、自動的にskippedでlog grepしてもうちょっとなんとか出来ないものですかね。

もうひとつは些細な話ですがパラレルビルドの話「dh $@ –parallel」という形で渡せば

   dh_auto_build -O--parallel
	make -j4

のように展開してくれます。デフォルトでは有効ではないのでこれも追加してみて、ダメなら外すという方向で。これの効果はソースによるので追加しても余り意味がないこともありますが、そう悪くなることはないので(2017年での注釈:dh10にしたらdefaultで–parallelが実行される)。