题
我已经成功设置了一个自动工具项目,其中测试用仪器编译,以便获得测试覆盖范围报告。
成功进行“制作检查”后,我可以通过在源代码中运行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”目标中。
不隶属于 StackOverflow