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

Side by Side Diff: appengine/findit/model/crash/test/crash_analysis_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 import copy 5 import copy
6 from datetime import datetime 6 from datetime import datetime
7 7
8 from crash.crash_report import CrashReport
8 from crash.type_enums import CrashClient 9 from crash.type_enums import CrashClient
9 from crash.test.predator_testcase import PredatorTestCase 10 from crash.test.predator_testcase import PredatorTestCase
10 from model import analysis_status 11 from model import analysis_status
11 from model import result_status 12 from model import result_status
12 from model import triage_status 13 from model import triage_status
13 from model.crash.crash_analysis import CrashAnalysis 14 from model.crash.crash_analysis import CrashAnalysis
14 from model.crash.fracas_crash_analysis import FracasCrashAnalysis 15 from model.crash.fracas_crash_analysis import FracasCrashAnalysis
15 16
16 17
17 class CrashAnalysisTest(PredatorTestCase): 18 class CrashAnalysisTest(PredatorTestCase):
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 analysis = CrashAnalysis() 98 analysis = CrashAnalysis()
98 analysis.Update(update) 99 analysis.Update(update)
99 self.assertFalse(hasattr(analysis, 'dummy')) 100 self.assertFalse(hasattr(analysis, 'dummy'))
100 101
101 def testCreateCrashAnalysis(self): 102 def testCreateCrashAnalysis(self):
102 crash_identifiers = {'signature': 'sig'} 103 crash_identifiers = {'signature': 'sig'}
103 analysis = CrashAnalysis.Create(crash_identifiers) 104 analysis = CrashAnalysis.Create(crash_identifiers)
104 analysis.put() 105 analysis.put()
105 self.assertIsNotNone(analysis) 106 self.assertIsNotNone(analysis)
106 self.assertEqual(CrashAnalysis.Get(crash_identifiers), analysis) 107 self.assertEqual(CrashAnalysis.Get(crash_identifiers), analysis)
108
109 def testInitializeByCrashData(self):
110 """Tests initializing ``CrashAnalysis`` from ``CrashData``."""
111 chrome_version = '50.2500.0.0'
112 signature = 'signature/here'
113 channel = 'canary'
114 platform = 'mac'
115 raw_crash_data = self.GetDummyChromeCrashData(
116 client_id=CrashClient.FRACAS,
117 channel=channel, platform=platform,
118 signature=signature, version=chrome_version,
119 process_type='renderer')
120 findit = self.GetMockFindit(client_id=CrashClient.FRACAS)
121 crash_data = findit.GetCrashData(raw_crash_data)
122 analysis = CrashAnalysis()
123 analysis.Initialize(crash_data)
124
125 self.assertEqual(analysis.stack_trace, crash_data.stacktrace)
126 self.assertEqual(analysis.signature, crash_data.signature)
127 self.assertEqual(analysis.platform, crash_data.platform)
128 self.assertEqual(analysis.regression_range, crash_data.regression_range)
129 self.assertEqual(analysis.dependencies, crash_data.dependencies)
130 self.assertEqual(analysis.dependency_rolls, crash_data.dependency_rolls)
131
132 def testToCrashReport(self):
133 """Tests converting ``CrashAnalysis`` to ``CrashReport``."""
134 chrome_version = '50.2500.0.0'
135 signature = 'signature/here'
136 channel = 'canary'
137 platform = 'mac'
138 regression_range = ('50.2450.0.2', '50.2982.0.0')
139 raw_crash_data = self.GetDummyChromeCrashData(
140 client_id=CrashClient.FRACAS,
141 channel=channel, platform=platform,
142 signature=signature, version=chrome_version,
143 regression_range=regression_range,
144 process_type='renderer')
145 findit = self.GetMockFindit(client_id=CrashClient.FRACAS)
146 crash_data = findit.GetCrashData(raw_crash_data)
147 analysis = CrashAnalysis()
148 analysis.Initialize(crash_data)
149
150 expected_crash_report = CrashReport(chrome_version, signature, platform,
151 None, regression_range, {}, {})
152 self.assertTupleEqual(analysis.ToCrashReport(), expected_crash_report)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698