[KinoSearch] Smoke testing

Marvin Humphrey marvin at rectangular.com
Wed Jul 2 15:55:47 PDT 2008



Greets,

Thanks to Peter (and his SVN::Class distro, which does the heavy  
lifting), we now have smoke.pl.  You use it by checking out the KS svn  
trunk, then running 'perl /path/to/kinotrunk/devel/bin/smoke.pl [/path/ 
to/config.json]'.  The app will update the checkout to the latest  
revision, refresh the build, and then run the test suite.  If there  
are any failures, it prints a report; otherwise it prints a short  
message indicating success.

The next step is to set up automated daily smokes that notify the KS  
devel community when something fails.  I think setting up smoke.pl to  
email results to a public mailing list (probably kinosmoke at  
rectangular dot com) is the best way to handle that.  We'll need to  
make the following mods to smoke.pl:

  * Set up emailing facilities using some CPAN module.  I've used
    Net::SMTP before, but I haven't kept up with current fashion and
    suggestions would be welcome.
  * Set up the config file to provide the necessary arguments to the
    emailing module.
  * Check exit value of "./Build $target" using $? >> 8, and
    only email a report when we detect a non-zero value
    indicating failure.

KS svn trunk should currently pass "./Build test" on both 32-bit and  
64-bit machines powered by most common modern Unixen: Linux, *BSD,  
Solaris, Mac OS X.  With minor exceptions, I think we can commit to  
constant support for those platforms in trunk going forward.

Windows is a little trickier.  Last I checked, KS svn trunk compiled  
but massively failed the test suite.  It's about to start failing to  
compile again, though, because of upcoming experiments with mmap.   
When pursuing such experiments, it's easier to develop for GCC and  
then port successful mods, rather than develop simultaneously for  
multiple systems.  Certainly for the present, we'll just skip smoking  
on Windows.  (Dunno if SVN::Class works on Windows, anyhow.)

As of r3557, "./Build test_valgrind" passes on my main valgrind  
testing environment (MacBook Pro running Ubuntu via VMWare Fusion),  
but there are kinks for other setups regarding system-specific  
suppressions for ld and Perl itself.  Once we get the suppressions  
issue settled down, we should be able to commit to continual passing  
of test_valgrind on modern Linux boxes going forward and it would be  
nice to set up smokes for that as well.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/


_______________________________________________
KinoSearch mailing list
KinoSearch at rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch




More information about the kinosearch mailing list