> Not that I agree with all, but gaining more smoke power is valued over full
> coverage (I'm trying to build blead with both DJGPP (bad things happen) and
> Cygwin (96% pass on make miniperl), and neither would pass the "dmake", since
> I don't have it)
Well, the patch was flagged for discussion: I meant,
discuss it, then I will implement the things that are required...
so it was quite limited. Thanks for rewieving all of this!
> > +sub make ($) {
<snip>
> > +}
>
> in as
> sub make ($)
> {
> my $cmd = shift;
>
> is_win32 () or return run ("make $cmd");
>
> my $kill_err;
> # don't capture STDERR
> $cmd =~ s{2\s*>\s*/dev/null\s*$}{} and $kill_err = 1;
> # Better detection of make vs. nmake vs. dmake required here
> # dmake + MSVC5, make + DJGPP, make + Cygwin
I can test dmake + MinGW, dmake + MSVC5, nmake + MSVC5,
make + Cygwin, if you want. What I needed ( and still need )
to know is the metod of specifying them:
paramtere to the script? ( perl smoke.pl MAKE=dmake CCTYPD=MSVC5
CCHOME=...
a config file?
psudo options in smoke .cfg?
( like
=
CCTYPE=MSVC5
CCHOME=...
=
That's why the patch was for discussion: it lacked the
configurability, among the other things
> $cmd = "dmake -f smoke.mk $cmd";
> chdir "win32" or die "unable to chdir () into 'win32'";
> run ($kill_err ? qq{$^X -e "close STDERR; system '$cmd'"} : $cmd);
> chdir ".." or die "unable to chdir() out of 'win32'";
> } #make
<snip>
> > - unless ($norun or (-f "Makefile" && -s "config.sh")) {
> > + unless ($norun or ( is_win32() ?
> > + -f 'win32/smoke.mk' :
> > + -f "Makefile" && -s "config.sh")) {
>
> Does dmake/MSVC5 *not* create config.sh ???
I don't remember, but if it does so, it creates it *after*
miniperl, and here you are checking for it to confirm
*configuration* was successful
<snip>
> > On win32 all text results point to ../somedir/sometext,
> > however for harness to work properly, tests in
> > lib/ and ext/ need to be prefixed with ../, while
> > the ones in t/ must not.
>
> Hrmmm, OK, but you forgot the obvious
> push @nok, "\n",
> grep !m:\bFAILED tests\b: &&
> - !m:% okay$: => run "./perl t/harness @harness";
> + !m:% okay$: => run "./perl t/harness $harness";
Ick. You're right.
> > The sub below takes a ./Configure command line and makes some
> > modifications to win32/makefile.mk, writing them to smoke.mk
> >
> > +
> > +sub Configure {
> > :
> > Comments?
>
> Yep, how/where is this called? Should it need another option?
> Just defining a sub won't make it called ;)
> > + run "./Configure $config_args -des",
> > + is_win32() ? \&Configure : undef;
I suspect you missed this above; when the second parameter to
run() is a coderef it calls it.
> > diff -b -u -r Test-Smoke-1.06.orig/mkovz.pl Test-Smoke-1.06/mkovz.pl
> > --- Test-Smoke-1.06.orig/mkovz.pl Mon Sep 03 12:32:50 2001
> > +++ Test-Smoke-1.06/mkovz.pl Sun Sep 09 00:02:17 2001
>
> Sensible patch.
>
> > On win32 I found some of that in 'make test' output
> > ..\lib/File/Find/t/taint..............dubious
> > Test returned status 1 (wstat 256, 0x100)
> > DIED. FAILED test 28
> > Failed 1/45 tests, 97.78% okay (-18 skipped tests: 26 okay, 57.78%)
> >
> > and this ends up as
> > DIED. FAILED test 28
> > in mktest.rpt, without any mention of the test script
> > so if I ges a "DIED" or "FAILED" at the beginning of the line,
> > I look back the last 5 lines for something containing '..'
> > ( the line with the test name )
> Do you want to peruse/test the new set before I make it world available?
If you spell out the CCTYPE, etc configuration method you
prefer, I can implement it and test it in the above platforms.
Anyway, whatever you decide to do I am glad to test it.
> Where do you want to /create/ the win32 subfolder /if/ in win32? During
> Makefile.PL?
If you are referring to this win32 subdir
> > called as 'make "test";' or 'make "foo 2>/dev/null";'
> > Win32 makefiles reside
> > in the win32/ subdir.
^^^^^^
then it is the win32 subdir in the perl source tree
Thanks!
Mattia