Есть ли в любом случае объединить два файла GCOV в один
Я использую gcov для тестирования покрытия на платформе macosx. Я заканчиваю настройку для xcode, установив:
1. Build Settings ==> Generate Test Coverage Files == Yes
2. Build Settings ==> Instrument Progaram Flow == Yes
3. Build Phases ==> Link Binary with library ==> add "libprofile_rt.dylib"
Затем сгенерируйте файлыTest.d, Test.dia, Test.gcno, Test.gcda, Test.o
"Тогда я использую gcov-4.2 -b Test.gcno
Команда для генерации Test.m.gcov
файл (это то, что я хочу), но в следующий раз, когда я снова запущу контрольные примеры, файлы "Test.d, Test.dia, Test.gcno, Test.gcda, Test.o
"будет сгенерировано снова, и данные будут сброшены.
Итак, у меня есть два вопроса:
- Можно ли как-нибудь собрать данные в этих файлах покрытия, чтобы я мог много раз запускать свой проект, а затем создавать файлы в конце.
Если № 1 безнадежен, подскажите, как
merge two Test.gcno
файлы (сгенерированные два раза подряд) в один. Я пытаюсь gcov в терминале, ниже приведены параметры для команды gcov:gcov-4.2 -help Usage: gcov [OPTION]... SOURCEFILE Print code coverage information. -h, --help Print this help, then exit -v, --version Print version number, then exit -a, --all-blocks Show information for every basic block -b, --branch-probabilities Include branch probabilities in output -c, --branch-counts Given counts of branches taken rather than percentages -n, --no-output Do not create an output file -l, --long-file-names Use long output file names for included source files -f, --function-summaries Output summaries for each function -o, --object-directory DIR|FILE Search for object files in DIR or called FILE -p, --preserve-paths Preserve all pathname components -u, --unconditional-branches Show unconditional branch counts too For bug reporting instructions, please see: <URL:http://developer.apple.com/bugreporter>.
Спасибо за всю вашу помощь заранее
1 ответ
Обычный рабочий процесс для gcov
является
- Компилировать и связать с поддержкой покрытия (
-fprofile-arcs -ftest-coverage
) - Запустите ваши исполняемые файлы, возможно, несколько раз, возможно, с другими параметрами / настройками. Это создаст накопительную информацию об использовании в
.gcda
файлы - взывать
gcov
получить статистику покрытия в удобочитаемом формате (.gcov
)
Таким образом, в основном, последовательные запуски приложения приведут к накопленной статистике покрытия. Просто эти накопления будут происходить в .gcda
файлы, а не .gcov
файлы, так что вам придется перезапустить gcov
каждый раз, когда вы хотите увидеть обновленную статистику.