LCov - Обнаружены нераспознанные ошибки формата записи

Я хочу получить отчет о покрытии кода HTML, работающий с проектом на основе XCode 6.1. Мое решение «частично работает», но при запуске lcov я получаю много пропущенных файлов:

geninfo: file found unrecognized record format - skipping

Немного подробностей о моей настройке:

  1. Создал конфигурацию покрытия XCode с помощью этих инструкций (шаги 1+2): https://developer.apple.com/library/ios/qa/qa1514/_index.html

  2. Соберите и запустите мой автономный тестраннер, используя эту конфигурацию через xcodebuild.

Похоже, что это успешно генерирует файлы GCNO и файлы GCDA для каждого из моих исходных файлов. Все идет нормально.

  1. Запустите lcov (v1.11), чтобы создать отчет в формате HTML. Команда, которую я использую, выглядит следующим образом:

    lcov --capture --derive-func-data --directory ./build/Coverage/MyCppRunner.build --output-file lcov-testrun.info --ignore-errors graph
    

Это также удается благодаря аргументу ignore-errors. Однако я получаю много пропущенных файлов gcno со следующей ошибкой:

geninfo: WARNING: /Users/myname/build/Coverage/MyCppRunner.build/Objects-normal/x86_64/MyFile.gcno: found unrecognized record format - skipping

Когда я создаю отчет в формате HTML с помощью genhtml, эти файлы не показывают покрытия.

Есть ли способ обойти эту проблему? Возможно, другой набор флагов clang или альтернатива lcov? Я ненадолго попробовал gcovr, но не смог заставить его работать.


person Daniel Wabyick    schedule 16.02.2015    source источник
comment
Я тоже столкнулся с этой ошибкой. См. этот связанный пост: title="xcode 5 1 анализ покрытия модульным тестом не работает для файлов, использующих блоки"> stackoverflow.com/questions/22343725/, хотя это не помогло мне исправить   -  person the_mandrill    schedule 25.02.2015