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

Side by Side Diff: appengine/findit/waterfall/test/suspected_cl_util_test.py

Issue 2230103002: [Findit] Pipeline change to save suspected cls to data store. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@0808-resubmit-suspected_cl_model
Patch Set: . Created 4 years, 4 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
(Empty)
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
3 # found in the LICENSE file.
4
5 from common.waterfall import failure_type
6 from model import analysis_approach_type
7 from model.wf_suspected_cl import WfSuspectedCL
8 from waterfall import suspected_cl_util
9 from waterfall.test import wf_testcase
10
11
12 class SuspectedCLUtilTest(wf_testcase.WaterfallTestCase):
13
14 def testCreateWfSuspectedCL(self):
15 approach = analysis_approach_type.HEURISTIC
16 master_name = 'm'
17 builder_name = 'b'
18 build_number = 123
19 compile_failure_type = failure_type.COMPILE
20 repo_name = 'chromium'
21 revision = 'r1'
22 commit_position = 1
23
24 self.assertIsNone(WfSuspectedCL.Get(repo_name, revision))
25
26 suspected_cl_util.UpdateSuspectedCL(
27 approach, master_name, builder_name, build_number, compile_failure_type,
28 repo_name, revision, commit_position)
29
30 suspected_cl = WfSuspectedCL.Get(repo_name, revision)
31
32 self.assertIsNotNone(suspected_cl)
33 self.assertEqual(analysis_approach_type.HEURISTIC, suspected_cl.approach)
34 self.assertEqual(compile_failure_type, suspected_cl.failure_type)
35 self.assertEqual([[master_name, builder_name, build_number]],
36 suspected_cl.builds)
37
38 def testUpdateWfSuspectedCL(self):
39 approach = analysis_approach_type.HEURISTIC
40 master_name = 'm'
41 builder_name = 'b'
42 build_number = 122
43 test_failure_type = failure_type.TEST
44 repo_name = 'chromium'
45 revision = 'r2'
46 commit_position = 2
47
48 suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
49 suspected_cl.approach = analysis_approach_type.TRY_JOB
50 suspected_cl.builds.append(['m', 'b1', 100])
51 suspected_cl.failure_type = test_failure_type
52 suspected_cl.put()
53
54 suspected_cl_util.UpdateSuspectedCL(
55 approach, master_name, builder_name, build_number, test_failure_type,
56 repo_name, revision, commit_position)
57
58 suspected_cl = WfSuspectedCL.Get(repo_name, revision)
59
60 self.assertIsNotNone(suspected_cl)
61 self.assertEqual(analysis_approach_type.BOTH, suspected_cl.approach)
62 self.assertEqual(test_failure_type, suspected_cl.failure_type)
63 self.assertEqual(
64 [['m', 'b1', 100], [master_name, builder_name, build_number]],
65 suspected_cl.builds)
66
67 def testUpdateWfSuspectedCLAddAnotherHeuristic(self):
68 approach = analysis_approach_type.HEURISTIC
69 master_name = 'm'
70 builder_name = 'b'
71 build_number = 122
72 test_failure_type = failure_type.TEST
73 repo_name = 'chromium'
74 revision = 'r2'
75 commit_position = 2
76
77 suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
78 suspected_cl.approach = analysis_approach_type.HEURISTIC
79 suspected_cl.put()
80
81 suspected_cl_util.UpdateSuspectedCL(
82 approach, master_name, builder_name, build_number, test_failure_type,
83 repo_name, revision, commit_position)
84
85 suspected_cl = WfSuspectedCL.Get(repo_name, revision)
86
87 self.assertEqual(analysis_approach_type.HEURISTIC, suspected_cl.approach)
88
89 def testUpdateWfSuspectedCLRerun(self):
90 approach = analysis_approach_type.HEURISTIC
91 master_name = 'm'
92 builder_name = 'b'
93 build_number = 122
94 test_failure_type = failure_type.TEST
95 repo_name = 'chromium'
96 revision = 'r2'
97 commit_position = 2
98
99 suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
100 suspected_cl.builds = [[master_name, builder_name, build_number]]
101 suspected_cl.put()
102
103 suspected_cl_util.UpdateSuspectedCL(
104 approach, master_name, builder_name, build_number, test_failure_type,
105 repo_name, revision, commit_position)
106
107 suspected_cl = WfSuspectedCL.Get(repo_name, revision)
108
109 self.assertEqual([[master_name, builder_name, build_number]],
110 suspected_cl.builds)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698