Отчет о покрытии, когда источник и объекты находятся в разных каталогах - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь создать отчет о покрытии для моего проекта и столкнулся с проблемой.

Я понимаю, что для получения информации о покрытии мне нужны .gcno, .gcda и исходные файлы. Моя текущая структура проекта dir

/root/proj/src   --> top level Makefile and main.c
    /root/proj/src/module1
    /root/proj/src/module2
    .....                  -> contains all .c/.h ,makefile  
/root/proj/build/obj -> contains  all .o,.gcno,.gcda files after compilation 
/root/proj/build/exe  -> contains the executable 

(копирование минимальных строк ниже, чтобы показать проблему)

cd /root/proj/build/obj

когда я бегу

lcov -b ../../src/ --directory . --capture --output-file app.info
Processing module1.gcda
module1.c:cannot open source file

...... 

Finished .info-file creation 

Тогда:

genhtml --legend   -o ./latest_code_cov/ app.info
Reading data file app.info
Found 5 entries.
Found common filename prefix "/root/proj/src"
Writing .css and .png files.
Generating output.
Processing file src/module1.c
genhtml: ERROR: cannot read /root/proj/src/module1.c
bash-4.1$

1) Нужно ли мне изменить мой make-файл, чтобы файлы .gcno/.gcda помещались в те же папки, что и исходный код?

2) Есть ли способ (некоторый флаг) для задания пути к исходному файлу в .gcno/.gcda файлах?

Есть предложения?

gcc версия 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)

lcov: LCOV версия 1.13

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...