The autotests directory is currently a bit of a confusing mess. The large scale system tests are mixed with the smaller unit tests without a very clear separation between the two. We should really do something about this to make things clearer.
We could consider moving the unit tests to their respective modules, rather than collecting them in one place. That could encourage more active use during development, rather than treating the automatic tests as something entirely separate.
We should be able to move a few tests at a time and not have to move everything all at once. So the first step could be to move a few of them and see how that goes.
I've got a git branch where I've started working on moving a couple of unit tests to the source tree:
They are currently accompanied by a Jenkins job that runs the tests.
I've used nosetests as a test runner to provide xunit output files and coverage information that is compatible with the Jenkins plugins we're currently using.
This is a lot better now in that all unit test have moved to their respective modules. We still have a few mixed things left though, so a last round of cleanup is needed.