2016-12-22 7 views
2

J'ai un grand nombre de projets, chacun avec au moins une suite de tests automatisée. Les tests sont exécutés dans le simulateur C-Spy d'IAR. (J'utilise IAR Embedded Workbench pour Arm v6.60.)Générer une couverture de code IAR lors de l'exécution de C-Spy en dehors de l'IDE

Si j'exécute l'un de ces exécutables de test à partir de l'EDI, je peux générer et afficher des informations de couverture de code. C'est correct pour un seul projet, mais la collecte de ces informations pour tous mes projets en exécutant chacun manuellement est beaucoup trop lourde. Je voudrais être en mesure d'exécuter ma génération et l'avoir générer les informations de couverture de code pour toutes les suites de tests.

Sur la base de ce que je trouve dans le EWARM_DebuggingGuide.pdf, je devrais être en mesure de générer une couverture de code pour un exécutable en passant C-Spy le plugin couverture de code:

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

En plus du dossier que le informations de couverture de code doit être jeté à:

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

C'est donc la commande réelle j'invoque:

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 lance la suite de tests avec succès, mes résultats de test sont imprimés, mais aucun fichier de couverture de code n'est créé. Il n'y a pas de messages d'erreur.

Qu'est-ce qui me manque?

+0

J'ai le même problème. Quelqu'un at-il une solution? – Miguel13366

Répondre

0

Aussi, je trouve some information qui indique que IAR ne vous permet d'exécuter un rapport de couverture de code lors de l'utilisation des Simulator configurations, pas pendant l'exécution des tests sur des configurations de débogage matériel.

J'utilise IAR v7.80 et a été en mesure de générer un fichier de couverture de code de la ligne de commande en utilisant C-SPY en utilisant la commande suivante:

"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 

Cette commande génère un fichier appelé « coveragereport .txt "du projet IAR nommé" MyProject ".

Je n'avais pas besoin de spécifier un fichier CodeCoverage.dll pour que cela fonctionne. Essayez de passer le projet à une configuration Simulator et essayez de réduire le nombre d'options que vous transmettez; aussi, mettez le paramètre --code_coverage_file juste après votre CSpyBat.exe.

Espérons que cela aide!

+0

Comme indiqué dans le message original, j'utilise déjà le simulateur. Cet exemple peut aider les autres, mais l'argument -f n'est même pas reconnu dans la version que j'ai indiquée plus haut (v6.60), donc il ne semble pas y avoir beaucoup de compatibilité entre les versions plus récentes de C-Spy et la version que j'utilise. –

+0

@BenHammen Êtes-vous par hasard capable de passer à une nouvelle version de IAR? Avez-vous essayé de réduire les paramètres que vous transmettez? Avez-vous été en contact avec l'IRA pour escalader? J'ai eu de la chance avec leur équipe de vente et leur support technique. S'il vous plaît, faites un suivi si vous avez résolu ce problème. – Lemtronix

+0

Ce problème pourrait évidemment être évité en passant à un toolchain autre que IAR v6.60, mais ce n'est pas la question que je pose. –