2012-04-11 1 views
3

Я пытаюсь получить покрытие кода для своих модульных тестов (Xcode 4.2.1 (4D502) в Mac OS X Lion 10.7 (11A2061)), но как-то файлы .gcda не создаются. Я могу видеть файлы .d и .o в папке .../Objects-normal/i386 целевой тестовой единицы, но файлы gcno/gcda отсутствуют для файлов, тестируемых модулем, и, следовательно, я не могу создать покрытие статистика для тестирования.Файлы покрытия кода, которые не генерируются на OSX Lion

На главной цели я вижу файлы .d, .o и .gcno для каждого файла.

Итак, я считаю, что настройки проекта настроены правильно, но для OS X Lion есть что-то очень малое. Я пробовал шаги, упомянутые в http://code.google.com/p/coverstory/wiki/UsingCoverstory, но, похоже, не решил мою проблему.

Примечание: Я смог заставить это работать на Snow Leopard и просматривать статистику покрытия с помощью CoverStory !!

Любое решение/направление в этом отношении было бы очень полезно. Благодаря!!

+0

Выполняют ли ваши тесты успешное выполнение с вашей конфигурацией покрытия на льве? –

ответ

0

Убедитесь, что следующие настройки сборки на месте для вашего кода и ваших тестов:

GCC_PREPROCESSOR_DEFINITIONS = GCOV_ENABLED=1

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES

GCC_GENERATE_TEST_COVERAGE_FILES = YES

Строительство/запуска тестов должны создать недостающие файлы gcda , Я сталкиваюсь с этим достаточно, что у меня есть шаблон файла xcconfig, который включает в себя выше. Вам не нужно связываться с библиотекой gcov с последними версиями Xcode.

4

Мне не хватало файлов gcda, но нашёл решение на каком-то веб-сайте. Вам необходимо добавить эти флаги:

-fprofile-arcs -ftest-coverage 

на «Другие флаги C». После запуска тестов присутствуют файлы gcda.

Файлы gcno создаются после установки как «Генерировать файлы контрольных покрытий», так и «Поток инструментальных средств» на «ДА».

Я использую компилятор Xcode 4.3.2 и llvm.

В качестве альтернативы, я обнаружил, что настройка Generate Profiling Code на YES также вызывает создание файлов gcda.