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

Side by Side Diff: appengine/findit/crash/test/crash_pipeline_test.py

Issue 2663063007: [Predator] Switch from anonymous dict to CrashData. (Closed)
Patch Set: Rebase and fix delta test. 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 unified diff | Download patch
OLDNEW
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 common.pipeline_wrapper import pipeline_handlers 5 from common.pipeline_wrapper import pipeline_handlers
6 from crash import crash_pipeline 6 from crash import crash_pipeline
7 from crash.culprit import Culprit 7 from crash.culprit import Culprit
8 from crash.findit_for_chromecrash import FinditForFracas 8 from crash.findit_for_chromecrash import FinditForFracas
9 from crash.suspect import Suspect 9 from crash.suspect import Suspect
10 from crash.test.predator_testcase import PredatorTestCase 10 from crash.test.predator_testcase import PredatorTestCase
11 from crash.type_enums import CrashClient 11 from crash.type_enums import CrashClient
12 from libs.gitiles.change_log import ChangeLog 12 from libs.gitiles.change_log import ChangeLog
13 from libs.gitiles.change_log import Contributor 13 from libs.gitiles.change_log import Contributor
14 from model import analysis_status 14 from model import analysis_status
15 from model.crash.fracas_crash_analysis import FracasCrashAnalysis 15 from model.crash.fracas_crash_analysis import FracasCrashAnalysis
16 16
17 17
18 class CrashPipelineTest(PredatorTestCase): 18 class CrashPipelineTest(PredatorTestCase):
19 app_module = pipeline_handlers._APP 19 app_module = pipeline_handlers._APP
20 20
21 def testAnalysisAborted(self): 21 def testAnalysisAborted(self):
22 crash_identifiers = self.GetDummyCrashData()['crash_identifiers'] 22 crash_identifiers = self.GetDummyChromeCrashData()['crash_identifiers']
23 analysis = FracasCrashAnalysis.Create(crash_identifiers) 23 analysis = FracasCrashAnalysis.Create(crash_identifiers)
24 analysis.status = analysis_status.RUNNING 24 analysis.status = analysis_status.RUNNING
25 analysis.put() 25 analysis.put()
26 26
27 pipeline = crash_pipeline.CrashAnalysisPipeline( 27 pipeline = crash_pipeline.CrashAnalysisPipeline(
28 CrashClient.FRACAS, 28 CrashClient.FRACAS,
29 crash_identifiers) 29 crash_identifiers)
30 pipeline._PutAbortedError() 30 pipeline._PutAbortedError()
31 analysis = FracasCrashAnalysis.Get(crash_identifiers) 31 analysis = FracasCrashAnalysis.Get(crash_identifiers)
32 self.assertEqual(analysis_status.ERROR, analysis.status) 32 self.assertEqual(analysis_status.ERROR, analysis.status)
33 33
34 def testFindCulpritFails(self): 34 def testFindCulpritFails(self):
35 crash_identifiers = self.GetDummyCrashData()['crash_identifiers'] 35 crash_identifiers = self.GetDummyChromeCrashData()['crash_identifiers']
36 analysis = FracasCrashAnalysis.Create(crash_identifiers) 36 analysis = FracasCrashAnalysis.Create(crash_identifiers)
37 analysis.status = analysis_status.RUNNING 37 analysis.status = analysis_status.RUNNING
38 analysis.put() 38 analysis.put()
39 39
40 self.mock(FinditForFracas, 'FindCulprit', lambda *_: None) 40 self.mock(FinditForFracas, 'FindCulprit', lambda *_: None)
41 pipeline = crash_pipeline.CrashAnalysisPipeline( 41 pipeline = crash_pipeline.CrashAnalysisPipeline(
42 CrashClient.FRACAS, 42 CrashClient.FRACAS,
43 crash_identifiers) 43 crash_identifiers)
44 pipeline.run() 44 pipeline.run()
45 45
46 analysis = FracasCrashAnalysis.Get(crash_identifiers) 46 analysis = FracasCrashAnalysis.Get(crash_identifiers)
47 self.assertEqual(analysis_status.COMPLETED, analysis.status) 47 self.assertEqual(analysis_status.COMPLETED, analysis.status)
48 self.assertFalse(analysis.result['found']) 48 self.assertFalse(analysis.result['found'])
49 self.assertFalse(analysis.found_suspects) 49 self.assertFalse(analysis.found_suspects)
50 self.assertFalse(analysis.found_project) 50 self.assertFalse(analysis.found_project)
51 self.assertFalse(analysis.found_components) 51 self.assertFalse(analysis.found_components)
52 52
53 def testFindCulpritSucceeds(self): 53 def testFindCulpritSucceeds(self):
54 crash_identifiers = self.GetDummyCrashData()['crash_identifiers'] 54 crash_identifiers = self.GetDummyChromeCrashData()['crash_identifiers']
55 analysis = FracasCrashAnalysis.Create(crash_identifiers) 55 analysis = FracasCrashAnalysis.Create(crash_identifiers)
56 analysis.status = analysis_status.RUNNING 56 analysis.status = analysis_status.RUNNING
57 analysis.put() 57 analysis.put()
58 58
59 dummy_cl = ChangeLog( 59 dummy_cl = ChangeLog(
60 Contributor('AUTHOR_NAME', 'AUTHOR_EMAIL', 'AUTHOR_TIME'), 60 Contributor('AUTHOR_NAME', 'AUTHOR_EMAIL', 'AUTHOR_TIME'),
61 Contributor('COMITTER_NAME', 'COMITTER_EMAIL', 'COMITTER_TIME'), 61 Contributor('COMITTER_NAME', 'COMITTER_EMAIL', 'COMITTER_TIME'),
62 'REVISION', 62 'REVISION',
63 'COMMIT_POSITION', 63 'COMMIT_POSITION',
64 'MESSAGE', 64 'MESSAGE',
(...skipping 18 matching lines...) Expand all
83 pipeline.run() 83 pipeline.run()
84 84
85 analysis = FracasCrashAnalysis.Get(crash_identifiers) 85 analysis = FracasCrashAnalysis.Get(crash_identifiers)
86 self.assertEqual(analysis_status.COMPLETED, analysis.status) 86 self.assertEqual(analysis_status.COMPLETED, analysis.status)
87 self.assertTrue(analysis.result['found']) 87 self.assertTrue(analysis.result['found'])
88 self.assertTrue(analysis.found_suspects) 88 self.assertTrue(analysis.found_suspects)
89 self.assertTrue(analysis.found_project) 89 self.assertTrue(analysis.found_project)
90 self.assertTrue(analysis.found_components) 90 self.assertTrue(analysis.found_components)
91 dummy_suspect, dummy_tags = dummy_culprit.ToDicts() 91 dummy_suspect, dummy_tags = dummy_culprit.ToDicts()
92 self.assertDictEqual(analysis.result, dummy_suspect) 92 self.assertDictEqual(analysis.result, dummy_suspect)
OLDNEW
« no previous file with comments | « appengine/findit/crash/test/crash_data_test.py ('k') | appengine/findit/crash/test/crash_report_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698