marvin at rectangular
Jul 2, 2008, 3:55 PM
Post #1 of 2
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
* Check exit value of "./Build $target" using $? >> 8, and
only email a report when we detect a non-zero value
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.
KinoSearch mailing list
KinoSearch [at] rectangular