This is how embedded parrot tests in smoke
mktest.pl at the end:
--8<---
if (@harness) {
local $ENV{PERL_SKIP_TTY_TEST} = 1;
print TTY "\nExtending failures with Harness\n";
print LOG "\n",
grep !m:\bFAILED tests\b: &&
!m:% okay$: => qx "./perl t/harness @harness";
}
}
print TTY "\n";
# Done with perl tests
-f "../parrot-latest.tbz" or next;
qx "gzip -d < ../parrot-latest.tar.gz | tar xf -";
chdir "parrot" or next;
$ENV{PERL5LIB} = "/pro/3gl/CPAN/perl-current/lib";
qx "../perl -I../lib Configure.pl --default 2>>../parrot2.log";
if (-f "Makefile") {
qx "make test_prog 2>>../parrot2.log";
if (open LOG1, ">>../parrot1.log") {
print LOG1 "Conf: $s_conf", "=" x 78, "\n";
open LOG2, ">>../parrot2.log";
print LOG2 "Conf: $s_conf", "=" x 78, "\n";
close LOG2;
-x "test_prog" and print LOG1 qx "make test 2>>../parrot2.log";
close LOG1;
}
}
chdir "..";
qx "rm -rf parrot";
}
-->8---
And your smoke.sh rsync changes like
--8<---
#!/bin/sh
# This should be run with cron
# Change your base dir here
export PC
PC=${1:-/usr/CPAN/perl-current}
CF=${2:-smoke.cfg}
# Set other environmental values here
export PATH
PATH=`pwd`:$PATH
echo "Smoke $PC"
umask 0
cd $PC || exit 1
wget http://cvs.perl.org/snapshots/parrot/parrot-latest.tar.gz
mv parrot-latest.tar.gz ..
make -i distclean > /dev/null 2>&1
rsync -avz --delete rsync://ftp.linux.activestate.com/perl-current/ .
(mktest.pl $CF 2>&1) >mktest.log || echo mktest.pl exited with exit code $?
mkovz.pl [EMAIL PROTECTED] $PC || echo mkovz.pl exited with exit code $?
-->8---
This is just a little cut-n-paste and does not reflect *my* situation, but
just shows how I did it.
I also have no parrot1.log/parrot2.log parser. Mattia?
Just timed one go, which adds about 50 seconds to each go. For my machine that
would be about 4 x 14 x 50" = 46 minutes
--
H.Merijn Brand Amsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.6.1, 5.7.1 & 629 on HP-UX 10.20 & 11.00, AIX 4.2, AIX 4.3,
WinNT 4, Win2K pro & WinCE 2.11. Smoking perl CORE: [EMAIL PROTECTED]
http:[EMAIL PROTECTED]/ [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org