0% охват яблочко

Я пытаюсь создать отчет о яблочном охвате после тестирования черного ящика. У нас есть устройство, на котором мы проводим тестирование черного ящика, однако нет возможности скомпилировать на нем библиотеки, поэтому я выполняю следующие шаги для создания отчета.

Однако я получаю отчет 0%. В файле покрытия нет изменений, он не обновляется.

  1. скомпилировать все библиотеки с яблочком
  2. скопируйте и замените исходные библиотеки на устройстве этими библиотеками в яблочко
  3. скопируйте файл cov и убедитесь, что он имеет соответствующие права (например, chmod 777cov_file.cov)
  4. путь экспорта в /etc/environment, также создал файл sh в /etc/profile.d и прописал в нем путь.
  5. запустить тесты черного ящика.
  6. скопируйте файл cov на машину разработчика и сгенерируйте отчет.

person Gaurang Shah    schedule 17.12.2014    source источник
comment
Я заменил все библиотеки на устройстве библиотеками, скомпилированными с помощью Bullseye на шаге 2, и скопировал этот файл покрытия также на то же устройство на шаге 3. Я не могу понять, почему он не работает? яблочко генерирует какой-либо журнал?   -  person Gaurang Shah    schedule 17.12.2014
comment
Изменяет ли выполнение шага 5 время файла cov_file.cov (время последнего изменения файла)?   -  person TobiMcNamobi    schedule 17.12.2014
comment
хорошо. Это фактическая проблема. файл покрытия не обновляется. Итак, я немного поискал, и я обнаружил, что проблема возникает, поскольку я устанавливаю COVFILE в .bash_profile, однако ни один из моих тестов не откроет терминал. Поэтому я установил эту переменную в /etc/environment. Я также создаю файл sh в /etc/profile.d и устанавливаю в нем переменную. Однако он все еще не работает.   -  person Gaurang Shah    schedule 17.12.2014
comment
Можно ли совершать вызовы тестируемых библиотек без использования этого черного ящика? Просто чтобы посмотреть, измеряется ли покрытие в более локальной среде.   -  person TobiMcNamobi    schedule 17.12.2014
comment
@ТобиМакНамоби. У нас две автоматики. Один больше похож на белый ящик, который напрямую обращается к библиотекам. Если я запущу это, я смогу получить покрытие. Для этого я просто экспортирую переменную COVFILE из того же терминала, из которого запускаю код. Однако даже после установки одной и той же переменной в /etc/environment и /etc/profile.d я не могу увидеть отчет о тестировании Blackbox.   -  person Gaurang Shah    schedule 17.12.2014
comment
Если вы хотите запустить скомпилированные модульные тесты, вам также необходимо экспортировать COVFILE перед этим в среду, в которой вы их запускаете. Я также экспортирую некоторые вещи в LD_LIBRARY_PATH, но я не могу проверить прямо сейчас, если это строго связано с нашим проектом...   -  person Lilian A. Moraru    schedule 06.02.2015


Ответы (1)


Я решил вышеуказанную проблему, установив переменную среды из одного из файлов демона.

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

person Gaurang Shah    schedule 04.06.2016