Surprise Jarkko
[email protected] (H . Merijn Brand)
| Newsgroups | perl.qa,perl.daily-build |
|---|---|
| Message-ID | <[email protected]> |
Let's all surprise Jarkko when he returns from his vacation ... He's promised to drop 5.7.2 in place just before he leaves, and have a rapid cycle of 5.8.0 RC's when he returns. Let's be ready for him to test those! If you have any CPU cycles left, and a little time to set things up, combined with just a tiny bit of perl knowledge (just changing scripts to meet your situation), here's your chance to help 5.8.0 become the best tested version ever released. Below is the short story for the testbed I've created almost half a year ago when perl-smokers started, and it since then runs every night. It has been modified over time to better adjust to the current situation and builds and tests over 300 Configurations of perl *every* night. We want as many different machine architectures and operating system flavours tested in as many combinations as possible for at least the Configurations mentioned in mktest. (Well, since WinCE has no cron (yet), I don't thing it is a valid candidate for smoke tests). ====== Ask if it is not clear. ============================================= Ask all kind of questions on [email protected], so others can answer too, and since no situation is the same (at least we hope), we can all learn from eachother) Attached my current set. l1:/pro/3gl/CPAN/perl-5.7.1 104 > crontab -l #30 0 * * * /pro/3gl/CPAN/perl-5.6.1/smoke.sh 2>&1 45 22 * * * /pro/3gl/CPAN/perl-5.7.1/smoke.sh 2>&1 #0 8 * * * /pro/3gl/CPAN/perl-5.6.1/mkovz.pl 2>&1 0 9 * * * /pro/3gl/CPAN/perl-5.7.1/mkovz.pl 2>&1 l1:/pro/3gl/CPAN/perl-5.7.1 105 > tgz t /tmp/smoke rw-rw-rw- 1 merijn softwr 7852 Jul 11 17:30 /tmp/smoke.tgz gzip -d </tmp/smoke.tgz | /pro/bin/ntar -t -v -f - -rwxrwxrwx merijn/softwr 1493 2001-06-29 13:57:10 ../Policy.gcc -rwxrwxrwx merijn/softwr 1324 2001-05-17 15:40:16 ../Policy.sh -rwxr-xr-x merijn/softwr 585 2001-06-21 16:07:59 Rsync -rwxr-xr-x merijn/softwr 1195 2001-06-12 13:48:00 Xsync -rwxr-xr-x merijn/softwr 4806 2001-07-06 10:55:45 smoke.env -rwxr-xr-x merijn/softwr 1010 2001-06-21 16:09:45 smoke.sh -rwxr-xr-x merijn/softwr 6602 2001-06-22 11:34:10 mktest -rwxr-xr-x merijn/softwr 6487 2001-06-28 13:59:19 mktest-gcc -rwxr-xr-x merijn/softwr 5011 2001-07-06 15:32:40 mkovz.pl -rwxr-xr-x merijn/softwr 116 2001-03-29 11:07:45 Conf -rwxr-xr-x merijn/softwr 190 2001-07-10 15:31:06 Conf-gcc l1:/pro/3gl/CPAN/perl-5.7.1 106 > Here's my scene. I've got 5 systems in a NFS cross-mounted configuration. a cron job starts smoke.sh 5.7.1 (current blead) at night, just after the backup. smoke.sh reads the environment from smoke.env (change this!) to reflect a situation as would it just be my current daytime shell environment (except that with 'at' or 'cron' the STDIN is not a tty, so -t tests would probably fail (see sigaction.t change)) smoke.sh first rsyncs with the latest patches (in this version it rsyncs with bleadperl. When the 5.8.0RC's drip in, I will have to copy the scene to use the new address) on the primary target machine that has internet capabilities (and rsync installed). The rsync can be done standalone using Rsync. Then Xsyncs the secondary targets in the NFS to the rsynced version (Xsync is a perl script that 'pushes' the changes files over the NFS, where rsync pulls from the source). Xsync is not perfect for this, cause it (still) fails to remove files not anymore in the latest situation (smoke.sh creates a shell script 'rm.sh' on the main machine that would do what rsync --delete would have done). This might change. Change smoke.sh on the secondary targets to not rsync if you use my Xsync approach. After all that syncing, smoke.sh starts the (perl) script mktest and puts the results in mktest.out (short) and mktest.log (long) and creates prepared OK and Not OK messages in perl.ok and perl.nok that can be posted to perlbug, which I don't. Early in the morning (assuming all tests are done), another cron job starts mkovz.pl to gather all mktest.out reports over the NFS and create the mktest.rpt report, the list I post on [email protected] on a regular basis. Files you will have to change, if you use my approach, are smoke.env (just do something like 'env >smoke.env' and edit it to reflect the correct at-shell syntax (don't forget to quote complicated values). Be sure to put 'export SMOKING=YES' in there if you want to rsync), Xsync to reflect your NFS situation (you might instead want to start rsync on the other systems, pulling the latest source tree from either activestate or the primary target) and mkovz.pl to format for the systems you test. mkovz.pl now scans the reports directly over the NFS, but if you change all the smoke.sh scripts on the secondary target machines to rcp the report to the gathering machine, it can fetch the data from e.g. /tmp. Now when I come in in the morning, I just look in my mailbox to see what the night has brought me. (All machines together will do about 340 configuration tests if I enable all, but some machines are so slow, that theywon't complete in 24 hours if one does not disable some tests. Drat) Conf and Conf-gcc are short scripts that I use if anyone wants extra tests. Imagine that the report reports ext/Time/HiRes to fail for -Duse64bitall, then I use # Conf -Duse64bitall # cd t # ./perl -I ../lib ../ext/Time/Hires.t -- H.Merijn Brand Amsterdam Perl Mongers (http://www.amsterdam.pm.org/) using perl-5.6.1, 5.7.1 & 628 on HP-UX 10.20 & 11.00, AIX 4.2, AIX 4.3, WinNT 4, Win2K pro & WinCE 2.11 often with Tk800.022 &/| DBD-Unify ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/
smoke.tgz
(application/octet-stream, 7.7 KB) - not displayed