Hi Jani,
as said this morning, here's how I run the entire test suite against Maria.
I have a directory, 'automated', which contains:
drwxrwxr-x 6 gbichot gbichot 4096 Oct 17 14:40 branches
drwxrwxr-x 4 gbichot gbichot 4096 Sep 10 16:21 checkouts
-rw-rw-r-- 1 gbichot gbichot 7458 Oct 15 15:17 maria-def-engine.py
the .py is attached.
In 'branches' there is:
mysql-6.0-maria mysql-maria
which are the two branches I run tests on.
begin:
the script checks if the branch is up to date.
If yes, sleep a while and goto begin.
If no, pull latest revisions, create a checkout in 'checkouts':
'checkouts' contains
mysql-6.0-maria mysql-maria
(corresponds to branches)
and in checkouts/mysql-maria there are:
checkout0 loop_log
Sat_Sep__6_14_49_53_2008 Wed_Oct__1_16_38_45_2008
checkout-1 Mon_Sep_29_14_44_26_2008
Thu_Sep__4_21_44_33_2008 Wed_Oct_15_15_26_10_2008
Fri_Sep__5_15_22_11_2008 Sat_Oct_11_00_20_52_2008
Tue_Sep__2_22_51_23_2008 Wed_Sep__3_22_54_22_2008
checkout-1 is the checkout used for the previous build. checkout0 is the
one which is going to be used for the current build.
So it builds checkout0, runs tests, eliminates some uninteresting
differences like in ENGINE= in SHOW CREATE TABLE.
And then makes a diff against the previous results (of checkout-1),
emails me this diff.
It stores a log of what it does into loop_log, and interesting files
like master.err are put in directories which have the current date-time
in their name like Wed_Oct_15_15_26_10_2008.
The python script is very rough, I didn't try to polish it. It sometimes
dies. If you want to use it, fill in addresses in tell_user().
I usually make it pull from launchpad because bk-internal cannot be
reached from the machine I use in Uppsala without entering a password
(so cannot work without my intervention). The drawback: launchpad is
sometimes behind by a couple of days.
--
Mr. Guilhem Bichot <guilhem@stripped>
Sun Microsystems / MySQL, Lead Software Engineer
Bordeaux, France
www.sun.com / www.mysql.com
Attachment: [text/x-python] maria-def-engine.py