views:

326

answers:

4

Anyone knows c++ code coverage tool usable under the following conditions:

  1. Target platform is PowerPC CPU inside Nintendo WII dev.kit, that runs custom embedded OS. The only way to exchange data with the PC is to use custom proprietary API (sorry for my NDA).

  2. Compiler is not Microsoft, not GCC, not even command line. Namely it's Metrowerks IDE (running on Windows, of course).

Thanks in advance!

+2  A: 

Hi! Do you know about BullseyeCoverage. It is a commercial tool, which supports really big number of platforms and compilers. If you don't see you compiler you can write them an inquiry. I did not find the Metrowerks Compiler in the list.

Hope that helps,
Ovanes

ovanes
Yep. Today google found them for me, and I wrote them a message.BTW did you use it in the real life? Are you happy with it?I only used Rational PureCoverage, a few years ago, but it's windows/linux/unix only.
Soonts
Sorry for the delay. I once evaluated it for Windows and Linux. That seemed to me pretty straight forward. I did not use this tool afterwards in an automated build environment.
ovanes
A: 

My shop has been using a customized version of Covtool. Perhaps that could be ported to your environment.

Fred Larson
It seams the Covtool relies on the fact you can hook after C preprocessor and before C++ compiler, optimizer and linker.The assumption is wrong in case of Metrowerks IDE.
Soonts
+1  A: 

See Cpp Test Coverage. This tool can be configured to collect data in embedded systems; you have to figure out how to export an array of bits from inside that system to an external file system, and if you can do that, it can show you precise test coverage.

Does the Metrowerks compiler have special syntax that is not ANSI standard?

Ira Baxter
Where should I see that?Google 1-st result: scientific article on ieeexplore.ieee.org, 2-nd result: "Code coverage" on wikipedia, 3-rd result: "CppTest" unit testing framework.Metrowerks has a few special #pragma's, but AFAIK it's ANSI compliant.
Soonts
Sorry, "Cpp Test Coverage" was supposed to be a link, but I bungled it. Fixed, now you can follow the link.
Ira Baxter
A: 

I have used Cantata. It works with Metroworks. It instruments your code so your application will no run at full speed. You just need rewrite the IO functions so output happens using the custom proprietary API.

Gerhard