AutoLools Автоматический вызов LCOV после «Check»
Вопрос
Я успешно настроил проект AutoTools, где тесты компилируются с инструментами, поэтому я могу получить отчет о тестировании.
Я могу получить отчет, запустив LCOV в исходном режиме после успешного «Check Check».
Теперь я сталкиваюсь с проблемой, которую я хочу автоматизировать этот шаг. Я хотел бы добавить это, чтобы «сделать check» или сделать его отдельной целью «сделать чек-охват». В идеале я хотел бы разобрать результат и потерпеть неудачу, если охват падает ниже определенного процента. Проблема в том, что я не могу выяснить, как добавить пользовательскую цель вообще.
Ближайший, который я получил, нашел это Пример 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» на по умолчанию «Проверьте».