I’ve added a smoke test script to Ferret. It is named smoke_test.rb
and it can be found in the base of the working directory.
So what are you supposed to do with it you ask? Well, if you want to
help keep Ferret working on your system of choice then set up a cron
task to run this script regularly. What the script does is call
svn update to get the latest working revision. If it is already at the
latest revision it stops there. Otherwise it will run both the
straight C unit tests and the Ferret unit tests and post the results
And I’ll be notified if anything breaks. This way I’ll know of I’m
breaking Ferret on a different system to mine, when I make make the
So if you want to get on board, here is a summary:
prompt> svn co svn://www.davebalmain.com/exp ferret
prompt> cd ferret
prompt> ruby smoke_test.rb # no-op since you are already at latest
Now add the script to your crontab or whatever you use to
processes on your system. For me, I did this:
prompt> sudo vi /etc/crontab
then add the following line:
17 * * * * root /usr/bin/ruby /path/to/smoke_test.rb true
The first parameter specifies whether to do a full rebuild before
testing. This is preferable although it will take a little more
processor time. The second parameter is obviously your email address.
Don’t worry, it won’t be published anywhere. It just lets me contact
you about any problems that are showing up on your system.
A quick disclaimer to finish off. I hacked this up pretty quickly so
there are probably a few improvements that could be made. Please feel
free to post your suggestions.
 There is a brief cron tutorial here: