Как сделать покрытие кода xcode4 с помощью lvm накопительным при выполнении приложений - PullRequest
4 голосов
/ 12 января 2012

У меня есть покрытие кода в XCode 4.2 с работающим libprofile_rt.Я заметил, что файлы покрытия сбрасываются при каждом выполнении моей программы.Это отличается от того, как работал gcov, и это то, что мне нужно для работы (так как мои тесты выполняются при нескольких запусках моего приложения).Может кто-нибудь указать мне, как заставить libprofile_rt генерировать совокупный охват?

Ответы [ 2 ]

2 голосов
/ 17 января 2012

на самом деле выглядит существующей ошибкой в ​​LLVM: http://llvm.org/bugs/show_bug.cgi?id=11457

1 голос
/ 24 августа 2012

Вам не нужно включать * libprofile_rt.dylib * и использовать флаг * -profile_rt * при запуске проекта в xCode 4.4.1 (работает с iOS-симулятором как шарм). Просто установите эти флаги:

Создание файлов покрытия испытаний: ДА Ход выполнения программы: ДА Сборка и запуск. Если вы запускаете Test-target своего приложения, * .gcda-файлы создаются автоматически, потому что тестируемое приложение завершается, в случае выполнения обычной цели * .gcda-файлы создаются, когда вы явно убиваете свое приложение (другой подход - установить UIApplicationExitsOnSuspend = ДА в .plist)

Обратите внимание, что он был хорошо протестирован на новом проекте, созданном с помощью xCode 4.4.1

Файлы покрытия кода будут выводиться в /Build/Intermediates/.build//.build/Objects-normal/

...