Объедините результаты lcov в один отчет и сохраняйте идентификаторы тестов, проверяя каждую строку - PullRequest
0 голосов
/ 05 марта 2020

У меня есть отчет lcov о моем коде c ++ по каждому из моих интеграционных тестов. Я хотел бы объединить его в один глобальный отчет, я знаю, что это возможно, но он только добавляет количество строк совпадений. Я sh хочу получить информацию о том, какой тест попадет в каждую строку.

Не знаю, есть ли способ вместо написания сценария самостоятельно.

Спасибо

1 Ответ

0 голосов
/ 11 марта 2020

Вы можете использовать geninfo в сочетании с lcov для достижения чего-то похожего.

Если у вас есть файлы .gcno и .gcda, то сначала нам нужно сгенерировать файлы .info.

Для генерации .info файлов используйте:

geninfo "path for .gcda files" -b "path for the source files" -o ./coverage1.info

Так что это сгенерирует .info для вашего первого теста. Аналогично, создайте .info для всех ваших тестов.

Теперь вы можете использовать lcov для объединения этих информационных файлов и получения комбинированного отчета. Для этого используйте:

lcov --add-tracefile coverage1.info -a coverage2.info ...coverageN -o merged.info

Теперь вы объединили файл .info и можете использовать gen html для генерации отчета HTML для лучшего просмотра.

genhtml merged.info -o CodeCoverage
...