Fix t/porting/manifest.t failures when run in a foreign git checkout
authorNiko Tyni <ntyni@debian.org>
Sun, 2 Dec 2018 09:57:01 +0000 (11:57 +0200)
committerDominic Hargreaves <dom@earth.li>
Thu, 6 Dec 2018 19:31:50 +0000 (19:31 +0000)
The change at ba6733216202523a95b0b7ee2e534b8e30b6d7df didn't work
correctly: find_git_or_skip() in t/test.pl looks at PERL_BUILD_PACKAGING
too late, so it doesn't change the logic of skipping, only the explanation
of why tests get skipped if they do. This was originally reported at
<https://bugs.debian.org/914962>.

Committer: update commit message for upstream context

t/test.pl

index 406864d..25eae40 100644 (file)
--- a/t/test.pl
+++ b/t/test.pl
@@ -200,7 +200,9 @@ sub find_git_or_skip {
            $source_dir = '.'
        }
     }
-    if ($source_dir) {
+    if ($ENV{'PERL_BUILD_PACKAGING'}) {
+       $reason = 'PERL_BUILD_PACKAGING is set';
+    } elsif ($source_dir) {
        my $version_string = `git --version`;
        if (defined $version_string
              && $version_string =~ /\Agit version (\d+\.\d+\.\d+)(.*)/) {
@@ -213,9 +215,6 @@ sub find_git_or_skip {
     } else {
        $reason = 'not being run from a git checkout';
     }
-    if ($ENV{'PERL_BUILD_PACKAGING'}) {
-       $reason = 'PERL_BUILD_PACKAGING is set';
-    }
     skip_all($reason) if $_[0] && $_[0] eq 'all';
     skip($reason, @_);
 }