Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from testing_utils import testing | 5 from testing_utils import testing |
| 6 | 6 |
| 7 from crash.detect_regression_range import GetAttributesListFromHistoricData | 7 from crash.detect_regression_range import GetSpikes |
| 8 from crash.detect_regression_range import GetSpikeIndexes | |
| 9 from crash.detect_regression_range import GetRegressionRangeFromSpike | |
| 10 from crash.detect_regression_range import DetectRegressionRange | 8 from crash.detect_regression_range import DetectRegressionRange |
| 11 | 9 |
| 12 | 10 |
| 13 class DetectRegressionRangeTest(testing.AppengineTestCase): | 11 class DetectRegressionRangeTest(testing.AppengineTestCase): |
| 14 | 12 |
| 15 def _VerifyCasesForDetectRegressonRange(self, cases): | 13 def _VerifyCasesForDetectRegressonRange(self, cases): |
| 16 for case, expected_result in cases: | 14 for case, expected_result in cases: |
| 17 result = DetectRegressionRange(case) | 15 result = DetectRegressionRange(case) |
| 18 | 16 |
| 19 self.assertEqual(result, expected_result, 'Detected spikes of %s should ' | 17 self.assertEqual(result, expected_result, 'Detected spikes of %s should ' |
| 20 'be %s, instead of %s' % (repr(case), | 18 'be %s, instead of %s' % (repr(case), |
| 21 expected_result, | 19 expected_result, |
| 22 result)) | 20 result)) |
| 23 | 21 |
| 24 | 22 |
| 25 def testGetSpikeIndexes(self): | 23 def testGetSpikes(self): |
| 26 self.assertEqual(GetSpikeIndexes([]), | 24 snd = lambda x: x[1] |
|
stgao
2016/09/09 18:13:59
style nit: usually we avoid abbreviation.
| |
| 25 e0 = ('1', 0.5) | |
|
Sharu Jiang
2016/09/08 21:33:14
Shouldn't this be {'chrome_version': '1', 'cpm': 0
wrengr (wrong one)
2016/09/08 22:28:50
The GetSpikes function takes a list of whatever ty
Sharu Jiang
2016/09/08 23:55:19
Ok, didn't notice the snd function...
| |
| 26 e1 = ('1', 0) | |
| 27 e2 = ('2', 0.5) | |
| 28 self.assertEqual(GetSpikes([], snd), | |
| 27 []) | 29 []) |
| 28 self.assertEqual(GetSpikeIndexes([('1', 0.5)]), | 30 self.assertEqual(GetSpikes([e0], snd), |
| 29 []) | 31 []) |
| 30 self.assertEqual(GetSpikeIndexes([('1', 0), ('2', 0.5)]), | 32 self.assertEqual(GetSpikes([e1, e2], snd), |
| 31 [1]) | 33 [(e1, e2)]) |
| 32 | 34 |
| 33 def testGetRegressionRangeFromSpike(self): | |
| 34 self.assertEqual(GetRegressionRangeFromSpike(0, ['1', '2']), | |
| 35 None) | |
| 36 self.assertEqual(GetRegressionRangeFromSpike(3, ['1', '2']), | |
| 37 None) | |
| 38 self.assertEqual(GetRegressionRangeFromSpike(1, ['1', '2']), | |
| 39 ('1', '2')) | |
| 40 | 35 |
| 41 def testReturnNoneForEmptyCrashData(self): | 36 def testReturnNoneForEmptyCrashData(self): |
| 42 self.assertEqual(DetectRegressionRange([]), None) | 37 self.assertEqual(DetectRegressionRange([]), None) |
| 43 | 38 |
| 44 def testReturnNoneWhenSpikeDetectionFailed(self): | 39 def testReturnNoneWhenSpikeDetectionFailed(self): |
| 45 historic_metadata = [{'chrome_version': '1', 'cpm': 0}, | 40 historic_metadata = [{'chrome_version': '1', 'cpm': 0}, |
| 46 {'chrome_version': '2', 'cpm': 0}] | 41 {'chrome_version': '2', 'cpm': 0}] |
| 47 self.assertEqual(DetectRegressionRange(historic_metadata), None) | 42 self.assertEqual(DetectRegressionRange(historic_metadata), None) |
| 48 | 43 |
| 49 def testDetectRegressionRangeForNewCrash(self): | 44 def testDetectRegressionRangeForNewCrash(self): |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 73 ('4', '5')), | 68 ('4', '5')), |
| 74 ([{'chrome_version': '1', 'cpm': 0.06}, | 69 ([{'chrome_version': '1', 'cpm': 0.06}, |
| 75 {'chrome_version': '2', 'cpm': 0.0003}, | 70 {'chrome_version': '2', 'cpm': 0.0003}, |
| 76 {'chrome_version': '3', 'cpm': 0.0007}, | 71 {'chrome_version': '3', 'cpm': 0.0007}, |
| 77 {'chrome_version': '4', 'cpm': 0.6}, | 72 {'chrome_version': '4', 'cpm': 0.6}, |
| 78 {'chrome_version': '5', 'cpm': 0.002}], | 73 {'chrome_version': '5', 'cpm': 0.002}], |
| 79 ('3', '4'))] | 74 ('3', '4'))] |
| 80 | 75 |
| 81 self._VerifyCasesForDetectRegressonRange(cases) | 76 self._VerifyCasesForDetectRegressonRange(cases) |
| 82 | 77 |
| 83 def testGetAttributesListFromHistoricData(self): | |
| 84 historic_metadata = [{'chrome_version': '1', 'cpm': 0}, | |
| 85 {'chrome_version': '2', 'cpm': 0}] | |
| 86 | |
| 87 attribute_list = GetAttributesListFromHistoricData(historic_metadata, | |
| 88 ['chrome_version']) | |
| 89 expected_list = ['1', '2'] | |
| 90 self.assertEqual(attribute_list, expected_list) | |
| 91 | |
| 92 attribute_list = GetAttributesListFromHistoricData(historic_metadata, []) | |
| 93 self.assertEqual(attribute_list, []) | |
| OLD | NEW |