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

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py

Issue 2692423005: rebaseline-cl: Get latest try jobs using git-cl when no --issue given. (Closed)
Patch Set: Rebased 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 unittest 5 import unittest
6 6
7 from webkitpy.common.host_mock import MockHost
8 from webkitpy.common.net.buildbot import Build
7 from webkitpy.common.net.git_cl import GitCL 9 from webkitpy.common.net.git_cl import GitCL
8 from webkitpy.common.system.executive_mock import MockExecutive 10 from webkitpy.common.system.executive_mock import MockExecutive
9 from webkitpy.common.host_mock import MockHost
10 11
11 12
12 class GitCLTest(unittest.TestCase): 13 class GitCLTest(unittest.TestCase):
13 14
14 def test_run(self): 15 def test_run(self):
15 host = MockHost() 16 host = MockHost()
16 host.executive = MockExecutive(output='mock-output') 17 host.executive = MockExecutive(output='mock-output')
17 git_cl = GitCL(host) 18 git_cl = GitCL(host)
18 output = git_cl.run(['command']) 19 output = git_cl.run(['command'])
19 self.assertEqual(output, 'mock-output') 20 self.assertEqual(output, 'mock-output')
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 host.stdout.getvalue(), 88 host.stdout.getvalue(),
88 'Waiting for try jobs (timeout: 7200 seconds).\n' 89 'Waiting for try jobs (timeout: 7200 seconds).\n'
89 'All jobs finished.\n') 90 'All jobs finished.\n')
90 91
91 def test_all_jobs_finished_with_started_jobs(self): 92 def test_all_jobs_finished_with_started_jobs(self):
92 self.assertFalse(GitCL.all_jobs_finished([ 93 self.assertFalse(GitCL.all_jobs_finished([
93 { 94 {
94 'builder_name': 'some-builder', 95 'builder_name': 'some-builder',
95 'status': 'COMPLETED', 96 'status': 'COMPLETED',
96 'result': 'FAILURE', 97 'result': 'FAILURE',
98 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
97 }, 99 },
98 { 100 {
99 'builder_name': 'some-builder', 101 'builder_name': 'some-builder',
100 'status': 'STARTED', 102 'status': 'STARTED',
101 'result': None, 103 'result': None,
104 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
102 }, 105 },
103 ])) 106 ]))
104 107
105 def test_all_jobs_finished_only_completed_jobs(self): 108 def test_all_jobs_finished_only_completed_jobs(self):
106 self.assertTrue(GitCL.all_jobs_finished([ 109 self.assertTrue(GitCL.all_jobs_finished([
107 { 110 {
108 'builder_name': 'some-builder', 111 'builder_name': 'some-builder',
109 'status': 'COMPLETED', 112 'status': 'COMPLETED',
110 'result': 'FAILURE', 113 'result': 'FAILURE',
114 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
111 }, 115 },
112 { 116 {
113 'builder_name': 'some-builder', 117 'builder_name': 'some-builder',
114 'status': 'COMPLETED', 118 'status': 'COMPLETED',
115 'result': 'SUCCESS', 119 'result': 'SUCCESS',
120 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
116 }, 121 },
117 ])) 122 ]))
118 123
119 def test_has_failing_try_results_empty(self): 124 def test_has_failing_try_results_empty(self):
120 self.assertFalse(GitCL.has_failing_try_results([])) 125 self.assertFalse(GitCL.has_failing_try_results([]))
121 126
122 def test_has_failing_try_results_only_success_and_started(self): 127 def test_has_failing_try_results_only_success_and_started(self):
123 self.assertFalse(GitCL.has_failing_try_results([ 128 self.assertFalse(GitCL.has_failing_try_results([
124 { 129 {
125 'builder_name': 'some-builder', 130 'builder_name': 'some-builder',
126 'status': 'COMPLETED', 131 'status': 'COMPLETED',
127 'result': 'SUCCESS', 132 'result': 'SUCCESS',
133 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
128 }, 134 },
129 { 135 {
130 'builder_name': 'some-builder', 136 'builder_name': 'some-builder',
131 'status': 'STARTED', 137 'status': 'STARTED',
132 'result': None, 138 'result': None,
139 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
133 }, 140 },
134 ])) 141 ]))
135 142
136 def test_has_failing_try_results_with_failing_results(self): 143 def test_has_failing_try_results_with_failing_results(self):
137 self.assertTrue(GitCL.has_failing_try_results([ 144 self.assertTrue(GitCL.has_failing_try_results([
138 { 145 {
139 'builder_name': 'some-builder', 146 'builder_name': 'some-builder',
140 'status': 'COMPLETED', 147 'status': 'COMPLETED',
141 'result': 'FAILURE', 148 'result': 'FAILURE',
142 }, 149 },
143 ])) 150 ]))
151
152 def test_latest_try_builds(self):
153 git_cl = GitCL(MockHost())
154 git_cl.fetch_try_results = lambda: [
155 {
156 'builder_name': 'builder-b',
157 'status': 'COMPLETED',
158 'result': 'SUCCESS',
159 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
160 },
161 {
162 'builder_name': 'builder-b',
163 'status': 'COMPLETED',
164 'result': 'SUCCESS',
165 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
166 },
167 {
168 'builder_name': 'builder-a',
169 'status': 'SCHEDULED',
170 'result': None,
171 'url': None,
172 },
173 {
174 'builder_name': 'builder-c',
175 'status': 'COMPLETED',
176 'result': 'SUCCESS',
177 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/123',
178 },
179 ]
180 self.assertEqual(
181 git_cl.latest_try_jobs(['builder-a', 'builder-b']),
182 [Build('builder-a'), Build('builder-b', 100)])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698