BULLSEYE: Нет покрытия для общей библиотеки в Linux
Попытка использовать яблочко для покрытия кода, ниже требование -
Требование - Проект находится в Linux - 1. Компилировать проект в хост-системе - Он генерирует несколько общих библиотек. Скажите abc.so def.so и xyz.so
- скомпилировать тестовое приложение для проверки этих сгенерированных библиотек (набор тестов - это отдельное изображение)
- Скопируйте все общие библиотеки и протестируйте приложение на другом целевом устройстве.
- Теперь выполните тестовое приложение на целевом устройстве, чтобы проверить функциональность различных общих библиотек.
Теперь необходимо проверить, какой охват обеспечивает это "тестовое приложение".
Что уже опробовано -
- Установленный Bullseye на хост-машине linux (для компиляции проекта) 1.a. Установите мою среду PATH = /BullseyecoveragePath/bin @ начало пути
- Файл компиляции проекта изменен для использования компилятора, который поставляется с пакетом Bullseye, также с использованием covc
CC = / BullseyecoveragePath / bin / covc /BullseyecoveragePath/bin/gcc-4.6 CXX = / BullseyecoveragePath / bin / covc /BullseyecoveragePath/bin/g++-4.6
- export COVFILE = / data / test.cov
- экспорт COVDIR = / Project / src / base
cov01 --on
Проект успешно скомпилирован (показывается баннер "яблочко" во время компиляции) * после незначительной настройки библиотеки libcov32.a
test.cov также генерируется после завершения компиляции
Проблема -
- Пробовал копировать скомпилированные библиотеки abc.so def.so и xyz.so и "тестовое приложение" на устройство 1.a. Скопировал test.cov -> / данные целевой машины 1.b. export COVFILE=/data/test.cov
- Запущено "тестовое приложение" -> успешно выполнено
- Скопировал обратно test.cov на хост-машину, чтобы увидеть покрытие.??? Но без изменений в файле test.cov???
Может ли кто-нибудь помочь, что мне не хватает или что нужно сделать здесь, чтобы это сработало -
- Общие библиотеки
- Между двумя разными системами (компиляция на одной и запуск на второй)
Спасибо
1 ответ
Мне кажется, что вы делаете правильные шаги, это то, что должно быть необходимо для генерации отчета о покрытии, согласно документации "яблочко" - использование общих библиотек не имеет большого значения в этом процессе.
В документации упоминаются некоторые интересные вещи, которые можно проверить, например:
Размер файла покрытия не увеличивается из-за активности во время выполнения.
Может быть, кажется, что covfile имеет такой же размер, но на самом деле он содержит информацию о покрытии? Вы можете попробовать просмотреть его с помощью CoverageBrowser
программа.