Using an automatic build and testing system
A couple of days ago we setup an automatic build and testing system for our development of Origo. We used CruiseControl as the base of the system. CruiseControl does check if there were any changes to the source code and launches a build.
For the build we wrote some small bash scripts that first get the most up to date source of our dependencies and our code. After this, everything is built and at the end our test cases are run. Our testing consists of starting several applications and then executing xml rpc requests on our API interface. To do the testing we choose python as there exists a python unit test framework that generates an xml output which is compatible to the xml output of junit which cruisecontrol can directly parse.
The result of the test runs is then published on a website and mailed to the developers.
Our dependencies are at the moment:
- Thread Extension
So this might even help to detect problems in those libraries as we use the trunk version of the libraries at the moment.
So far we are very happy with our setup and in the coming days we'll add more test cases.