aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/bisect/bisect.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bisect/bisect.go')
-rw-r--r--pkg/bisect/bisect.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/pkg/bisect/bisect.go b/pkg/bisect/bisect.go
index b9f214337..1a20a5cab 100644
--- a/pkg/bisect/bisect.go
+++ b/pkg/bisect/bisect.go
@@ -603,14 +603,17 @@ func (env *env) test() (*testResult, error) {
env.log("reproducer seems to be flaky")
env.flaky = true
}
- } else if good != 0 {
+ } else if 2*good > len(results) {
+ // Require at least 50% of successful runs to say it's a good commit.
+ // Otherwise we just have too little data to come to any conclusion.
res.verdict = vcs.BisectGood
+ env.log("too many neither good nor bad results, skipping this commit")
} else {
res.rep = &report.Report{
Title: fmt.Sprintf("failed testing reproducer on %v", current.Hash),
}
}
- // If all runs failed with a boot/test error, we just end up with BisectSkip.
+ // If most runs failed with a boot/test error, we end up with BisectSkip.
// TODO: when we start supporting boot/test error bisection, we need to make
// processResults treat that verdit as "good".
return res, nil