I want to set up a continuous integration and test framework for my open source C++ project. The desired features are:
1. check out the source code
2. run all th
Your question is twofold. As you pointed out yourself, the choice of a unit-testing library is one question. Yes, I think GoogleTest is just fine. I like it because it feels lightweight in terms of usage. UnitTest++ is even more so. It doesn't matter which one you pick.
I don't have any experience with CruiseControl, but looking at your set of requirements I'd probably write a script to do the job. Each requirement can be easily done by at least one tool, so just glue the tools together.
Unless your reports need to be in HTML, XML, LaTeX or other fancy format, I'd use Bash. Then you can just time
commands, sed
out output from the unittest binary and so on. Still, you might pick Bash for the more complex formats anyway if you really love Bash and are used to it. For instance, you might write an HTML template for the report using placeholders, and then replace the placeholders with the data.
If your tasks are more complex, for instance because you want the script to run on other platforms too then I'd probably use Ruby or Python. In Ruby, for instance, you might use Markaby to output your HTML. Either way, either Bash, Ruby or Python are excellent for text processing or for this task in general. I think you could mock up a small script that would do the work in no-time.
What's nice is that if you use a script then you can also attach it as a hook to almost any modern version control system. For instance, you might set up a Subversion or Git hook such that the script will run upon any commit.