Re: Questions, a patch and a script
[email protected] (Abe Timmerman) Sat, 18 Oct 2003 18:24:05 +0200
| Newsgroups | perl.daily-build |
|---|---|
| Organization | ztreet |
| Message-ID | <[email protected]> |
[ Moved to the <daily-build> list, that is where we should be doing this IMO ]
Op een zonnige herfstdag (Saturday 18 October 2003 16:53), schreef David
Landgren:
> List,
Hi David,
Welcome to the smokers!
> A few things here. I've been looking at the different reports coming in
> and so I wanted to change my config to test some of the more exotic
> variants. It seems pointless to smoke bincompat5005 for 5.9.0. So COW
> seemed like a good thing to try out.
>
> I tried adding
>
> ==
> /-DPERL_COPY_ON_WRITE/
>
> -DPERL_COPY_ON_WRITE
>
> to the end of my config but that spits out an error:
>
> make distclean ...
> Copy Policy.sh ...Policy target '-DPERL_COPY_ON_WRITE' failed to match
> at /usr/local/perlsmoke/Test/Smoke/Smoker.pm line 270
Okay, I will put something about this in the FAQ for the next release, but
here it is (again)
Either you create a two-line section in your .cfg like this:
=
# The COW section starts here
-Accflags='-DPERL_COPY_ON_WRITE'
=
As that is the way to build with COW from the commandline
The other way is to have a F<Policy.sh> in <buildir>/.. that has (at least)
C<< ccflags='-DDEBUGGING -DPERL_COPY_ON_WRITE' >>
*together* with your substitution section in the .cfg-file.
The substitution sections can only be used to remove options from that
ccflags-line in Policy.sh.
This all seems too much trouble, so I'll think about generating the default
Policy.sh from the substitution sections in the .cfg, it should DWYM!
> It would be helpful if the config that was used for the smoke (sans
> comments) was tacked onto the end of the report.
If other smokers/smoke-lurkers/porters feel this is useful, just speak-up and
I'll do that!
> Also, how can I add a
> -j switch to make, in order to run tests in parallel? My configure-fu is
> not strong enough to figure it out.
F<configsmoke.pl> offers you the {makeopt} variable for the "make" and "make
test-prep" steps. It also offers the {testmake} variable, which defaults to
$Config{make}, but you could try to set that to "make -j" (but I haven't
tested that).
This deliberate split between makeoptions for different steps in the process
was done because Alan ran into problems running the equivalent of "make -j
_test", but remember parallel "make test" it not guaranteed to work!
> I have patched smokerstatus.pl to print out the mean smoke duration. I
> don't have a diff, but it just involves adding the following line:
>
> print "$rpt->{count} out of $ccnt configurations finished in
> $rpt->{time}.\n",
> "Mean smoke duration: @{[time_in_hhmm(int $rpt->{avg})]}.\n";
>
> printf "$rpt->{fail} configuration%s showed failures%s.\n",
> ($rpt->{fail} == 1 ? "" : "s"), $rpt->{stat} ? " ($rpt->{stat})"
>
> : "";
Thanks, I'll put that into the next release, seems like a useful datapoint.
> Once you have an idea of the mean smoke duration, it is possible to run
> smokerstatus.pl in a loop, to keep an eye on things:
>
> % cat smokersloop
> #! /bin/sh
> SLEEPTIME=900
> if [ "$1x" = "x" ]
> then
> echo "No config file given on command line"
> exit
> fi
> if [ "$2x" = "x" ]
> then
> echo "No sleep time given, using default $SLEEPTIME"
> else
> SLEEPTIME=$2
> fi
> while true
> do
> /usr/local/perlsmoke/smokestatus.pl -c $1
> sleep $SLEEPTIME
> done
Don't you just loooooove crontab ;-)
(did you look at the "-a" and the "-r" switch for smokestatus.pl?)
> And then you can see if a smoke has become wedged. And once again...
> after a successful smoke of 5.9.x, once again I have a test that is
> stuck in limbo:
>
> ./perl -I. -MTestInit ../ext/IO/t/io_multihomed.t
>
> ... has been stuck on this for six hours. All I know is that this is the
> first smoke configuration in which -Duseithreads has been issued. And
> yet my previous smoke of 21451 went through without a hitch.
>
> Anyway, my apologies for not splitting this babble up into multiple
> posts. Thanks for listening.
Sorry for not splitting the reactions into different posts ;-)
Thanks for your observations and input!
happy smokin' &&
Good luck,
Abe
--
Schwern> Just to appease the pedants I'll actually include a patch
Schwern> with this email that says "PATCH".
Such attention to detail :-)
-- Jarkko Hietaniemi on p5p @ 2003-04-07