Gcovr Собрал объединенные данные для 0 файлов
Я пытаюсь использовать gcovr для генерации xml из gcno / gcda для подачи плагина cobertura в Jenkins. Приложение построено на компьютере сборки и передано нижестоящему заданию, работающему на ведомом модульном тесте. Исходные файлы и сгенерированные файлы gcno также копируются в своей исходной структуре папок на компьютер модульного тестирования. Поскольку путь сборки и путь установки приложения различаются, я использую GCOV_PREFIX_STRIP и GCOV_PREFIX, чтобы сгенерированные файлы gcda оказались в тех же местах, что и соответствующие файлы gcno. Я могу подтвердить, что файлы gcda создаются в правильных местах.
Рабочая область сборки Jenkins находится в:
/var/lib/jenkins/workspace/Coverage/
Приложение было встроено в:
/var/lib/jenkins/workspace/Coverage/BUILD/app/
Рабочее пространство подчиненного тестового модуля Jenkins находится в:
/var/lib/jenkins/workspace/Coverage-Unittest/
Исходный код, файлы gcno и gcda находятся в (gcno/gcda находятся в подкаталогах, называемых "o" относительно соответствующего cpp):
/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/
что было достигнуто установкой:
GCOV_PREFIX_STRIP=7
GCOV_PREFIX=/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/
В модульном тестовом модуле Jenkins, выполняемом ведомым (текущий каталог является рабочей областью), я выполняю:
python2 gcovr -v --gcov-executable=/opt/gcc-5.3.0/bin/gcov -x -r BUILD/app/.
Тем не менее, результат:
Gathered coveraged data for 0 files
<?xml version="1.0" ?>
<!DOCTYPE coverage
SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0.0" line-rate="0.0" timestamp="1478904126" version="gcovr 3.3">
<sources>
<source>BUILD/app/.</source>
</sources>
<packages/>
</coverage>
Это своеобразно, потому что кажется, что файлы gcda найдены. Некоторые из подробного вывода:
Scanning directory BUILD/app/. for gcda/gcno files...
Found 1891 files (and will process 1391)
...
Processing file: /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest/BUILD'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace/Coverage-Unittest'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins/workspace'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib/jenkins'
Running gcov: '/opt/gcc-5.3.0/bin/gcov /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/MyClass.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o' in '/var/lib'
...
Обратите внимание, как один и тот же файл gcda указан несколько раз, это относится ко всем файлам gcda. Каталог /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/ содержит MyClass.gcda и MyClass.gcno, а также каталог / var / lib / jenkins / workspace / Coverage -Unittest / BUILD / app / packages / appw / lib / model / содержит MyClass.cpp.
Приложение было скомпилировано с использованием gcc 5.3.0 с флагом -coverage.
Я хотел бы, чтобы выходной xml содержал информацию о покрытии, как это исправить?