Почему кодеки с lcov не работают правильно на Travis, но на моем локальном Linux Mint?

Я пытался добавить Codecov к моей системе сборки CI для моего библиотека.
сценарий Тревиса выглядит так:

lcov --directory . --capture --output-file coverage.info --gcov-tool gcov-8 # capture coverage info
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system
lcov --list coverage.info # debug info
# Uploading report to CodeCov
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"

Когда я запускаю эти команды на моей локальной машине Linux Mint, все работает как положено. Но на Трэвисе это не так. отчет выглядит так:

Capturing coverage data from .
Found gcov version: 8.1.0
Scanning . for .gcda files ...
geninfo: WARNING: /home/travis/build/AMS21/Andres-Standard-Library/CMakeFiles/unittest.dir/test/src/cstddef/offsetof_test.cpp.gcno: Overlong record at end of file!
Found 132 data files in .
Processing unittest.dir/test/src/cstddef/offsetof_test.cpp.gcda
geninfo: WARNING: cannot find an entry for #home#travis#build#AMS21#Andres-Standard-Library#test#include#doctest.h.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for #home#travis#build#AMS21#Andres-Standard-Library#test#src#cstddef#offsetof_test.cpp.gcov in .gcno file, skipping file!
(...)
Finished .info-file creation
lcov: ERROR: no valid records found in tracefile coverage.info
Reading tracefile coverage.info
Reading tracefile coverage.info
lcov: ERROR: no valid records found in tracefile coverage.info

Очевидно, что здесь есть проблема, но я не понимаю, что это такое. И я не могу воспроизвести его на своем локальном компьютере, и, выполнив поиск в Интернете, я также не смог найти решение.
И Трэвис, и моя локальная машина используют gcov 8.1.0. А на travis я использую lcov 1.13 и на моей локальной машине версию 1.12. Я компилирую со следующим флаги:

-Wall (... various warning flags) -m32 -g -O0 -fprofile-arcs -ftest-coverage --coverage

Я был бы очень благодарен за любые решения или идеи.

Редактировать:
Исправлена ​​проблема. Кажется, что gcc 8 вызывает некоторые проблемы. Использование gcc 7 работает просто отлично.

0

Решение

Я столкнулся с подобной проблемой, я решил ее, обновив LCOV до версии 1.13-4 (в Ubuntu 18.04 LTS, версия, доступная с apt — 1.13-3)

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector