Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 9013
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: ville.skytta [...] iki.fi
Cc:
AdminCc:

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

Attachments


Subject: Lots of test errors in 0.2607
In 0.2607, compat.t starts failing too akin to how runthrough.t does (due to a Test::Harness::Straps bug in Perl 5.8.5); erroring out with "argument list too long" on Fedora Core 3, but I suspect that it happens on any system which has a longish default @INC. Test output attached. compat.t passed just fine with 0.2606. Perhaps add a versioned dependency on the fixed Test::Harness::Straps in case it is the root cause of these problems?
Download test-out.txt.gz
application/x-gzip 11.1k

Message body not shown because it is not plain text.

Hmm, I don't understand this. The command that's failing to run is "/usr/bin/perl Build.PL". That sure doesn't *look* too long. I also don't see why using a different Test::Harness would make any difference at this point in the code. I'm further confused by the fact that the command "/usr/bin/perl Build.PL --config foocakes=barcakes --foo --bar --bar -bat=hello gee=whiz --any hey" in t/basic.t succeeds. Maybe the "argument list too long" message is a red herring? -Ken
From: Glen gyldersleve (glen [...] canright.com)
I'm getting the same set of errors with Fedora core 3. /usr/bin/perl Build --makefile_env_macros 1 test Writing config notes to blib/lib/Module/Build/ConfigData.pm t/basic.........ok t/compat........ok 2/60Couldn't run Build.PL: Argument list too long at /var/.cpan/build/Module-Build-0.2607/blib/lib/Module/Build/Compat.pm line 168. t/compat........NOK 3# Failed test 3 in t/compat.t at line 153 # t/compat.t line 153 is: ok $result; t/compat........ok 4/60Can't exec "/usr/bin/perl": Argument list too long at /var/.cpan/build/Module-Build-0.2607/blib/lib/Module/Build/Base.pm line 2651. t/compat........ok 5/60Can't exec "/usr/bin/perl": Argument list too long at /var/.cpan/build/Module-Build-0.2607/blib/lib/Module/Build/Base.pm line 2651. Can't exec "/usr/bin/perl": Argument list too long at /usr/lib/perl5/5.8.5/Test/Harness/Straps.pm line 267. Use of uninitialized value in warn at /usr/lib/perl5/5.8.5/Test/Harness.pm line 485. FAILED--1 test script could be run, alas--no output ever seen make[1]: *** [test] Error 7 # Failed test 6 in t/compat.t at line 47 # t/compat.t line 47 is: ok $success; # Test 7 got: "MAKE TEST\nMAKE[1]: ENTERING DIRECTORY `/VAR/.CPAN/BUILD/MODULE-BUILD-0.2607/T/SAMPLE'\n/USR/BIN/PERL BUILD --MAKEFILE_ENV_MACROS 1 TEST\n/USR/BIN/PERL LIB/SAMPLE/SCRIPT.PL LIB/SAMPLE/SCRIPT\nTEST....CAN'T RUN TEST.PL. ARGUMENT LIST TOO LONG\nMAKE[1]: LEAVING DIRECTORY `/VAR/.CPAN/BUILD/MODULE-BUILD-0.2607/T/SAMPLE'\n" (t/compat.t at line 48) # Expected: "(?-xism:DONE\\.|SUCCESS)" # t/compat.t line 48 is: ok uc $output, qr{DONE\.|SUCCESS}; t/compat........ok 8/60Couldn't run Build.PL: Argument list too long at /var/.cpan/build/Module-Build-0.2607/blib/lib/Module/Build/Compat.pm line 168. # Failed test 9 in t/compat.t at line 153 fail #2 # Test 10 got: <UNDEF> (t/compat.t at line 154 fail #2) # Expected: "1" (Makefile should exist) t/compat........NOK 10# t/compat.t line 154 is: ok -e 'Makefile', 1, "Makefile should exist"; make[1]: *** No rule to make target `realclean'. Stop. t/compat........ok 12/60Couldn't run Build.PL: Argument list too long at /var/.cpan/build/Module-Build-0.2607/blib/lib/Module/Build/Compat.pm line 168. # Failed test 13 in t/compat.t at line 153 fail #3 # Test 14 got: <UNDEF> (t/compat.t at line 154 fail #3) # Expected: "1" (Makefile should exist) (and so on..)
From: bgreenlee <bgreenlee [...] gmail.com>
I had the same issue. I installed Perl 5.8.6 and it worked fine. -b [SCOP - Sun Dec 19 09:04:42 2004]: Show quoted text
> In 0.2607, compat.t starts failing too akin to how runthrough.t does > (due to a Test::Harness::Straps bug in Perl 5.8.5); erroring out > with "argument list too long" on Fedora Core 3, but I suspect that > it happens on any system which has a longish default @INC. > > Test output attached. compat.t passed just fine with 0.2606. Perhaps > add a versioned dependency on the fixed Test::Harness::Straps in > case it is the root cause of these problems?
From: DAGOLDEN
[guest - Fri Jan 7 19:39:34 2005]: Show quoted text
> I had the same issue. I installed Perl 5.8.6 and it worked fine.
Did you compile it yourself? What's your @INC?
I believe this Test::Harness bug can be worked around with the following patch, which will be in the next M::B release: ========================================================= ========== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.340.2.10 retrieving revision 1.340.2.11 diff -u -d -r1.340.2.10 -r1.340.2.11 --- Base.pm 5 Jan 2005 04:37:32 -0000 1.340.2.10 +++ Base.pm 9 Jan 2005 19:28:17 -0000 1.340.2.11 @@ -1340,6 +1340,11 @@ local @INC = (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'), File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'), @INC); + + # Filter out duplicate @INC entries - some versions of Test::Harness + # will really explode the number of entries here + my %seen; + @INC = grep {not $seen{$_}++} @INC;
Show quoted text
> I believe this Test::Harness bug can be worked around with the > following patch, which will be > in the next M::B release:
Unfortunately this patch does not seem to fix any errors for me; same output both before and after applying it. Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compat.t 60 30 50.00% 3-10 13-20 38 41 43 45-46 48-55 57 t/runthrough.t 28 2 7.14% 14-15 1 test skipped. Failed 2/13 test scripts, 84.62% okay. 32/318 subtests failed, 89.94% okay. Upgrading Test::Harness::Straps to 0.20 is the only thing I've found to fix some of these errors; but even that won't do for all of them (and the patch from this bug does not have any effect with it either): Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compat.t 60 8 13.33% 6-7 16-17 52-55 1 test skipped. Failed 1/13 test scripts, 92.31% okay. 8/318 subtests failed, 97.48% okay. ./Build test logs available on request.
What I REALLY meant, apparently, was THIS patch: =) ====================== @@ -1429,6 +1429,10 @@ local @INC = (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'), File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'), @INC); + + # Filter out nonsensical @INC entries - some versions of + # Test::Harness will really explode the number of entries here + @INC = grep {ref() || -d} @INC if @INC > 100; my $tests = $self->find_test_files; ====================== Better? -Ken
Show quoted text
> Better?
With that patch applied and Test::Harness::Straps 0.19: Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compat.t 60 30 50.00% 3-10 13-20 38 41 43 45-46 48-55 57 1 test skipped. Failed 1/13 test scripts, 92.31% okay. 30/318 subtests failed, 90.57% okay. With the patch and Test::Harness::Straps 0.20, all tests pass.
I've just run 0.2608's test suite, and all tests pass now also with the older Test::Harness 0.19. Thanks.
Excellent, thanks for all your help. -Ken