]> xenbits.xensource.com Git - people/dariof/osstest.git/commitdiff
cs-bisection-step: Report conflict if basis pass/fail are wrong
authorIan Jackson <ian.jackson@eu.citrix.com>
Wed, 6 May 2015 22:41:00 +0000 (23:41 +0100)
committerIan Jackson <ian.jackson@eu.citrix.com>
Wed, 6 May 2015 23:51:35 +0000 (00:51 +0100)
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>
cs-bisection-step

index 14f3638a35b7087d5ce6cb2892c797d1e7af785b..4200c162cbab2e8e2ccf6991a3d2e6d409e322ce 100755 (executable)
@@ -771,7 +771,11 @@ sub need_repro ($$$) {
     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";