| Index: tools/auto_bisect/bisect_results_test.py
|
| diff --git a/tools/auto_bisect/bisect_results_test.py b/tools/auto_bisect/bisect_results_test.py
|
| index 25359c5e17c3d472178af0020ff931623896d7bf..3926d0eca3e776adc2b28c28346ca987010a1f5a 100644
|
| --- a/tools/auto_bisect/bisect_results_test.py
|
| +++ b/tools/auto_bisect/bisect_results_test.py
|
| @@ -158,6 +158,58 @@ class BisectResultsTest(unittest.TestCase):
|
| self.assertEqual(revision_states[2], results.first_working_revision)
|
| self.assertEqual(revision_states[1], results.last_broken_revision)
|
|
|
| + def testCorrectlyFindsBreakingRangeNotInOrder(self):
|
| + revision_states = self.mock_bisect_state.mock_revision_states
|
| + revision_states[0].passed = 0
|
| + revision_states[1].passed = 1
|
| + revision_states[2].passed = 0
|
| + revision_states[3].passed = 1
|
| + revision_states[4].passed = 1
|
| +
|
| + results = BisectResults(self.mock_bisect_state, self.mock_depot_registry,
|
| + self.mock_opts, self.mock_warnings)
|
| + self.assertEqual(revision_states[1], results.first_working_revision)
|
| + self.assertEqual(revision_states[2], results.last_broken_revision)
|
| +
|
| + def testCorrectlyFindsBreakingRangeIncompleteBisect(self):
|
| + revision_states = self.mock_bisect_state.mock_revision_states
|
| + revision_states[0].passed = 0
|
| + revision_states[1].passed = 0
|
| + revision_states[2].passed = '?'
|
| + revision_states[3].passed = 1
|
| + revision_states[4].passed = 1
|
| +
|
| + results = BisectResults(self.mock_bisect_state, self.mock_depot_registry,
|
| + self.mock_opts, self.mock_warnings)
|
| + self.assertEqual(revision_states[3], results.first_working_revision)
|
| + self.assertEqual(revision_states[1], results.last_broken_revision)
|
| +
|
| + def testFindBreakingRangeAllPassed(self):
|
| + revision_states = self.mock_bisect_state.mock_revision_states
|
| + revision_states[0].passed = 1
|
| + revision_states[1].passed = 1
|
| + revision_states[2].passed = 1
|
| + revision_states[3].passed = 1
|
| + revision_states[4].passed = 1
|
| +
|
| + results = BisectResults(self.mock_bisect_state, self.mock_depot_registry,
|
| + self.mock_opts, self.mock_warnings)
|
| + self.assertEqual(revision_states[0], results.first_working_revision)
|
| + self.assertIsNone(results.last_broken_revision)
|
| +
|
| + def testFindBreakingRangeNonePassed(self):
|
| + revision_states = self.mock_bisect_state.mock_revision_states
|
| + revision_states[0].passed = 0
|
| + revision_states[1].passed = 0
|
| + revision_states[2].passed = 0
|
| + revision_states[3].passed = 0
|
| + revision_states[4].passed = 0
|
| +
|
| + results = BisectResults(self.mock_bisect_state, self.mock_depot_registry,
|
| + self.mock_opts, self.mock_warnings)
|
| + self.assertIsNone(results.first_working_revision)
|
| + self.assertEqual(revision_states[4], results.last_broken_revision)
|
| +
|
| def testCorrectlyComputesRegressionStatistics(self):
|
| revision_states = self.mock_bisect_state.mock_revision_states
|
| revision_states[0].passed = 0
|
| @@ -227,9 +279,9 @@ class BisectResultsTest(unittest.TestCase):
|
|
|
| def testWarningForTooLowConfidence(self):
|
| revision_states = self.mock_bisect_state.mock_revision_states
|
| - revision_states[2].value = {'values': [95, 100, 90]}
|
| - revision_states[3].value = {'values': [95, 100, 90]}
|
| - revision_states[4].value = {'values': [95, 100, 90]}
|
| + revision_states[2].value = {'values': [95, 90, 90]}
|
| + revision_states[3].value = {'values': [95, 90, 90]}
|
| + revision_states[4].value = {'values': [95, 90, 90]}
|
| results = BisectResults(self.mock_bisect_state, self.mock_depot_registry,
|
| self.mock_opts, self.mock_warnings)
|
| self.assertGreater(results.confidence, 0)
|
|
|