Вопрос

Я успешно настроил проект 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» на по умолчанию «Проверьте».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top