| 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 import mock | 5 import mock |
| 6 | 6 |
| 7 from common import chrome_dependency_fetcher | 7 from common import chrome_dependency_fetcher |
| 8 from common.dependency import DependencyRoll | 8 from common.dependency import DependencyRoll |
| 9 from crash import chromecrash_parser | 9 from crash import chromecrash_parser |
| 10 from crash import detect_regression_range | 10 from crash import detect_regression_range |
| 11 from crash import findit | 11 from crash import findit |
| 12 from crash import findit_for_chromecrash | 12 from crash import findit_for_chromecrash |
| 13 from crash.changelist_classifier import ChangelistClassifier | 13 from crash.loglinear.changelist_classifier import LogLinearChangelistClassifier |
| 14 from crash.chromecrash_parser import ChromeCrashParser | 14 from crash.chromecrash_parser import ChromeCrashParser |
| 15 from crash.component_classifier import ComponentClassifier | 15 from crash.component_classifier import ComponentClassifier |
| 16 from crash.crash_report import CrashReport | 16 from crash.crash_report import CrashReport |
| 17 from crash.culprit import Culprit | 17 from crash.culprit import Culprit |
| 18 from crash.findit_for_chromecrash import FinditForChromeCrash | 18 from crash.findit_for_chromecrash import FinditForChromeCrash |
| 19 from crash.findit_for_chromecrash import FinditForFracas | 19 from crash.findit_for_chromecrash import FinditForFracas |
| 20 from crash.project_classifier import ProjectClassifier | 20 from crash.project_classifier import ProjectClassifier |
| 21 from crash.suspect import Suspect | 21 from crash.suspect import Suspect |
| 22 from crash.stacktrace import CallStack | 22 from crash.stacktrace import CallStack |
| 23 from crash.stacktrace import Stacktrace | 23 from crash.stacktrace import Stacktrace |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 self.mock(chrome_dependency_fetcher.ChromeDependencyFetcher, | 194 self.mock(chrome_dependency_fetcher.ChromeDependencyFetcher, |
| 195 'GetDependencyRollsDict', | 195 'GetDependencyRollsDict', |
| 196 lambda *_: { | 196 lambda *_: { |
| 197 'src/': DependencyRoll('src/', 'https://repo', '1', '2'), | 197 'src/': DependencyRoll('src/', 'https://repo', '1', '2'), |
| 198 'src/add': DependencyRoll('src/add', 'https://repo1', None, '2'), | 198 'src/add': DependencyRoll('src/add', 'https://repo1', None, '2'), |
| 199 'src/delete': DependencyRoll('src/delete', 'https://repo2', '2', | 199 'src/delete': DependencyRoll('src/delete', 'https://repo2', '2', |
| 200 None) | 200 None) |
| 201 }) | 201 }) |
| 202 | 202 |
| 203 dummy_suspect = Suspect(self.GetDummyChangeLog(), 'src/') | 203 dummy_suspect = Suspect(self.GetDummyChangeLog(), 'src/') |
| 204 self.mock(ChangelistClassifier, '__call__', | 204 self.mock(LogLinearChangelistClassifier, '__call__', |
| 205 lambda _self, report: | 205 lambda _, report: [dummy_suspect] if report.regression_range else []) |
| 206 [dummy_suspect] if report.regression_range else []) | |
| 207 | 206 |
| 208 self.mock(ComponentClassifier, 'ClassifySuspects', lambda *_: []) | 207 self.mock(ComponentClassifier, 'ClassifySuspects', lambda *_: []) |
| 209 self.mock(ComponentClassifier, 'ClassifyCallStack', lambda *_: []) | 208 self.mock(ComponentClassifier, 'ClassifyCallStack', lambda *_: []) |
| 210 self.mock(ProjectClassifier, 'ClassifySuspects', lambda *_: '') | 209 self.mock(ProjectClassifier, 'ClassifySuspects', lambda *_: '') |
| 211 self.mock(ProjectClassifier, 'ClassifyCallStack', lambda *_: '') | 210 self.mock(ProjectClassifier, 'ClassifyCallStack', lambda *_: '') |
| 212 | 211 |
| 213 # TODO(wrengr): for both these tests, we should compare Culprit | 212 # TODO(wrengr): for both these tests, we should compare Culprit |
| 214 # objects directly rather than calling ToDicts and comparing the | 213 # objects directly rather than calling ToDicts and comparing the |
| 215 # dictionaries. | 214 # dictionaries. |
| 216 self._testFindCulpritForChromeCrashSucceeds(dummy_suspect) | 215 self._testFindCulpritForChromeCrashSucceeds(dummy_suspect) |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 'feedback_url': ( | 284 'feedback_url': ( |
| 286 findit_for_chromecrash._FRACAS_FEEDBACK_URL_TEMPLATE % ( | 285 findit_for_chromecrash._FRACAS_FEEDBACK_URL_TEMPLATE % ( |
| 287 mocked_host, urlsafe_key)), | 286 mocked_host, urlsafe_key)), |
| 288 'other': 'data' | 287 'other': 'data' |
| 289 } | 288 } |
| 290 } | 289 } |
| 291 | 290 |
| 292 self.assertDictEqual(findit_object.GetPublishableResult(crash_identifiers, | 291 self.assertDictEqual(findit_object.GetPublishableResult(crash_identifiers, |
| 293 analysis), | 292 analysis), |
| 294 expected_processed_suspect) | 293 expected_processed_suspect) |
| OLD | NEW |