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

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: rebase 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 request = FlakeAnalysisRequest.Create('flaky_test', False, 123) 69 request = FlakeAnalysisRequest.Create('flaky_test', False, 123)
70 request.AddBuildStep( 70 request.AddBuildStep(
71 'tryserver.chromium.linux', 'b1', 1, 's', datetime(2016, 11, 14)) 71 'tryserver.chromium.linux', 'b1', 1, 's', datetime(2016, 11, 14))
72 self.assertTrue(request.on_cq) 72 self.assertTrue(request.on_cq)
73 73
74 def testWaterfallFlake(self): 74 def testWaterfallFlake(self):
75 request = FlakeAnalysisRequest.Create('flaky_test', False, 123) 75 request = FlakeAnalysisRequest.Create('flaky_test', False, 123)
76 request.AddBuildStep( 76 request.AddBuildStep(
77 'chromium.linux', 'b1', 1, 's', datetime(2016, 11, 14)) 77 'chromium.linux', 'b1', 1, 's', datetime(2016, 11, 14))
78 self.assertFalse(request.on_cq) 78 self.assertFalse(request.on_cq)
79
80 def testGetNormalizedConfigurationNames(self):
81 master_name = 'm'
82 builder_name = 'b'
83 build_number = 123
84 step_name = 's'
85 test_name = 't'
86 reported_time = datetime(2016, 11, 16)
87 request = FlakeAnalysisRequest.Create(test_name, False, 123)
88 build_step = BuildStep.Create(
89 master_name, builder_name, build_number, step_name, reported_time)
90 build_step.wf_master_name = master_name
91 build_step.wf_builder_name = builder_name
92 build_step.wf_build_number = build_number
93 build_step.wf_step_name = step_name
94 request.build_steps.append(build_step)
95 self.assertEqual((None, None), request._GetNormalizedConfigurationNames(
96 'm2', 'b2'))
97 self.assertEqual(
98 (master_name, builder_name),
99 request._GetNormalizedConfigurationNames(master_name, builder_name))
100
101 @mock.patch.object(FlakeAnalysisRequest, '_GetNormalizedConfigurationNames',
102 return_value=(None, None))
103 def testFindMatchingAnalysisNoMatchingConfiguration(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=('m1', 'b1'))
115 def testFindMatchingAnalysisForWrongConfiguration(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.assertIsNone(
123 request.FindMatchingAnalysisForConfiguration('m', 'b'))
124
125 @mock.patch.object(FlakeAnalysisRequest, '_GetNormalizedConfigurationNames',
126 return_value=('m', 'b'))
127 def testFindMatchingAnalysisForConfiguration(self, _):
128 request = FlakeAnalysisRequest.Create('test', False, 123)
129 analysis = MasterFlakeAnalysis.Create('m', 'b', 123, 's', 'test')
130 analysis.Save()
131 request.analyses.append(analysis.key)
132 request.Save()
133
134 self.assertEqual(
135 analysis,
136 request.FindMatchingAnalysisForConfiguration('m', 'b'))
OLDNEW
« no previous file with comments | « appengine/findit/model/flake/master_flake_analysis.py ('k') | appengine/findit/model/flake/test/master_flake_analysis_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698