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

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

Issue 2707603002: [Predator] Generate all changelogs in regression ranges instead of only matched changelogs (Closed)
Patch Set: . Created 3 years, 10 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
« no previous file with comments | « appengine/findit/crash/test/changelist_classifier_test.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/findit/crash/test/suspect_test.py
diff --git a/appengine/findit/crash/test/suspect_test.py b/appengine/findit/crash/test/suspect_test.py
index 0807c3bb2f49074f8a6eb19417f4ea556682a567..b681a18ef1dc59d37dd164f962d403a6b7a8e41d 100644
--- a/appengine/findit/crash/test/suspect_test.py
+++ b/appengine/findit/crash/test/suspect_test.py
@@ -3,13 +3,8 @@
# found in the LICENSE file.
from crash.stacktrace import StackFrame
-from crash.suspect import AnalysisInfo
-from crash.suspect import StackInfo
from crash.suspect import Suspect
-from crash.suspect import SuspectMap
from crash.test.crash_test_suite import CrashTestSuite
-from libs.gitiles.blame import Blame
-from libs.gitiles.blame import Region
from libs.gitiles.change_log import ChangeLog
DUMMY_CHANGELOG1 = ChangeLog.FromDict({
@@ -71,22 +66,10 @@ DUMMY_CHANGELOG2 = ChangeLog.FromDict({
'reverted_revision': None
})
-DUMMY_BLAME = Blame('4', 'a.cc')
-DUMMY_BLAME.AddRegions([
- Region(1, 5, '2', 'r', 'r@chromium.org', 'Thu Mar 25 21:24:43 2016'),
- Region(6, 3, '1', 'e', 'e@chromium.org', 'Thu Mar 31 21:24:43 2016'),
- Region(9, 2, '3', 'k', 'k@chromium.org', 'Thu Apr 1 21:24:43 2016')])
-
-DUMMY_BLAME2 = Blame('4', 'b.cc')
-DUMMY_BLAME2.AddRegions([
- Region(1, 5, '2', 'r', 'r@chromium.org', 'Thu Mar 25 21:24:43 2016'),
- Region(6, 3, '1', 'e', 'e@chromium.org', 'Thu Mar 31 21:24:43 2016')])
-
class SuspectTest(CrashTestSuite):
def testSuspectToDict(self):
-
suspect = Suspect(DUMMY_CHANGELOG1, 'src/',
confidence=1, reasons=['MinDistance', 0.5, 'some reason'],
changed_files={'file': 'f', 'blame_url': 'http://b',
@@ -105,100 +88,9 @@ class SuspectTest(CrashTestSuite):
'confidence': 1,
}
- self.assertEqual(suspect.ToDict(), expected_suspect_json)
+ self.assertDictEqual(suspect.ToDict(), expected_suspect_json)
def testSuspectToString(self):
-
- suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
-
- expected_str = ''
- self.assertEqual(suspect.ToString(), expected_str)
-
- suspect.file_to_stack_infos = {
- 'a.cc': [StackInfo(
- frame = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', []),
- priority = 0)]
- }
- expected_str = 'Changed file a.cc crashed in frame #0'
-
- self.assertEqual(str(suspect), expected_str)
-
- def testSuspectUpdate(self):
- # Touched lines have intersection with crashed lines.
- suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
- stack_infos = [StackInfo(
- frame = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [7]),
- priority = 0)]
-
- suspect._UpdateSuspect('a.cc', stack_infos, DUMMY_BLAME)
- self.assertEqual(suspect.file_to_analysis_info['a.cc'].min_distance, 0)
-
- # Touched lines are before crashed lines.
- suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
-
- stack_infos = [StackInfo(
- frame = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [3]),
- priority = 0)]
-
- suspect._UpdateSuspect('a.cc', stack_infos, DUMMY_BLAME)
- self.assertEqual(suspect.file_to_analysis_info['a.cc'].min_distance, 3)
-
- # Touched lines are after crashed lines.
- suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
-
- stack_infos = [StackInfo(
- frame = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [10]),
- priority = 0)]
-
- suspect._UpdateSuspect('a.cc', stack_infos, DUMMY_BLAME)
- self.assertEqual(suspect.file_to_analysis_info['a.cc'].min_distance, 2)
-
- def testSuspectUpdateWithEmptyBlame(self):
- suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
- stack_infos = [StackInfo(
- frame = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [7]),
- priority = 0)]
-
- suspect._UpdateSuspect('a.cc', stack_infos, None)
- self.assertEqual(suspect.file_to_stack_infos['a.cc'], stack_infos)
- self.assertEqual(suspect.file_to_analysis_info, {})
-
- def testSuspectUpdateMinimumDistance(self):
suspect = Suspect(DUMMY_CHANGELOG1, 'src/', confidence=1)
- frame1 = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [7])
- frame2 = StackFrame(2, 'src/', 'func', 'a.cc', 'src/a.cc', [20])
- stack_infos = [StackInfo(frame1, 0), StackInfo(frame2, 0)]
-
- suspect._UpdateSuspect('a.cc', stack_infos, DUMMY_BLAME)
- self.assertEqual(suspect.file_to_stack_infos['a.cc'], stack_infos)
- self.assertEqual(suspect.file_to_analysis_info,
- {'a.cc': AnalysisInfo(min_distance = 0, min_distance_frame = frame1)})
-
- def testSuspectsGenerateSuspects(self):
- suspects = SuspectMap(ignore_cls=set(['2']))
- frame1 = StackFrame(0, 'src/', 'func', 'a.cc', 'src/a.cc', [7])
- frame2 = StackFrame(1, 'src/', 'func', 'b.cc', 'src/b.cc', [11])
- stack_infos1 = [StackInfo(frame1, 0)]
- stack_infos2 = [StackInfo(frame2, 0)]
- suspects.GenerateSuspects('a.cc', 'src/', stack_infos1,
- [DUMMY_CHANGELOG1, DUMMY_CHANGELOG2],
- DUMMY_BLAME)
-
- suspects.GenerateSuspects('b.cc', 'src/', stack_infos2,
- [DUMMY_CHANGELOG1, DUMMY_CHANGELOG2],
- DUMMY_BLAME2)
-
- expected_suspect = Suspect(DUMMY_CHANGELOG1, 'src/')
- expected_suspect.file_to_stack_infos = {
- 'a.cc': stack_infos1,
- 'b.cc': stack_infos2,
- }
- expected_suspect.file_to_analysis_info = {
- 'a.cc': AnalysisInfo(min_distance = 0, min_distance_frame = frame1),
- 'b.cc': AnalysisInfo(min_distance = 3, min_distance_frame = frame2),
- }
-
- expected_suspects = SuspectMap(ignore_cls=set(['2']))
- expected_suspects['1'] = expected_suspect
-
- self._VerifyTwoSuspectMapEqual(suspects, expected_suspects)
+ self.assertEqual(suspect.ToString(), str(suspect.ToDict()))
+ self.assertEqual(str(suspect), str(suspect.ToDict()))
« no previous file with comments | « appengine/findit/crash/test/changelist_classifier_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698