Ping! Is it OK to push the change I propose below? > Date: Wed, 28 Aug 2019 19:01:39 +0300 > From: Eli Zaretskii <e...@gnu.org> > Cc: bug-make@gnu.org > > > From: Paul Smith <psm...@gnu.org> > > Cc: bug-make@gnu.org > > Date: Wed, 28 Aug 2019 11:25:25 -0400 > > > > $string = `sh -c "$make_path -f null.mk $redir"`; > > if ($string =~ /(.*): \*\*\* No targets\. Stop\./) { > > $make_name = $1; > > } > > else { > > $make_path =~ /^(?:.*$pathsep)?(.+)$/; > > $make_name = $1; > > } > > > > I don't know why we use sh -c here instead of just invoking the command > > normally via Perl ``... but that certainly fails for you since you have > > no sh, so it goes to the else part and tries to grab the filename. > > > > You can either try removing the sh -c and just running make directly > > and grabbing the name from the output, or you can fix the else-part to > > remove a .exe if it exists. > > Thanks. Does the below look right? I'm mainly worried about the > redir part, although this did work for me on Windows. (Perl is > largely a read-only language for me.) > > diff --git a/tests/run_make_tests.pl b/tests/run_make_tests.pl > index 7e969a9..55bae33 100644 > --- a/tests/run_make_tests.pl > +++ b/tests/run_make_tests.pl > @@ -436,7 +436,7 @@ sub set_more_defaults > > my $redir = '2>&1'; > $redir = '' if os_name eq 'VMS'; > - $string = `sh -c "$make_path -f null.mk $redir"`; > + $string = `$make_path -f null.mk $redir`; > if ($string =~ /(.*): \*\*\* No targets\. Stop\./) { > $make_name = $1; > } > > With this change, I'm down to 236 failed tests. > > _______________________________________________ > Bug-make mailing list > Bug-make@gnu.org > https://lists.gnu.org/mailman/listinfo/bug-make
_______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make