diff options
author | Dominic Hargreaves <dom@earth.li> | 2017-10-14 16:27:53 +0200 |
---|---|---|
committer | Dominic Hargreaves <dom@earth.li> | 2017-10-24 12:28:28 +0100 |
commit | ba6733216202523a95b0b7ee2e534b8e30b6d7df (patch) | |
tree | c1f166ed3c8b63e167b8c1ce75171c6ac502e66d | |
parent | a17768d7c7b82c136fbeacd85db3451973a8007a (diff) | |
download | perl-ba6733216202523a95b0b7ee2e534b8e30b6d7df.tar.gz |
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
-rw-r--r-- | INSTALL | 3 | ||||
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | PACKAGING | 30 | ||||
-rw-r--r-- | regen/lib_cleanup.pl | 5 | ||||
-rw-r--r-- | t/porting/customized.t | 1 | ||||
-rw-r--r-- | t/test.pl | 3 |
6 files changed, 42 insertions, 1 deletions
@@ -2714,4 +2714,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>. @@ -4932,6 +4932,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 diff --git a/PACKAGING b/PACKAGING new file mode 100644 index 0000000000..0c69b87ba6 --- /dev/null +++ b/PACKAGING @@ -0,0 +1,30 @@ +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) 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 diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl index 5e40b405a4..6caf74a563 100644 --- a/regen/lib_cleanup.pl +++ b/regen/lib_cleanup.pl @@ -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/'}); diff --git a/t/porting/customized.t b/t/porting/customized.t index 45fcafb100..5c3739198c 100644 --- a/t/porting/customized.t +++ b/t/porting/customized.t @@ -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, @_); } |