我已经成功设置了一个自动工具项目,其中测试用仪器编译,以便获得测试覆盖范围报告。

成功进行“制作检查”后,我可以通过在源代码中运行LCOV来获得报告。

我现在面临要自动化此步骤的问题。我想将其添加到“进行检查”或使其成为一个单独的目标“制造检查”。理想情况下,我想解析结果,如果覆盖范围低于一定百分比,则失败。问题是我无法弄清楚如何添加自定义目标。

我发现的最接近 示例Autotools配置,但是我看不到该项目中添加了目标“ Make LCOV”。我只能在m4/auxdevel.m4中看到一些配置标志。

有小费吗?

有帮助吗?

解决方案

显然,您可以在makefile.am中的目标中添加额外的步骤,这就是我最终得到的(灵感来自#http://www.enlightenment.org/svn/e/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”目标添加到默认值“ MAKE CHECK”目标中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top