Commit a5e00cc2 authored by Dominic Hargreaves's avatar Dominic Hargreaves Committed by Niko Tyni

Skip various tests if PERL_BUILD_PACKAGING is set

These are tests which tend not to be useful for downstream packagers

t/porting/customized.t change originally from Todd Rinaldo

Patch-Name: fixes/packaging_test_skips.diff
parent 5bea0ab1
......@@ -2724,4 +2724,5 @@ This document is part of the Perl package and may be distributed under
the same terms as perl itself, with the following additional request:
If you are distributing a modified version of perl (perhaps as part of
a larger package) please B<do> modify these installation instructions
and the contact information to match your distribution.
and the contact information to match your distribution. Additional
information for packagers is in F<PACKAGING>.
......@@ -4864,6 +4864,7 @@ os2/perlrexx.c Support perl interpreter embedded in REXX
os2/perlrexx.cmd Test perl interpreter embedded in REXX
overload.h generated overload enum (public)
overload.inc generated overload name table (implementation)
PACKAGING notes and best practice for packaging perl 5
packsizetables.inc The generated packprops array used in pp_pack.c
pad.c Scratchpad functions
pad.h Scratchpad headers
......
If you read this file _as_is_, just ignore the funny characters you
see. It is written in the POD format (see pod/perlpod.pod) which is
specifically designed to be readable as is.
=head1 NAME
PACKAGING - notes and best practice for packaging perl 5
=head1 SYNOPSIS
This document is aimed at anyone who is producing their own version of
perl for distribution to other users. It is intended as a collection
of useful tips, advice and best practice, rather than being a complete
packaging manual. The starting point for installing perl remains
F<INSTALL>.
=head1 Customizing test running
A small number of porting tests (those in t/porting) tests are not well
suited to typical distribution packaging scenarios. For example, they
assume they are working in a git clone of the upstream Perl repository,
or enforce rules which are not relevant to downstream packagers.
These can be skipped by setting the environment variable
PERL_BUILD_PACKAGING. A complete list of tests which this applied to
can be found by searching the codebase for this string.
An alternative strategy would be to skip all porting tests, but many of
them are useful if additional patches might be applied.
=cut
......@@ -164,6 +164,11 @@ if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
exit 0;
}
if ($ENV{'PERL_BUILD_PACKAGING'}) {
print "ok # skip explicitly disabled git tests by PERL_BUILD_PACKAGING\n";
exit 0;
}
$fh = open_new('lib/.gitignore', '>',
{ by => $0,
from => 'MANIFEST and parsing files in cpan/ dist/ and ext/'});
......
......@@ -13,6 +13,7 @@ BEGIN {
@INC = qw(lib Porting t);
require 'test.pl';
skip_all("pre-computed SHA1 won't match under EBCDIC") if $::IS_EBCDIC;
skip_all("This distro may have modified some files in cpan/. Skipping validation.") if $ENV{'PERL_BUILD_PACKAGING'};
}
use strict;
......
......@@ -212,6 +212,9 @@ 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, @_);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment