| On recent C++ projects, I used the TAP [0] test format. It's quite minimalistic and does the job. Debugging tools have improved quite a bit. I suggest you take a look at asan [1] for memory related errors. Also, tsan [2] looks very promising for data races detection. I think both tools have been integrated within LLVM/Clang/GCC. Also, you might want to take a look at tracing tools such as (shameless plug!) LTTng [3] for userspace. Static analysis tools are quite "en vogue" right now. IMO, nothing comes close to Coverity Scan [4]. It's free for open source projects, but you will have to fork (quite) a bit of money to run this tool on proprietary applications. On the other hand, purely FOSS static-analyzer such as clang-analyzer and cppcheck can catch nasty errors. I would suggest using a mix of all these tools. [0] - http://testanything.org/testing-with-tap/c-plus-plus.html [1] - https://code.google.com/p/address-sanitizer/ [2] - https://code.google.com/p/data-race-test/wiki/ThreadSanitize... [3] - http://lttng.org/ust [4] - https://scan.coverity.com/ |