skip the porting/utils.t unless in a git checkout
authorRicardo Signes <rjbs@cpan.org>
Thu, 10 May 2012 20:56:40 +0000 (16:56 -0400)
committerRicardo Signes <rjbs@cpan.org>
Thu, 10 May 2012 20:56:40 +0000 (16:56 -0400)
Today I tried to build 5.16.0-RC0 on my Linode and I got this:

  ok 78 # skip utils/cpanp-run-perl executes code in a BEGIN block which fails for
   empty @ARGV
  not ok 79 - utils/cpanp compiles
  # Failed test 79 - utils/cpanp compiles at porting/utils.t line 81
  #      got "defined(%hash) is deprecated at /usr/local/lib/perl5/site_perl/5.10.
  0/Locale/Maketext/Lexicon.pm line 307.\n\t(Maybe you should just omit the define
  d()?)\nutils/cpanp syntax OK\n"
  # expected "utils/cpanp syntax OK\n"

Ugh.  We really don't want this to happen to somebody else, because this
test is "do not let the developer break stuff" not "make sure the install
works."

t/porting/utils.t

index 21a9cc6..30c02b7 100644 (file)
@@ -24,6 +24,13 @@ use strict;
 
 require 't/test.pl';
 
+# It turns out that, since the default @INC will include your old 5.x libs, if
+# you have them, the Porting utils might load a library that no longer compiles
+# clean.  This actually happened, with Local::Maketext::Lexicon from a 5.10.0
+# preventing 5.16.0-RC0 from testing successfully.  This test is really only
+# needed for porters, anyway.  -- rjbs, 2012-05-10
+find_git_or_skip('all');
+
 my @maybe;
 
 open my $fh, '<', 'MANIFEST' or die "Can't open MANIFEST: $!";