2016-12-22 7 views
2

У меня есть большое количество проектов, каждый из которых имеет по крайней мере один автоматический набор тестов. Тесты выполняются в симуляторе C-Spy IAR. (Я использую IAR Embedded Workbench для Arm v6.60.)Сгенерировать покрытие IAR-кода при запуске C-Spy вне IDE

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

Основываясь на том, что я нашел в EWARM_DebuggingGuide.pdf, я должен быть в состоянии генерировать покрытия кода для исполняемого файла пропускания C-SPY плагин покрытия кода:

--plugin C:\<IAR path>/common/plugins/CodeCoverage/CodeCoverage.dll 

Как дела следует, что Информация покрытия кода должна быть сброшена на:

--code_coverage_file C:\<test suite path>/CodeCoverageReport.log 

Так это фактическая команда я вызова:

C:\<IAR path>/common/bin/CSpyBat.exe C:\<IAR path>/arm/bin/armproc.dll C:\<IAR path>/arm/bin/armsim2.dll C:\<test suite path>/Test.out --plugin C:\<IAR path>/arm/bin/armbat.dll --plugin C:\<IAR path>/common/plugins/CodeCoverage/CodeCoverage.dll --backend -B --endian=little --cpu=Cortex-M4 --fpu=VFPv4 --semihosting --code_coverage_file C:\<test suite path>/CodeCoverageReport.log 

C-Spy успешно запускает тестовый пакет, мои результаты испытаний печатаются, но не создается файл покрытия кода. Сообщения об ошибках отсутствуют.

Что мне не хватает?

+0

У меня такая же проблема. У кого-нибудь есть решение? – Miguel13366

ответ

0

Кроме того, я обнаружил, что some information заявляет, что IAR только позволяет запускать отчет о покрытии кода при использовании Simulator конфигурации, а не во время выполнения тестов на конфигурации аппаратного отладчика.

Я использую IAR v7.80 и был в состоянии создать файл покрытия кода из командной строки с помощью C-SPY, используя следующую команду:

"C:\<IAR Path>\common\bin\CSpyBat.exe" --code_coverage_file coveragereport.txt 
-f .\settings\MyProject.Debug.general.xcl --backend -f .\settings\MyProject.Debug.driver.xcl 

Эта команда создает файл с именем «coveragereport .txt "из проекта IAR с именем" MyProject ".

Мне не нужно было указывать файл CodeCoverage.dll для этого. Попробуйте переключить проект на конфигурацию Simulator и попробуйте обрезать количество вариантов, которые вы проходите; также, поместите параметр --code_coverage_file сразу после вашего CSpyBat.exe.

Надеюсь, это поможет!

+0

Как указано в исходном посте, я уже использую симулятор. Этот пример может помочь другим, но аргумент -f даже не распознается в версии, указанной выше (v6.60), поэтому, похоже, не существует большей совместимости между более новыми версиями C-Spy и версией, которую я использую. –

+0

@BenHammen Вы случайно можете перейти на новую версию IAR? Вы пробовали обрезать параметры, которые вы проходите? Вы были в контакте с IAR для эскалации? Мне повезло с их командой продаж и технической поддержкой. Пожалуйста, проследите, если вы это разрешите. – Lemtronix

+0

Эта проблема, очевидно, можно избежать, переключаясь на инструментальную цепочку, отличную от IAR v6.60, но это не вопрос, который я задаю. –

Смежные вопросы