coverity находит много .h файлов, которые моя сборка не использует - PullRequest
0 голосов
/ 19 октября 2018

В моей сборке travis я позволил travis загрузить мой файл, запустить запуск coverity-scan и вывести данные SCM для всех 71 исходных файлов, из которых состоит мой проект, но затем, похоже, находит все файлы .h, которые содержит виртуальная машина, и дросселируетна них приходится более 15% от общего количества файлов.Соответствующие строки вывода инструмента coverty:

    71 C/C++ compilation units (100%) are ready for analysis
    Extracting SCM data for 705 files...

Кто-нибудь имеет представление о том, что я сделал не так?Travis.yml можно прочитать на https://github.com/wxMaxima-developers/wxmaxima/blob/a32e56eff71e256d2c5e7f027a6190324ab9dffb/.travis.yml

1 Ответ

0 голосов
/ 20 октября 2018

Найдено: https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh содержит следующую строку, которая пытается найти все исходные файлы, содержащиеся в проекте, и заканчивается поиском всех исходных файлов во всей виртуальной машине на travis:

cov-import-scm --dir $RESULTS_DIR --scm git --log $RESULTS_DIR/scm_log.txt 2>&1

Использование локальной копии скрипта и удаление этой строки решает проблему.Кроме того, если используется ccache, следующая строка необходима для того, чтобы coverity вообще собирала какие-либо данные для файлов, которые не нужно перестраивать:

export CCACHE_DISABLE=1

Строка

- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-

, отличное от указанного на домашней странице coverity, не должно содержать "https://" ... и, если CXXFLAGS не содержит

-ansi

, не будет собирать какие-либо данные. При всех этих изменениях coveritybuild build travis работает, но другая ошибка в сценариях travis заставляет сборку coverity возвращать «-1» в качестве состояния выхода: сервер выдает неожиданный ответ «Сборка загружена правильно».

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