Erlang Common Test の run_test スクリプトを使わずにテストを実行
Erlang アプリケーションを配布する際には run_test スクリプトを同梱するのは難しい。開発者の環境の絶対パスがうめこまれてしまうから。
そのため ct モジュールを利用して直接テストを実行する必要がある。
ドキュメントを読みあさり、方法が分かったのでメモ。ct:run_test を呼べば良い。
呼び出し例
& erl -pa `pwd`/ebin -eval 'ct:run_test([{auto_compile, true}, {dir, "./test"}, {logdir, "./log"}, {refresh_logs, "./log"}, {cover, "./src/coverspec"}]).' -s init stop
ところで init stop と erlang halt どちらを呼ぶのがお行儀が良いんでしょうか。両方見かけた事があるのだけど。