質問

テストが計装でコンパイルされているため、テストカバレッジレポートを取得できるAutoToolsプロジェクトのセットアップに成功しました。

「Make Check」に成功した後、Source DirでLCOVを実行することでレポートを取得できます。

私は今、このステップを自動化したい問題に直面しています。これを「チェックする」に追加するか、それを別の目標にするために「チェックカバレッジを作る」ことをしたいと思います。理想的には、結果を解析し、カバレッジが特定の割合を下回った場合に失敗したいと思います。問題は、カスタムターゲットをまったく追加する方法を理解できないことです。

私が得た最も近いのは見つけたことでした これ AutoTools Configの例ですが、そのプロジェクトのどこに目標「LCOV」が追加されているのかわかりません。 M4/auxdevel.m4でいくつかの構成フラグしか表示されません。

任意のヒント?

役に立ちましたか?

解決

Makefile.amのターゲットに追加の手順を追加するだけで、これが私が最終的に(#http://www.enlightenment.org/svn/e/trunk/ewl/makefile.amに触発されました):

#http://www.enlightenment.org/svn/e/trunk/ewl/Makefile.am
if ENABLE_COV
cov-reset:
    @rm -fr coverage
    @find . -name "*.gcda" -exec rm {} \;
    @lcov --directory . --zerocounters

cov-report:
    @mkdir -p coverage
    @lcov --compat-libtool --directory . --capture --output-file coverage/app.info  
    @genhtml -o coverage/ coverage/app.info 

cov:
    @make cov-report

clean-local:
    @make cov-reset 

check:
    @make cov

endif    

チェック中の「@make cov」は、デフォルトの「チェック」ターゲットに「cov」ターゲットを追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top