Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(772)

Unified Diff: appengine/findit/crash/test/findit_for_chromecrash_test.py

Issue 2414523002: [Findit] Reorganizing findit_for_*.py (Closed)
Patch Set: trying to fix some tests Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine/findit/crash/test/findit_for_chromecrash_test.py
diff --git a/appengine/findit/crash/test/findit_for_chromecrash_test.py b/appengine/findit/crash/test/findit_for_chromecrash_test.py
index 230d0711a311de8ac19c99ed4363d8ab5f9d536a..ef3d2805a2a3bced63729717aa834961396634dc 100644
--- a/appengine/findit/crash/test/findit_for_chromecrash_test.py
+++ b/appengine/findit/crash/test/findit_for_chromecrash_test.py
@@ -4,88 +4,82 @@
from common import chromium_deps
from common.dependency import DependencyRoll
+from crash import changelist_classifier
from crash import detect_regression_range
-from crash import findit_for_chromecrash
+from crash import findit
+from crash.findit_for_chromecrash import FinditForChromeCrash
from crash import chromecrash_parser
-from crash import findit_for_crash
from crash.component_classifier import ComponentClassifier
from crash.project_classifier import ProjectClassifier
+from crash.changelist_classifier import ChangelistClassifier
from crash.results import MatchResult
from crash.stacktrace import CallStack
from crash.stacktrace import Stacktrace
from crash.test.crash_testcase import CrashTestCase
+from model.crash.crash_analysis import CrashAnalysis
class FinditForChromeCrashTest(CrashTestCase):
def testFindCulpritForChromeCrashEmptyStacktrace(self):
- def _MockGetChromeDependency(*_):
- return {}
-
- def _MockParse(*_):
- return Stacktrace()
-
- self.mock(chromium_deps, 'GetChromeDependency', _MockGetChromeDependency)
- self.mock(chromecrash_parser.ChromeCrashParser, 'Parse', _MockParse)
+ self.mock(chromium_deps, 'GetChromeDependency', lambda *_: {})
+ self.mock(chromecrash_parser.ChromeCrashParser, 'Parse', lambda *_: Stacktrace())
expected_results = {'found': False}
expected_tag = {'found_suspects': False,
'has_regression_range': False}
- results, tag = findit_for_chromecrash.FinditForChromeCrash().FindCulprit(
- 'signature', 'win', 'frame1\nframe2', '50.0.1234.0',
- [{'chrome_version': '50.0.1234.0', 'cpm': 0.6}]).ToDicts()
+ analysis = CrashAnalysis()
+ analysis.signature = 'signature'
+ analysis.platform = 'win'
+ analysis.stack_trace = 'frame1\nframe2'
+ analysis.crashed_version = '50.0.1234.0'
+ results, tag = FinditForChromeCrash().FindCulprit(analysis,
+ historical_metadata=[{'chrome_version': '51.0.1234.0', 'cpm': 0.6}]
+ ).ToDicts()
self.assertEqual(expected_results, results)
self.assertEqual(expected_tag, tag)
def testFindCulpritForChromeCrash(self):
- def _MockGetChromeDependency(*_):
- return {}
+ self.mock(chromium_deps, 'GetChromeDependency', lambda *_: {})
- def _MockParse(*_):
- stack = Stacktrace()
- stack.append(CallStack(0))
- return stack
+ self.mock(chromecrash_parser.ChromeCrashParser, 'Parse',
+ lambda *_: Stacktrace([CallStack(0)]))
- def _MockGetDEPSRollsDict(*_):
- return {'src/': DependencyRoll('src/', 'https://repo', '1', '2'),
- 'src/add': DependencyRoll('src/add', 'https://repo1', None, '2'),
- 'src/delete': DependencyRoll('src/delete', 'https://repo2',
- '2', None)}
-
- dummy_match_result = MatchResult(self.GetDummyChangeLog(), 'src/')
- def _MockFindItForCrash(*args):
- regression_deps_rolls = args[1]
- if regression_deps_rolls:
- return [dummy_match_result]
+ self.mock(detect_regression_range, 'DetectRegressionRange',
+ lambda historic_metadata:
+ ('50.0.1233.0', '50.0.1234.0') if historic_metadata else None)
- return []
+ self.mock(chromium_deps, 'GetDEPSRollsDict', lambda *_: {
+ 'src/': DependencyRoll('src/', 'https://repo', '1', '2'),
+ 'src/add': DependencyRoll('src/add', 'https://repo1', None, '2'),
+ 'src/delete': DependencyRoll('src/delete', 'https://repo2', '2', None)
+ })
- def _MockComponentClassify(*_):
- return []
-
- def _MockProjectClassify(*_):
- return ''
-
- self.mock(chromium_deps, 'GetChromeDependency', _MockGetChromeDependency)
- self.mock(chromecrash_parser.ChromeCrashParser, 'Parse', _MockParse)
- self.mock(chromium_deps, 'GetDEPSRollsDict', _MockGetDEPSRollsDict)
- self.mock(findit_for_crash, 'FindItForCrash', _MockFindItForCrash)
+ dummy_match_result = MatchResult(self.GetDummyChangeLog(), 'src/')
+ self.mock(changelist_classifier.ChangelistClassifier, '__call__',
+ lambda _self, regression_deps_rolls, *args:
+ [dummy_match_result] if regression_deps_rolls else [])
- self.mock(ComponentClassifier, 'Classify', _MockComponentClassify)
- self.mock(ProjectClassifier, 'Classify', _MockProjectClassify)
+ self.mock(ComponentClassifier, 'Classify', lambda *_: [])
+ self.mock(ProjectClassifier, 'Classify', lambda *_: '')
expected_results = {'found': False}
expected_tag = {'found_suspects': False}
- results, tag = findit_for_chromecrash.FinditForChromeCrash().FindCulprit(
- 'signature', 'win', 'frame1\nframe2', '50.0.1234.0',
- ['50.0.1233.0', '50.0.1234.0']).ToDicts()
+ analysis = CrashAnalysis()
+ analysis.signature = 'signature'
+ analysis.platform = 'win'
+ analysis.stack_trace = 'frame1\nframe2'
+ analysis.crashed_version = '50.0.1234.0'
+ results, tag = FinditForChromeCrash().FindCulprit(analysis,
+ historical_metadata=['50.0.1233.0', '50.0.1234.0']).ToDicts()
# TODO(wrengr): compare the Culprit object directly to these values,
# rather than converting to dicts first. We can make a different
# unit test for comparing the dicts, if we actually need/want to.
+ # TODO(wrengr): our _MockDetectRegressionRange isn't working here...
expected_results = {
'found': True,
'suspected_project': '',
@@ -104,8 +98,14 @@ class FinditForChromeCrashTest(CrashTestCase):
self.assertEqual(expected_results, results)
self.assertEqual(expected_tag, tag)
- results, tag = findit_for_chromecrash.FinditForChromeCrash().FindCulprit(
- 'signature', 'win', 'frame1\nframe2', '50.0.1234.0', None).ToDicts()
+ # TODO(wrengr): why isn't this one broken out as a separate unittest?
+ analysis = CrashAnalysis()
+ analysis.signature = 'signature'
+ analysis.platform = 'win'
+ analysis.stack_trace = 'frame1\nframe2'
+ analysis.crashed_version = '50.0.1234.0'
+ results, tag = FinditForChromeCrash().FindCulprit(analysis,
+ historical_metadata=[]).ToDicts()
expected_results = {
'found': False,

Powered by Google App Engine
This is Rietveld 408576698