It can happen that the (for example) supposed basis pass (originally
only tested on another host) failed (when reproduced, or for some
other reason). When that happens do not attempt to get it to pass;
instead, treat it the same way we would if we had actually got
conflicting results at that revision.
(Conversely, do not attempt to get a basis fail if the basis fail has
already passed on the selected host. This is, as it happens,
impossible in a bisection triggered by sg-report-flight with the
current invocation arrangements - but cs-bisection-step should
handle it correctly.)
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
my $fl= $n->{Flights} || [];
foreach my $f (sort { $a->{Flight} <=> $b->{Flight} } @$fl) {
next unless $f->{Flight} > $repro_lastflight;
- next unless $f->{Result} eq $st;
+ if ($f->{Result} ne $st) {
+ return report_conflict($n, $what, 'Unexpected test results')
+ if $f->{Result} =~ m/^(?:pass|fail)$/;
+ next;
+ }
print STDERR " ".
($repro_count ? "Repro" : "Result").
" found: flight $f->{Flight} ($st), for $what\n";