This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
When testing the end version, bisect.pl should treat a 'skip' as fatal.
authorNicholas Clark <nick@ccl4.org>
Mon, 9 Apr 2012 07:25:09 +0000 (09:25 +0200)
committerNicholas Clark <nick@ccl4.org>
Tue, 28 May 2013 07:19:28 +0000 (09:19 +0200)
git bisect uses exit code 125 to signal a skip. Previously bisect.pl would
treat 125 just like every other non-zero exit code, assume that it meant
'fail', and if 'fail' was expected for the end version then it would start
the bisect run as normal. Which isn't useful, as it means that there's a
problem with the user's test case.

Porting/bisect.pl

index 96d7b8c..c52c740 100755 (executable)
@@ -135,6 +135,8 @@ if ($git_version ge v1.6.6) {
 system "git checkout $end" and die;
 my $ret = system $^X, $runner, @ARGV;
 die "Runner returned $ret for end revision" unless $ret;
 system "git checkout $end" and die;
 my $ret = system $^X, $runner, @ARGV;
 die "Runner returned $ret for end revision" unless $ret;
+die "Runner returned $ret for end revision, which is a skip"
+    if $ret == 125 * 256;
 
 if (defined $start) {
     system "git checkout $start" and die;
 
 if (defined $start) {
     system "git checkout $start" and die;