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

Side by Side Diff: appengine/findit/model/flake/test/flake_analysis_request_test.py

Issue 2510223003: [Findit] Fixing analysis mismatch in check flake (Closed)
Patch Set: Fixing nit Created 4 years, 1 month 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 datetime import datetime 5 from datetime import datetime
6 import mock
6 7
7 from common.findit_testcase import FinditTestCase 8 from common.findit_testcase import FinditTestCase
8 from model import analysis_status
9 from model.flake.flake_analysis_request import BuildStep 9 from model.flake.flake_analysis_request import BuildStep
10 from model.flake.flake_analysis_request import FlakeAnalysisRequest 10 from model.flake.flake_analysis_request import FlakeAnalysisRequest
11 from model.flake.master_flake_analysis import MasterFlakeAnalysis 11 from model.flake.master_flake_analysis import MasterFlakeAnalysis
12 12
13 13
14 class FlakeAnalysisRequestTest(FinditTestCase): 14 class FlakeAnalysisRequestTest(FinditTestCase):
15 15
16 def testStripMasterPrefix(self): 16 def testStripMasterPrefix(self):
17 cases = { 17 cases = {
18 'master.tryserver.chromium.linux': 'tryserver.chromium.linux', 18 'master.tryserver.chromium.linux': 'tryserver.chromium.linux',
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 analysis.Save() 57 analysis.Save()
58 request2.analyses.append(analysis.key) 58 request2.analyses.append(analysis.key)
59 59
60 request1.CopyFrom(request2) 60 request1.CopyFrom(request2)
61 61
62 self.assertEqual(request2.is_step, request1.is_step) 62 self.assertEqual(request2.is_step, request1.is_step)
63 self.assertEqual(request2.bug_id, request1.bug_id) 63 self.assertEqual(request2.bug_id, request1.bug_id)
64 self.assertEqual(request2.user_emails, request1.user_emails) 64 self.assertEqual(request2.user_emails, request1.user_emails)
65 self.assertEqual(request2.build_steps, request1.build_steps) 65 self.assertEqual(request2.build_steps, request1.build_steps)
66 self.assertEqual(request2.analyses, request1.analyses) 66 self.assertEqual(request2.analyses, request1.analyses)
67
68 def testGetNormalizedConfigurationNames(self):
69 master_name = 'm'
70 builder_name = 'b'
71 build_number = 123
72 step_name = 's'
73 test_name = 't'
74 reported_time = datetime(2016, 11, 16)
75 request = FlakeAnalysisRequest.Create(test_name, False, 123)
76 build_step = BuildStep.Create(
77 master_name, builder_name, build_number, step_name, reported_time)
78 build_step.wf_master_name = master_name
79 build_step.wf_builder_name = builder_name
80 build_step.wf_build_number = build_number
81 build_step.wf_step_name = step_name
82 request.build_steps.append(build_step)
83 self.assertEqual((None, None), request._GetNormalizedConfigurationNames(
84 'm2', 'b2'))
85 self.assertEqual(
86 (master_name, builder_name),
87 request._GetNormalizedConfigurationNames(master_name, builder_name))
88
89 @mock.patch.object(FlakeAnalysisRequest, '_GetNormalizedConfigurationNames',
90 return_value=(None, None))
91 def testFindMatchingAnalysisNoMatchingConfiguration(self, _):
92 request = FlakeAnalysisRequest.Create('test', False, 123)
93 analysis = MasterFlakeAnalysis.Create('m', 'b', 123, 's', 'test')
94 analysis.Save()
95 request.analyses.append(analysis.key)
96 request.Save()
97
98 self.assertIsNone(
99 request.FindMatchingAnalysisForConfiguration('m', 'b'))
100
101 @mock.patch.object(FlakeAnalysisRequest, '_GetNormalizedConfigurationNames',
102 return_value=('m1', 'b1'))
103 def testFindMatchingAnalysisForWrongConfiguration(self, _):
104 request = FlakeAnalysisRequest.Create('test', False, 123)
105 analysis = MasterFlakeAnalysis.Create('m', 'b', 123, 's', 'test')
106 analysis.Save()
107 request.analyses.append(analysis.key)
108 request.Save()
109
110 self.assertIsNone(
111 request.FindMatchingAnalysisForConfiguration('m', 'b'))
112
113 @mock.patch.object(FlakeAnalysisRequest, '_GetNormalizedConfigurationNames',
114 return_value=('m', 'b'))
115 def testFindMatchingAnalysisForConfiguration(self, _):
116 request = FlakeAnalysisRequest.Create('test', False, 123)
117 analysis = MasterFlakeAnalysis.Create('m', 'b', 123, 's', 'test')
118 analysis.Save()
119 request.analyses.append(analysis.key)
120 request.Save()
121
122 self.assertEqual(
123 analysis,
124 request.FindMatchingAnalysisForConfiguration('m', 'b'))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698