Skip Menu |

This queue is for tickets about the ExtUtils-AutoInstall CPAN distribution.

Report information
The Basics
Id: 11960
Status: new
Priority: 0/
Queue: ExtUtils-AutoInstall

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Don't expand tests if you don't have to
ExtUtils::AutoInstall (and thus Module::Install) expands the list of tests before sending it to MakeMaker. This can blow over command line limits on VMS (256 characters), Windows (about 1500 for old nmakes) and certain gimped Unixen (4096 for old IRIXes). The only reason the glob is expanded, it seems, is to remove disabled tests. A simple stopgap is to not expand the globs if there are no disabled tests. Patch attached.
diff -rN -u old-ExtUtils-AutoInstall-0.61/lib/ExtUtils/AutoInstall.pm new-ExtUtils-AutoInstall-0.61/lib/ExtUtils/AutoInstall.pm --- old-ExtUtils-AutoInstall-0.61/lib/ExtUtils/AutoInstall.pm 2004-10-18 23:53:40.000000000 -0700 +++ new-ExtUtils-AutoInstall-0.61/lib/ExtUtils/AutoInstall.pm 2005-03-21 20:06:24.000000000 -0800 @@ -873,9 +873,14 @@ } $args{test}{TESTS} ||= 't/*.t'; - $args{test}{TESTS} = join(' ', grep { - !exists($DisabledTests{$_}) - } map { glob($_) } split(/\s+/, $args{test}{TESTS})); + + # Only expand the list of tests if we absolutely have to to avoid + # blowing over command line limits. + if( keys %DisabledTests ) { + $args{test}{TESTS} = join(' ', grep { + !exists($DisabledTests{$_}) + } map { glob($_) } split(/\s+/, $args{test}{TESTS})); + } my $missing = join(',', @Missing); my $config = join(',',
Ping? This is holding up the portability of Module::Install.