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

Side by Side Diff: scripts/tools/blink_roller/auto_roll_test.py

Issue 503813002: Fix AutoRoll after Git transition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: tweaks Created 6 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 6
7 import datetime 7 import datetime
8 import unittest 8 import unittest
9 9
10 import auto_roll 10 import auto_roll
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 return self._contents 108 return self._contents
109 109
110 def setUp(self): 110 def setUp(self):
111 SuperMoxTestBase.setUp(self) 111 SuperMoxTestBase.setUp(self)
112 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'add_comment') 112 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'add_comment')
113 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'close_issue') 113 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'close_issue')
114 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 114 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld,
115 'get_issue_properties') 115 'get_issue_properties')
116 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'search') 116 self.mox.StubOutWithMock(auto_roll.rietveld.Rietveld, 'search')
117 self.mox.StubOutWithMock(auto_roll.scm.GIT, 'Capture') 117 self.mox.StubOutWithMock(auto_roll.scm.GIT, 'Capture')
118 self.mox.StubOutWithMock(auto_roll.subprocess2, 'call')
118 self.mox.StubOutWithMock(auto_roll.subprocess2, 'check_call') 119 self.mox.StubOutWithMock(auto_roll.subprocess2, 'check_call')
119 self.mox.StubOutWithMock(auto_roll.subprocess2, 'check_output') 120 self.mox.StubOutWithMock(auto_roll.subprocess2, 'check_output')
120 self.mox.StubOutWithMock(auto_roll.urllib2, 'urlopen') 121 self.mox.StubOutWithMock(auto_roll.urllib2, 'urlopen')
121 auto_roll.datetime.datetime = self.MockDateTime 122 auto_roll.datetime.datetime = self.MockDateTime
122 auto_roll.rietveld.upload.HttpRpcServer = self.MockHttpRpcServer 123 auto_roll.rietveld.upload.HttpRpcServer = self.MockHttpRpcServer
123 self._arb = auto_roll.AutoRoller(self.TEST_PROJECT, 124 self._arb = auto_roll.AutoRoller(self.TEST_PROJECT,
124 self.TEST_AUTHOR, 125 self.TEST_AUTHOR,
125 self.PATH_TO_CHROME) 126 self.PATH_TO_CHROME)
126 127
127 def _make_issue(self, old_rev=None, new_rev=None, created_datetime=None): 128 def _make_issue(self, old_rev=None, new_rev=None, created_datetime=None):
(...skipping 24 matching lines...) Expand all
152 else: 153 else:
153 auto_roll.subprocess2.check_output( 154 auto_roll.subprocess2.check_output(
154 ['git', '--git-dir', './third_party/test_project/.git', 'show', '-s', 155 ['git', '--git-dir', './third_party/test_project/.git', 'show', '-s',
155 'origin/master']).AndReturn(self.GIT_LOG_UPDATED) 156 'origin/master']).AndReturn(self.GIT_LOG_UPDATED)
156 157
157 def _upload_issue(self, custom_message=None): 158 def _upload_issue(self, custom_message=None):
158 self._get_last_revision() 159 self._get_last_revision()
159 self._get_current_revision() 160 self._get_current_revision()
160 self._compare_revs(self.OLD_REV, self.NEW_REV) 161 self._compare_revs(self.OLD_REV, self.NEW_REV)
161 162
163 auto_roll.subprocess2.check_call(['git', 'clean', '-d', '-f'])
164 auto_roll.subprocess2.call(['git', 'rebase', '--abort'])
165 auto_roll.subprocess2.call(['git', 'branch', '-D', 'test_project_roll'])
166 auto_roll.subprocess2.check_call(['git', 'checkout', 'master', '-f'])
167 auto_roll.subprocess2.check_call(['git', 'checkout',
168 '-b', 'test_project_roll',
169 '-t', 'origin/master', '-f'])
170
162 from_rev = self._display_rev(self.OLD_REV) 171 from_rev = self._display_rev(self.OLD_REV)
163 to_rev = self._display_rev(self.NEW_REV) 172 to_rev = self._display_rev(self.NEW_REV)
173 message = custom_message or 'Test_Project roll %s:%s' % (from_rev, to_rev)
174 message += '\nTBR='
175 auto_roll.subprocess2.check_call(
176 ['roll-dep', 'third_party/%s' % self.TEST_PROJECT, str(self.NEW_REV)])
164 177
165 message = custom_message or 'Test_Project roll %s:%s' % (from_rev, to_rev) 178 auto_roll.subprocess2.check_call(['git', 'add', 'DEPS'])
179 auto_roll.subprocess2.check_call(['git', 'commit', '-m', message])
180 auto_roll.subprocess2.check_call(['git', 'cl', 'upload', '--bypass-hooks',
181 '--use-commit-queue'])
182 auto_roll.subprocess2.check_call(['git', 'checkout', 'master', '-f'])
183 auto_roll.subprocess2.check_call(['git', 'branch', '-D',
184 'test_project_roll'])
166 185
167 auto_roll.subprocess2.check_call(
168 ['./tools/safely-roll-deps.py', self.TEST_PROJECT, str(self.NEW_REV),
169 '--message', message, '--force'])
170 issue = self._make_issue(created_datetime=self.CURRENT_DATETIME_STR) 186 issue = self._make_issue(created_datetime=self.CURRENT_DATETIME_STR)
171 self._arb._rietveld.search(owner=self.TEST_AUTHOR, 187 self._arb._rietveld.search(owner=self.TEST_AUTHOR,
172 closed=2).AndReturn([issue]) 188 closed=2).AndReturn([issue])
173 self._arb._rietveld.add_comment(issue['issue'], 189 self._arb._rietveld.add_comment(issue['issue'],
174 self._arb.ROLL_BOT_INSTRUCTIONS) 190 self._arb.ROLL_BOT_INSTRUCTIONS)
175 191
176 def test_should_stop(self): 192 def test_should_stop(self):
177 if self.__class__.__name__ == 'AutoRollTestBase': 193 if self.__class__.__name__ == 'AutoRollTestBase':
178 return 194 return
179 issue = self._make_issue(created_datetime=self.OLD_ISSUE_CREATED_STR) 195 issue = self._make_issue(created_datetime=self.OLD_ISSUE_CREATED_STR)
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 347
332 348
333 class AutoRollTestSVN(AutoRollTestBase): 349 class AutoRollTestSVN(AutoRollTestBase):
334 350
335 OLDER_REV = 1231 351 OLDER_REV = 1231
336 OLD_REV = 1234 352 OLD_REV = 1234
337 NEW_REV = 1235 353 NEW_REV = 1235
338 354
339 DEPS_CONTENT = ''' 355 DEPS_CONTENT = '''
340 vars = { 356 vars = {
341 "test_project_revision": "%d", 357 'test_project_revision': '%d',
342 } 358 }
343 ''' % OLD_REV 359 ''' % OLD_REV
344 360
345 _GIT_LOG = ''' 361 _GIT_LOG = '''
346 commit abcde 362 commit abcde
347 Author: Test Author <test_author@example.com> 363 Author: Test Author <test_author@example.com>
348 Date: Wed Apr 2 14:00:14 2014 -0400 364 Date: Wed Apr 2 14:00:14 2014 -0400
349 365
350 Make some changes. 366 Make some changes.
351 367
(...skipping 25 matching lines...) Expand all
377 393
378 394
379 class AutoRollTestGit(AutoRollTestBase): 395 class AutoRollTestGit(AutoRollTestBase):
380 396
381 OLDER_REV = 'cfcf604fbdcf6e2d9b982a2fab3fc9f1e3f8cd65' 397 OLDER_REV = 'cfcf604fbdcf6e2d9b982a2fab3fc9f1e3f8cd65'
382 OLD_REV = 'b9af6489f6f2004ad11b82c6057f7007e3c35372' 398 OLD_REV = 'b9af6489f6f2004ad11b82c6057f7007e3c35372'
383 NEW_REV = '79539998e04afab3ee9c3016881755ca52f60a73' 399 NEW_REV = '79539998e04afab3ee9c3016881755ca52f60a73'
384 400
385 DEPS_CONTENT = ''' 401 DEPS_CONTENT = '''
386 vars = { 402 vars = {
387 "test_project_revision": "%s", 403 'test_project_revision': '%s',
388 } 404 }
389 ''' % OLD_REV 405 ''' % OLD_REV
390 406
391 _GIT_LOG = ''' 407 _GIT_LOG = '''
392 commit %s 408 commit %s
393 Author: Test Author <test_author@example.com> 409 Author: Test Author <test_author@example.com>
394 Date: Wed Apr 2 14:00:14 2014 -0400 410 Date: Wed Apr 2 14:00:14 2014 -0400
395 411
396 Make some changes. 412 Make some changes.
397 ''' 413 '''
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 455
440 # pylint: disable=R0201 456 # pylint: disable=R0201
441 def _parse_origin_master(self, returnval): 457 def _parse_origin_master(self, returnval):
442 auto_roll.subprocess2.check_output( 458 auto_roll.subprocess2.check_output(
443 ['git', '--git-dir', './third_party/test_project/.git', 'rev-parse', 459 ['git', '--git-dir', './third_party/test_project/.git', 'rev-parse',
444 'origin/master']).AndReturn(returnval) 460 'origin/master']).AndReturn(returnval)
445 461
446 462
447 if __name__ == '__main__': 463 if __name__ == '__main__':
448 unittest.main() 464 unittest.main()
OLDNEW
« scripts/tools/blink_roller/auto_roll.py ('K') | « scripts/tools/blink_roller/auto_roll.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698