summaryrefslogtreecommitdiff
path: root/Porting/bisect.pl
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-10-01 16:23:41 +0200
committerNicholas Clark <nick@ccl4.org>2011-10-01 16:31:06 +0200
commit67382a3b09f476ec932adab80ae6b37134864f9b (patch)
tree55f2be4a445f1a70be0652036361ff1b031a84b6 /Porting/bisect.pl
parentba6ff154b0d807025f5294b2c3e9623fd60a6e97 (diff)
downloadperl-67382a3b09f476ec932adab80ae6b37134864f9b.tar.gz
Add options --force-manifest and --test-build to bisect.pl
--force-manifest touches any files in MANIFEST that are missing. This avoids hanging on 5.004 or earlier (where Configure's stdin is a tty) when Configure detects the missing files and asks you if you want to stop. It's also useful on 5.005 or later if you don't want to treat missing files as a "skip". --test-build changes behaviour to treat failing to build the target exectuable as a "fail", instead of a "skip".
Diffstat (limited to 'Porting/bisect.pl')
-rwxr-xr-xPorting/bisect.pl10
1 files changed, 10 insertions, 0 deletions
diff --git a/Porting/bisect.pl b/Porting/bisect.pl
index 929c854677..ebaf4021c2 100755
--- a/Porting/bisect.pl
+++ b/Porting/bisect.pl
@@ -19,10 +19,20 @@ unless(GetOptions(\%options,
'expect-fail',
'one-liner|e=s',
'match=s',
+ 'force-manifest',
+ 'test-build',
)) {
usage();
}
+foreach (qw(force-manifest test-build)) {
+ # This is a bodge. I can't see a clean way to pass through suitably exact
+ # strings the various arguments to bisect-runner.pl that are argument-less
+ # flags. It might be easier for this program not to use Getopt::Long, and
+ # instead just grep out --start and --end
+ undef $options{$_} if exists $options{$_};
+}
+
my $start = delete $options{start};
# Currently the earliest version that the runner can build
$start = 'perl-5.004' unless defined $start;