2016-09-16 5 views
0

J'utilise cspybat de IAR EWARM pour exécuter des tests unitaires pour mon code embarqué en utilisant Unity. Je voudrais un moyen facile pour mon serveur de construction de déterminer si les tests unitaires ont réussi ou échoué. Existe-t-il un moyen pour CSPY de renvoyer un code d'erreur non nul si mes tests unitaires échouent? J'ai essayé de changer la valeur de retour dans main() sans changement. Y a-t-il une fonction que je peux appeler pour forcer une erreur à retourner?Vous avez un code d'erreur de retour C-SPY?

Mon fichier batch cspybat ressemble à ceci:

"C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.4\common\bin\cspybat" -f "C:\Work\Sandbox\ST\stmicroeval\_iar_ewarm_project\settings\Project.UnitTest.general.xcl" --backend -f "C:\Work\Sandbox\ST\stmicroeval\_iar_ewarm_project\settings\Project.UnitTest.driver.xcl" 
+0

Pouvez-vous utiliser l'E/S semi-hébergée ou un point d'arrêt de journal qui imprime un message? Une de ces options pourrait être redirigée vers 'stdout' sur la ligne de commande de votre serveur que vous pourriez ensuite détecter. – rjp

Répondre

1

Malheureusement, non. J'ai résolu cela en remplaçant "exit" par une fonction qui imprime un motif spécifique, plus le code de sortie. J'ai ensuite enveloppé l'appel à cspybat dans un script qui 1) supprime la sortie de la sortie supplémentaire et 2) quitte avec le code de sortie souhaité.