結論から言えば、『なんとか使える』レベル。「ないよりはマシ」。
bashスクリプトのカバレッジを計測するのた目的で、今回使用した環境は 64bit版 Ubuntu 17.04。
aptで簡単にインストールできた
機能の簡単な紹介
- ELF, Mach-Oの両形式でコンパイルされたバイナリ、Python、bash、shプログラムのカバレッジを計測するテスタで、Linux/OSXで動作
- オプションなしにコンパイルされたバイナリから直接カバレッジを取得
- 特別な工程なしに HTML, Cobertura XMLを出力
実行状況
とりあえず今日動かした状況は下記のとおり。$ kcov d ~/bin/bu
- dは出力先のディレクトリ、その次に計測対象のプログラムを指定する。
- 出力先ディレクトリは予め作っておく必要はない。
- 逆に出力先ディレクトリに以前の計測結果があるときはマージされるので、まっさらな状況から計測したいときは空にしておかなければならない。
- プログラムを指定するときは、絶対パスまたは相対パスを指定する必要があり、環境変数に指定したパスにあるものではプログラムは usageを表示してしまい計測できない。
- コンパイル時にオプションが不要とのことだが、ビルドID ファイルがない場合は -gまたは -ggdbオプションでビルドする必要がある。(ビルドIDファイルって何だ?)
- プログラムの後にプログラムに与えるオプションやオプション引数を指定できる。
レポート
前述のコマンドを実行するとつぎのような HTMLのレポートが得られた。gcovでもよく使われれ、見慣れた lcov風の書式。いい感じ。
しかし、コードを表示させると妙な行間があって見にくい。
charsetの指定がないため、文字化けも発生。 手動で UTF-8を選択すれば正しく表示されるが、ページを移動するたびにやらなければならない。
doneや fiのカウントが可笑しい。(他のカバレッジツールでも起こる問題だが)
いつくか難点はあるものの、ここまで作ってくれた作者に感謝するとともに、今後の改善を祈りながら使っていきたいと思う。
冒頭で「ないよりマシ」とか酷い書き方をしたが、実際には「使えねぇ」ものも数ある中では、使い続けようかという気にさせたツールの1つである。
0 件のコメント:
コメントを投稿