]> xenbits.xensource.com Git - people/dariof/osstest.git/commitdiff
cs-bisection-step: Do not treat repro attempts as flail
authorIan Jackson <ian.jackson@eu.citrix.com>
Wed, 20 May 2015 12:36:15 +0000 (13:36 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 20 May 2015 13:09:28 +0000 (14:09 +0100)
The need_repro machinery deliberarely makes attempts to reproduce
various results.

This can cause the flail detector to trigger when not intended.  In
particular, the bisector may have (for some reason[1]) restarted with
a new baseline, and the temporarally-stripy pass/fail requirement
would then require the basis fail to be repro'd, again.

[1] Currently this happens much more often than is desirable.  This
will be fixed in a moment.

Fix this by only considering, for the purposes of flail, flights which
are no older than the first repro (the basis pass).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
cs-bisection-step

index 743a3e5f583b3c68e3e2130f7d4a5dddf1d5d5c0..da139273b47705bd66680db1256f448bab784252 100755 (executable)
@@ -742,6 +742,7 @@ sub conflicted_warning ($$) {
 }
 
 our $repro_lastflight;
+our $repro_firstflight = 0;
 our $repro_count;
 
 sub need_repro_sequence ($$) {
@@ -780,6 +781,7 @@ sub need_repro ($$$) {
             ($repro_count ? "Repro" : "Result").
             " found: flight $f->{Flight} ($st), for $what\n";
         $repro_lastflight= $f->{Flight};
+        $repro_firstflight ||= $f->{Flight};
         return 0;
     }
     print STDERR "Need to reproduce $what ($st); had $repro_count already.\n";
@@ -1246,12 +1248,13 @@ END
     my $equalflightsq = $dbh_tests->prepare($equalflightsqt);
 
     db_retry($popflight,'constructing', $dbh_tests,[qw(flights)], sub {
-        print STDERR "Checking for flail...\n";
+        print STDERR "Checking for flail (since $repro_firstflight)...\n";
 
        my ($minflight) = $dbh_tests->selectrow_array(<<END, {}, $branch);
             SELECT flight FROM (
                SELECT flight FROM flights
                    WHERE branch=? AND $blessingscond $maxflight_cond
+                       AND flight >= $repro_firstflight
                    ORDER BY flight DESC
                    LIMIT 100
             ) last100 ORDER BY FLIGHT ASC LIMIT 1