Lcov Coverage Innacurate - PullRequest
       27

Lcov Coverage Innacurate

3 голосов
/ 11 марта 2019

Я использую lcov (версия 1.14) и cobertura для генерации анализа покрытия для нашего кода C ++. (версия 4.9 gcc)

После изменения кода охват кода неожиданно снизился. Хотя мы не трогали и не удаляли никаких тестов.

Например, покрытие линии сократилось с 2540/2987 до 1597/3082 .

В отчете мы видим, что некоторые исходные файлы полностью не тестируются, хотя соответствующие тесты выполняются и проходят успешно.

Команды, которые я запускаю, являются

lcov --directory . --base-directory $BUILD_DIR --capture --output-file $BUILD_DIR/code-coverage.lcov --gcov-tool gcov492
lcov --remove $BUILD_DIR/code-coverage.lcov '*/usr/include/*' '*/thirdparty/*' '*/test/*' $EXTRA_EXCLUDE --output-file $BUILD_DIR/filtered-code-coverage.lcov
lcov_cobertura.py -d $BUILD_DIR/filtered-code-coverage.lcov -o $BUILD_DIR/coverage.xml -b /data$SRC_DIR

Я получаю следующее предупреждение и спрашиваю себя, не в этом ли проблема:

lcov: ВНИМАНИЕ: в файле трассировки найдены отрицательные значения /build_dir/code-coverage.lcov

Кто-нибудь может мне помочь разобраться в том, что происходит? Это проблема конфигурации? Или проблема с командами, которые я вызываю? Или это на самом деле lcov не работает должным образом?

...