Как я могу запустить Gcov поверх установленного приложения Какао? - PullRequest
1 голос
/ 14 июня 2010

У меня есть приложение Какао, которое использует установщик.Я хочу иметь возможность выполнять покрытие кода поверх кода (после его установки).

Это не обычный сценарий модульного тестирования, когда один двоичный файл будет выполнять набор тестов.Скорее, рассматриваемые тесты будут взаимодействовать с пользовательским интерфейсом и серверной частью приложения во время его выполнения, поэтому в идеале я хочу иметь возможность запускать приложение, зная, что Gcov его профилирует, а затем запускать тесты для него.1004 * Есть идеи?

Обновление

Благодаря mustISignUp.Чтобы выяснить, почему я задал вопрос:

Ошибка, которую я допустил, заключалась в том, что файлы объекта, .gcno и .gcda должны быть установлены рядом с двоичными файлами (что затрудняло установку).Как это происходит, исходное расположение файлов жестко связано с кодом инструментария.

Решение, с которым я пошел, - это заархивировать код на сборочной машине и поместить его на диск на тестовой машине.lcov (или просто gcov) можно запустить оттуда.Кроме того, файлы .gcda будут созданы на диске, и их необходимо скопировать обратно на компьютер, содержащий исходный код.

В любом случае исходный код не должен присутствовать во время установки и запуска., но если вы хотите вернуть результаты в стиле lcov, созданные файлы счетчиков покрытия должны быть согласованы с исходным кодом.

1 Ответ

1 голос
/ 14 июня 2010

Приложение должно быть скомпилировано с правильными флагами GCC, которые вставят инструкции профилирования в код.Это не то, что вы можете включать и выключать.т. е. ваш код изменяется во время компиляции для вывода информации о покрытии.

Итак, если вы скомпилировали приложение с правильными флагами, оно будет выдавать данные покрытия, если вы этого не делали, не будет (и выконечно, не хотелось бы, чтобы это было для приложения, которое вы собираетесь распространять).

...