|
|
|
@ -2471,80 +2471,6 @@ class TestGitCl(TestCase):
|
|
|
|
|
git_cl.sys.stdout.getvalue(),
|
|
|
|
|
'Tried jobs on:\nBucket: luci.chromium.try')
|
|
|
|
|
|
|
|
|
|
def test_git_cl_try_bots_on_multiple_masters(self):
|
|
|
|
|
self.mock(git_cl.Changelist, 'GetMostRecentPatchset', lambda _: 7)
|
|
|
|
|
self.mock(git_cl.Changelist, 'GetChange',
|
|
|
|
|
lambda _, *a: (
|
|
|
|
|
self._mocked_call(['GetChange']+list(a))))
|
|
|
|
|
self.mock(git_cl.presubmit_support, 'DoGetTryMasters',
|
|
|
|
|
lambda *_, **__: (
|
|
|
|
|
self._mocked_call(['DoGetTryMasters'])))
|
|
|
|
|
self.mock(git_cl._GerritChangelistImpl, 'SetCQState',
|
|
|
|
|
lambda _, s: self._mocked_call(['SetCQState', s]))
|
|
|
|
|
|
|
|
|
|
self.calls = [
|
|
|
|
|
((['git', 'symbolic-ref', 'HEAD'],), 'feature'),
|
|
|
|
|
((['git', 'config', 'branch.feature.gerritissue'],), '123456'),
|
|
|
|
|
((['git', 'config', 'branch.feature.gerritserver'],),
|
|
|
|
|
'https://chromium-review.googlesource.com'),
|
|
|
|
|
((['git', 'config', 'branch.feature.merge'],), 'feature'),
|
|
|
|
|
((['git', 'config', 'branch.feature.remote'],), 'origin'),
|
|
|
|
|
((['git', 'config', 'remote.origin.url'],),
|
|
|
|
|
'https://chromium.googlesource.com/depot_tools'),
|
|
|
|
|
(('GetChangeDetail', 'chromium-review.googlesource.com',
|
|
|
|
|
'depot_tools~123456',
|
|
|
|
|
['DETAILED_ACCOUNTS', 'ALL_REVISIONS', 'CURRENT_COMMIT']), {
|
|
|
|
|
'project': 'depot_tools',
|
|
|
|
|
'status': 'OPEN',
|
|
|
|
|
'owner': {'email': 'owner@e.mail'},
|
|
|
|
|
'revisions': {
|
|
|
|
|
'deadbeaf': {
|
|
|
|
|
'_number': 6,
|
|
|
|
|
},
|
|
|
|
|
'beeeeeef': {
|
|
|
|
|
'_number': 7,
|
|
|
|
|
'fetch': {'http': {
|
|
|
|
|
'url': 'https://chromium.googlesource.com/depot_tools',
|
|
|
|
|
'ref': 'refs/changes/56/123456/7'
|
|
|
|
|
}},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
def _buildbucket_retry(*_, **kw):
|
|
|
|
|
body = json.loads(kw['body'])
|
|
|
|
|
self.assertEqual(len(body['builds']), 2)
|
|
|
|
|
|
|
|
|
|
self.assertEqual(body['builds'][0]['bucket'], 'bucket1')
|
|
|
|
|
params = json.loads(body['builds'][0]['parameters_json'])
|
|
|
|
|
self.assertEqual(params['builder_name'], 'builder1')
|
|
|
|
|
|
|
|
|
|
self.assertEqual(body['builds'][1]['bucket'], 'bucket2')
|
|
|
|
|
params = json.loads(body['builds'][1]['parameters_json'])
|
|
|
|
|
self.assertEqual(params['builder_name'], 'builder2')
|
|
|
|
|
|
|
|
|
|
self.mock(git_cl, '_buildbucket_retry', _buildbucket_retry)
|
|
|
|
|
|
|
|
|
|
self.mock(git_cl.urllib2, 'urlopen', lambda _: StringIO.StringIO(
|
|
|
|
|
json.dumps({
|
|
|
|
|
'builder1': {'bucket': 'bucket1'},
|
|
|
|
|
'builder2': {'bucket': 'bucket2'},
|
|
|
|
|
})))
|
|
|
|
|
|
|
|
|
|
self.mock(git_cl.sys, 'stdout', StringIO.StringIO())
|
|
|
|
|
self.assertEqual(
|
|
|
|
|
0, git_cl.main(['try', '-b', 'builder1', '-b', 'builder2']))
|
|
|
|
|
self.assertEqual(
|
|
|
|
|
git_cl.sys.stdout.getvalue(),
|
|
|
|
|
'Tried jobs on:\n'
|
|
|
|
|
'Bucket: bucket1\n'
|
|
|
|
|
' builder1: []\n'
|
|
|
|
|
'Bucket: bucket2\n'
|
|
|
|
|
' builder2: []\n'
|
|
|
|
|
'To see results here, run: git cl try-results\n'
|
|
|
|
|
'To see results in browser, run: git cl web\n')
|
|
|
|
|
|
|
|
|
|
def _common_GerritCommitMsgHookCheck(self):
|
|
|
|
|
self.mock(git_cl.sys, 'stdout', StringIO.StringIO())
|
|
|
|
|
self.mock(git_cl.os.path, 'abspath',
|
|
|
|
|