Mailing List Archive

Smoke testing
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@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: Smoke testing [ In reply to ]
Marvin Humphrey wrote on 7/2/08 5:55 PM:

>
> * 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.
>

r3559 implements these, I think. Please confirm that it does what you expect.


> (Dunno if SVN::Class works on Windows, anyhow.)

It should, if the 'svn' binary is available via the Windows shell. I don't know
if that's possible, as under cygwin et al. But in theory, since SVN::Class
subclasses Path::Class, it should Just Work.

--
Peter Karman . http://peknet.com/ . peter@peknet.com

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