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

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: 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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 host.stdout.getvalue(), 100 host.stdout.getvalue(),
100 'Waiting for try jobs (timeout: 7200 seconds).\n' 101 'Waiting for try jobs (timeout: 7200 seconds).\n'
101 'All jobs finished.\n') 102 'All jobs finished.\n')
102 103
103 def test_all_jobs_finished_with_started_jobs(self): 104 def test_all_jobs_finished_with_started_jobs(self):
104 self.assertFalse(GitCL.all_jobs_finished([ 105 self.assertFalse(GitCL.all_jobs_finished([
105 { 106 {
106 'builder_name': 'some-builder', 107 'builder_name': 'some-builder',
107 'status': 'COMPLETED', 108 'status': 'COMPLETED',
108 'result': 'FAILURE', 109 'result': 'FAILURE',
110 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
109 }, 111 },
110 { 112 {
111 'builder_name': 'some-builder', 113 'builder_name': 'some-builder',
112 'status': 'STARTED', 114 'status': 'STARTED',
113 'result': None, 115 'result': None,
116 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
114 }, 117 },
115 ])) 118 ]))
116 119
117 def test_all_jobs_finished_only_completed_jobs(self): 120 def test_all_jobs_finished_only_completed_jobs(self):
118 self.assertTrue(GitCL.all_jobs_finished([ 121 self.assertTrue(GitCL.all_jobs_finished([
119 { 122 {
120 'builder_name': 'some-builder', 123 'builder_name': 'some-builder',
121 'status': 'COMPLETED', 124 'status': 'COMPLETED',
122 'result': 'FAILURE', 125 'result': 'FAILURE',
126 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
123 }, 127 },
124 { 128 {
125 'builder_name': 'some-builder', 129 'builder_name': 'some-builder',
126 'status': 'COMPLETED', 130 'status': 'COMPLETED',
127 'result': 'SUCCESS', 131 'result': 'SUCCESS',
132 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
128 }, 133 },
129 ])) 134 ]))
130 135
131 def test_has_failing_try_results_empty(self): 136 def test_has_failing_try_results_empty(self):
132 self.assertFalse(GitCL.has_failing_try_results([])) 137 self.assertFalse(GitCL.has_failing_try_results([]))
133 138
134 def test_has_failing_try_results_only_success_and_started(self): 139 def test_has_failing_try_results_only_success_and_started(self):
135 self.assertFalse(GitCL.has_failing_try_results([ 140 self.assertFalse(GitCL.has_failing_try_results([
136 { 141 {
137 'builder_name': 'some-builder', 142 'builder_name': 'some-builder',
138 'status': 'COMPLETED', 143 'status': 'COMPLETED',
139 'result': 'SUCCESS', 144 'result': 'SUCCESS',
145 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
140 }, 146 },
141 { 147 {
142 'builder_name': 'some-builder', 148 'builder_name': 'some-builder',
143 'status': 'STARTED', 149 'status': 'STARTED',
144 'result': None, 150 'result': None,
151 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
145 }, 152 },
146 ])) 153 ]))
147 154
148 def test_has_failing_try_results_with_failing_results(self): 155 def test_has_failing_try_results_with_failing_results(self):
149 self.assertTrue(GitCL.has_failing_try_results([ 156 self.assertTrue(GitCL.has_failing_try_results([
150 { 157 {
151 'builder_name': 'some-builder', 158 'builder_name': 'some-builder',
152 'status': 'COMPLETED', 159 'status': 'COMPLETED',
153 'result': 'FAILURE', 160 'result': 'FAILURE',
154 }, 161 },
155 ])) 162 ]))
163
164 def test_latest_try_builds(self):
165 git_cl = GitCL(MockHost())
166 git_cl.fetch_try_results = lambda: [
167 {
168 'builder_name': 'builder-b',
169 'status': 'COMPLETED',
170 'result': 'SUCCESS',
171 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/100',
172 },
173 {
174 'builder_name': 'builder-b',
175 'status': 'COMPLETED',
176 'result': 'SUCCESS',
177 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/90',
178 },
179 {
180 'builder_name': 'builder-a',
181 'status': 'SCHEDULED',
182 'result': None,
183 'url': None,
184 },
185 {
186 'builder_name': 'builder-c',
187 'status': 'COMPLETED',
188 'result': 'SUCCESS',
189 'url': 'http://build.chromium.org/p/master/builders/some-builder /builds/123',
190 },
191 ]
192 self.assertEqual(
193 git_cl.latest_try_jobs(['builder-a', 'builder-b']),
194 [Build('builder-a'), Build('builder-b', 100)])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698