BULLSEYE: Нет покрытия для общей библиотеки в Linux

Попытка использовать яблочко для покрытия кода, ниже требование -

Требование - Проект находится в Linux - 1. Компилировать проект в хост-системе - Он генерирует несколько общих библиотек. Скажите abc.so def.so и xyz.so

  1. скомпилировать тестовое приложение для проверки этих сгенерированных библиотек (набор тестов - это отдельное изображение)
  2. Скопируйте все общие библиотеки и протестируйте приложение на другом целевом устройстве.
  3. Теперь выполните тестовое приложение на целевом устройстве, чтобы проверить функциональность различных общих библиотек.

Теперь необходимо проверить, какой охват обеспечивает это "тестовое приложение".

Что уже опробовано -

  1. Установленный Bullseye на хост-машине linux (для компиляции проекта) 1.a. Установите мою среду PATH = /BullseyecoveragePath/bin @ начало пути
  2. Файл компиляции проекта изменен для использования компилятора, который поставляется с пакетом Bullseye, также с использованием covc

CC = / BullseyecoveragePath / bin / covc /BullseyecoveragePath/bin/gcc-4.6 CXX = / BullseyecoveragePath / bin / covc /BullseyecoveragePath/bin/g++-4.6

  1. export COVFILE = / data / test.cov
  2. экспорт COVDIR = / Project / src / base
  3. cov01 --on

  4. Проект успешно скомпилирован (показывается баннер "яблочко" во время компиляции) * после незначительной настройки библиотеки libcov32.a

  5. test.cov также генерируется после завершения компиляции

Проблема -

  1. Пробовал копировать скомпилированные библиотеки abc.so def.so и xyz.so и "тестовое приложение" на устройство 1.a. Скопировал test.cov -> / данные целевой машины 1.b. export COVFILE=/data/test.cov
  2. Запущено "тестовое приложение" -> успешно выполнено
  3. Скопировал обратно test.cov на хост-машину, чтобы увидеть покрытие.??? Но без изменений в файле test.cov???

Может ли кто-нибудь помочь, что мне не хватает или что нужно сделать здесь, чтобы это сработало -

  1. Общие библиотеки
  2. Между двумя разными системами (компиляция на одной и запуск на второй)

Спасибо

1 ответ

Мне кажется, что вы делаете правильные шаги, это то, что должно быть необходимо для генерации отчета о покрытии, согласно документации "яблочко" - использование общих библиотек не имеет большого значения в этом процессе.

В документации упоминаются некоторые интересные вещи, которые можно проверить, например:

Размер файла покрытия не увеличивается из-за активности во время выполнения.

Может быть, кажется, что covfile имеет такой же размер, но на самом деле он содержит информацию о покрытии? Вы можете попробовать просмотреть его с помощью CoverageBrowser программа.

Другие вопросы по тегам