My script for doing testing

Austin English austinenglish at gmail.com
Wed Nov 25 11:08:35 CST 2009


On Wed, Nov 25, 2009 at 10:33 AM, Jeremy White <jwhite at codeweavers.com> wrote:
> So I have done my penance for failing to set up
> a cron to run testing.  I've got routine testing
> going every night on 2 boxes.  It seems solid.
>
> I see that many others have done this as well - test.winehq.org
> wine results are really looking good.
>
> As promised, I'm attaching the script I'm using.
>
> This is my crontab line:
> 06 02 * * 2-6 /home/jwhite/bin/winetestcron --repo /home/jwhite/w/wine/.git --tag jw-nv-32
> e.g. run the script at 2:06 am Tuesdays through Saturdays.
>
> I don't want this to be a general call for everyone
> to run this script; rather, this might be a handy tool for
> developers who are already running winetest to
> save them a little hassle.
>
> My script probably has only one materially useful
> feature - it uses a trap to enforce a timeout.
> The rest is all pretty easy/obvious stuff.
>
> Also, I've only tested on Linux, not Mac.  Sorry :-(.

I really wish you had said something to me before..I've been cleaning
my script up, with some help from Vincent. It's pretty similar, but a
bit more advanced (and supports Linux, BSD, Solaris and supposedly
Mac, but that's untested):

http://winezeug.googlecode.com/svn/trunk/build_script/daily.sh

By default, just running:
$ sh daily.sh
will test for $HOME/wine-git, run git fetch in it, then clone it to a
temp directory, run make and winetest.exe in that directory, then
remove the temp directory. Gecko is handled automatically, similar to
yours. If $HOME/wine-git doesn't exist (you can override that
directory with the $WINEGIT environmental variable), then it will run
a git clone --depth 1 for you. The tag is also handled in a similar
way, overridable, but by default will use the username and hostname of
the machine.

What I've done a bit different is allowing for some different testing
configurations:
WINEDEBUG=+heap, oss, esound, jack, pbuffer, backbuffer,
glsl-disabled, virtual desktop, etc.

The other neat thing is that it will run git fetch in a loop every 30
minutes (again, overridable), so that you can run it in the morning
while waiting for AJ to commit. Once commits are made to the git
master branch (but not stable), the script will kick into motion.

I'm not depending on others to run this script, but if anyone does use
it and find it useful, please send me any bug reports or file them on
winezeug. I'm using this daily on my Linux box, but would love to see
this being used daily on a FreeBSD/Solaris/OS X box (though I think a
couple people are now submitting OS X results daily, so not as big of
a deal there).

-- 
-Austin



More information about the wine-devel mailing list