2009-08-04 17 views
2

Tout le monde sait C++ outil de couverture de code utilisable dans les conditions suivantes:C++ outil de couverture de code pour la plate-forme cible étrange

  1. Plate-forme cible est PowerPC CPU dans Nintendo WII dev.kit, qui fonctionne OS sur mesure embarqué. La seule façon d'échanger des données avec le PC est d'utiliser une API propriétaire personnalisée (désolé pour mon NDA).

  2. Le compilateur n'est pas Microsoft, pas GCC, pas même la ligne de commande. A savoir, c'est l'IDE Metrowerks (fonctionnant sur Windows, bien sûr).

Merci d'avance!

+0

Cette question n'est pas vraiment responsable. Vous dites seulement ce que vous n'avez pas, mais laissez ce que vous avez. Quel PowerPC? Quel système d'exploitation embarqué? Quelle API propriétaire? Quel fournisseur de compilateur? – Thorsten79

+0

Thorsten79: PowerPC processeur "Broadway" à l'intérieur Nintendo WII dev.kit http://en.wikipedia.org/wiki/Broadway_(microprocessor) OS personnalisé intégré, coutume API propriétaire (désolé pour mon NDA) Metrowerks IDE et compilateur – Soonts

+1

Voulez-vous dire la couverture de déclaration? Ou cherchez-vous des informations de profil (c'est-à-dire le coût de la fonction en secondes)? –

Répondre

2

Connaissez-vous BullseyeCoverage? C'est un outil commercial, qui supporte un très grand nombre de plates-formes et de compilateurs. Si vous ne voyez pas votre compilateur, vous pouvez lui écrire une demande. Je n'ai pas trouvé le compilateur Metrowerks dans la liste.

Espoir qui aide,
Ovanes

+0

Oui. Aujourd'hui, google les a trouvés pour moi, et je leur ai écrit un message. BTW l'avez-vous utilisé dans la vraie vie? Es tu heureux avec? J'ai seulement utilisé Rational PureCoverage, il y a quelques années, mais c'est Windows/Linux/Unix seulement. – Soonts

+0

Désolé pour le retard.Une fois, j'ai évalué pour Windows et Linux. Cela m'a semblé assez simple. Je n'ai pas utilisé cet outil par la suite dans un environnement de construction automatisé. – ovanes

0

Mon magasin a utilisé une version personnalisée de Covtool. Peut-être que cela pourrait être porté sur votre environnement.

+0

Il semble que Covtool repose sur le fait que vous pouvez vous connecter après le préprocesseur C et avant le compilateur C++, l'optimiseur et l'éditeur de liens. L'hypothèse est fausse dans le cas de Metrowerks IDE. – Soonts

1

Voir Cpp Test Coverage. Cet outil peut être configuré pour collecter des données dans des systèmes embarqués; vous devez trouver comment exporter un tableau de bits à l'intérieur de ce système vers un système de fichiers externe, et si vous pouvez le faire, il peut vous montrer une couverture de test précise.

Est-ce que le compilateur Metrowerks a une syntaxe spéciale qui n'est pas standard ANSI?

+0

Où devrais-je voir cela? Google résultat 1: article scientifique sur ieeexplore.ieee.org, 2-ème résultat: "Code de couverture" sur wikipedia, 3-ème résultat: "CppTest" cadre de test unitaire. Metrowerks a quelques # pragma spéciaux, mais AFAIK c'est ANSI conforme. – Soonts

+0

Désolé, "Cpp Test Coverage" était censé être un lien, mais je l'ai bousillé. Fixe, maintenant vous pouvez suivre le lien. –

0

J'ai utilisé Cantata. Cela fonctionne avec Metroworks. Il code votre code pour que votre application ne fonctionne pas à pleine vitesse. Vous avez juste besoin de réécrire les fonctions IO afin que la sortie se produise en utilisant l'API propriétaire personnalisée.