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

Side by Side Diff: tests/git_cl_test.py

Issue 1880243003: git cl: add --gerrit and --rietveld options to force codereview. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@T200
Patch Set: Created 4 years, 8 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
« no previous file with comments | « git_cl.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 """Unit tests for git_cl.py.""" 6 """Unit tests for git_cl.py."""
7 7
8 import os 8 import os
9 import StringIO 9 import StringIO
10 import stat 10 import stat
(...skipping 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after
1086 ((['git', 'config', 'gerrit.host'],), ''), 1086 ((['git', 'config', 'gerrit.host'],), ''),
1087 ((['git', 'config', 'rietveld.server'],), 'codereview.example.com'), 1087 ((['git', 'config', 'rietveld.server'],), 'codereview.example.com'),
1088 ] 1088 ]
1089 self.assertNotEqual(git_cl.main(['patch', '123456']), 0) 1089 self.assertNotEqual(git_cl.main(['patch', '123456']), 0)
1090 1090
1091 def test_diff_when_dirty(self): 1091 def test_diff_when_dirty(self):
1092 # Do 'git cl diff' when local tree is dirty 1092 # Do 'git cl diff' when local tree is dirty
1093 self.mock(git_common, 'is_dirty_git_tree', lambda x: True) 1093 self.mock(git_common, 'is_dirty_git_tree', lambda x: True)
1094 self.assertNotEqual(git_cl.main(['diff']), 0) 1094 self.assertNotEqual(git_cl.main(['diff']), 0)
1095 1095
1096 def _patch_common(self, is_gerrit=False): 1096 def _patch_common(self, is_gerrit=False, force_codereview=False):
1097 self.mock(git_cl._RietveldChangelistImpl, 'GetMostRecentPatchset', 1097 self.mock(git_cl._RietveldChangelistImpl, 'GetMostRecentPatchset',
1098 lambda x: '60001') 1098 lambda x: '60001')
1099 self.mock(git_cl._RietveldChangelistImpl, 'GetPatchSetDiff', 1099 self.mock(git_cl._RietveldChangelistImpl, 'GetPatchSetDiff',
1100 lambda *args: None) 1100 lambda *args: None)
1101 self.mock(git_cl._GerritChangelistImpl, '_GetChangeDetail', 1101 self.mock(git_cl._GerritChangelistImpl, '_GetChangeDetail',
1102 lambda *args: { 1102 lambda *args: {
1103 'current_revision': '7777777777', 1103 'current_revision': '7777777777',
1104 'revisions': { 1104 'revisions': {
1105 '1111111111': { 1105 '1111111111': {
1106 '_number': 1, 1106 '_number': 1,
1107 'fetch': {'http': { 1107 'fetch': {'http': {
1108 'url': 'https://chromium.googlesource.com/my/repo', 1108 'url': 'https://chromium.googlesource.com/my/repo',
1109 'ref': 'refs/changes/56/123456/1', 1109 'ref': 'refs/changes/56/123456/1',
1110 }}, 1110 }},
1111 }, 1111 },
1112 '7777777777': { 1112 '7777777777': {
1113 '_number': 7, 1113 '_number': 7,
1114 'fetch': {'http': { 1114 'fetch': {'http': {
1115 'url': 'https://chromium.googlesource.com/my/repo', 1115 'url': 'https://chromium.googlesource.com/my/repo',
1116 'ref': 'refs/changes/56/123456/7', 1116 'ref': 'refs/changes/56/123456/7',
1117 }}, 1117 }},
1118 }, 1118 },
1119 }, 1119 },
1120 }) 1120 })
1121 self.mock(git_cl.Changelist, 'GetDescription', 1121 self.mock(git_cl.Changelist, 'GetDescription',
1122 lambda *args: 'Description') 1122 lambda *args: 'Description')
1123 self.mock(git_cl, 'IsGitVersionAtLeast', lambda *args: True) 1123 self.mock(git_cl, 'IsGitVersionAtLeast', lambda *args: True)
1124 1124
1125 self.calls = [ 1125 if not force_codereview:
1126 ((['git', 'symbolic-ref', 'HEAD'],), 'master'), 1126 # These calls detect codereview to use.
1127 ((['git', 'config', 'branch.master.rietveldissue'],), ''), 1127 self.calls = [
1128 ((['git', 'config', 'branch.master.gerritissue'],), ''), 1128 ((['git', 'symbolic-ref', 'HEAD'],), 'master'),
1129 ((['git', 'config', 'rietveld.autoupdate'],), ''), 1129 ((['git', 'config', 'branch.master.rietveldissue'],), ''),
tandrii(chromium) 2016/04/13 18:13:46 if this line had '12345' at the end, it'd tell git
1130 ] 1130 ((['git', 'config', 'branch.master.gerritissue'],), ''),
1131 ((['git', 'config', 'rietveld.autoupdate'],), ''),
1132 ]
1133 else:
1134 self.calls = []
1135
1131 if is_gerrit: 1136 if is_gerrit:
1132 self.calls += [ 1137 if not force_codereview:
1133 ((['git', 'config', 'gerrit.host'],), 'true'), 1138 self.calls += [
1134 ] 1139 ((['git', 'config', 'gerrit.host'],), 'true'),
1140 ]
1135 else: 1141 else:
1136 self.calls += [ 1142 self.calls += [
1137 ((['git', 'config', 'gerrit.host'],), ''), 1143 ((['git', 'config', 'gerrit.host'],), ''),
1138 ((['git', 'config', 'rietveld.server'],), 'codereview.example.com'), 1144 ((['git', 'config', 'rietveld.server'],), 'codereview.example.com'),
1139 ((['git', 'rev-parse', '--show-cdup'],), ''), 1145 ((['git', 'rev-parse', '--show-cdup'],), ''),
1140 ((['sed', '-e', 's|^--- a/|--- |; s|^+++ b/|+++ |'],), ''), 1146 ((['sed', '-e', 's|^--- a/|--- |; s|^+++ b/|+++ |'],), ''),
1141 ] 1147 ]
1142 1148
1143 def test_patch_successful(self): 1149 def test_patch_successful(self):
1144 self._patch_common() 1150 self._patch_common()
(...skipping 30 matching lines...) Expand all
1175 ((['git', 'config', 'branch.master.merge'],), 'master'), 1181 ((['git', 'config', 'branch.master.merge'],), 'master'),
1176 ((['git', 'config', 'branch.master.remote'],), 'origin'), 1182 ((['git', 'config', 'branch.master.remote'],), 'origin'),
1177 ((['git', 'config', 'remote.origin.url'],), 1183 ((['git', 'config', 'remote.origin.url'],),
1178 'https://chromium.googlesource.com/my/repo'), 1184 'https://chromium.googlesource.com/my/repo'),
1179 ((['git', 'config', 'branch.master.gerritserver', 1185 ((['git', 'config', 'branch.master.gerritserver',
1180 'https://chromium-review.googlesource.com'],), ''), 1186 'https://chromium-review.googlesource.com'],), ''),
1181 ((['git', 'config', 'branch.master.gerritpatchset', '7'],), ''), 1187 ((['git', 'config', 'branch.master.gerritpatchset', '7'],), ''),
1182 ] 1188 ]
1183 self.assertEqual(git_cl.main(['patch', '123456']), 0) 1189 self.assertEqual(git_cl.main(['patch', '123456']), 0)
1184 1190
1191 def test_patch_force_codereview(self):
1192 self._patch_common(is_gerrit=True, force_codereview=True)
Sergiy Byelozyorov 2016/04/13 17:18:59 can you please try to create mock rietveld CL here
tandrii(chromium) 2016/04/13 18:13:46 Ha, good comment/idea! However, the calls below is
Sergiy Byelozyorov 2016/04/13 18:21:55 Acknowledged.
1193 self.calls += [
1194 ((['git', 'fetch', 'https://chromium.googlesource.com/my/repo',
1195 'refs/changes/56/123456/7'],), ''),
1196 ((['git', 'cherry-pick', 'FETCH_HEAD'],), ''),
1197 ((['git', 'symbolic-ref', 'HEAD'],), 'master'),
1198 ((['git', 'config', 'branch.master.gerritissue', '123456'],), ''),
1199 ((['git', 'config', 'branch.master.gerritserver'],), ''),
1200 ((['git', 'config', 'branch.master.merge'],), 'master'),
1201 ((['git', 'config', 'branch.master.remote'],), 'origin'),
1202 ((['git', 'config', 'remote.origin.url'],),
1203 'https://chromium.googlesource.com/my/repo'),
1204 ((['git', 'config', 'branch.master.gerritserver',
1205 'https://chromium-review.googlesource.com'],), ''),
1206 ((['git', 'config', 'branch.master.gerritpatchset', '7'],), ''),
1207 ]
1208 self.assertEqual(git_cl.main(['patch', '--gerrit', '123456']), 0)
1209
1185 def test_gerrit_patch_url_successful(self): 1210 def test_gerrit_patch_url_successful(self):
1186 self._patch_common(is_gerrit=True) 1211 self._patch_common(is_gerrit=True)
1187 self.calls += [ 1212 self.calls += [
1188 ((['git', 'fetch', 'https://chromium.googlesource.com/my/repo', 1213 ((['git', 'fetch', 'https://chromium.googlesource.com/my/repo',
1189 'refs/changes/56/123456/1'],), ''), 1214 'refs/changes/56/123456/1'],), ''),
1190 ((['git', 'cherry-pick', 'FETCH_HEAD'],), ''), 1215 ((['git', 'cherry-pick', 'FETCH_HEAD'],), ''),
1191 ((['git', 'config', 'branch.master.gerritissue', '123456'],), ''), 1216 ((['git', 'config', 'branch.master.gerritissue', '123456'],), ''),
1192 ((['git', 'config', 'branch.master.gerritserver', 1217 ((['git', 'config', 'branch.master.gerritserver',
1193 'https://chromium-review.googlesource.com'],), ''), 1218 'https://chromium-review.googlesource.com'],), ''),
1194 ((['git', 'config', 'branch.master.gerritpatchset', '1'],), ''), 1219 ((['git', 'config', 'branch.master.gerritpatchset', '1'],), ''),
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
1328 ((['SetReview', 'chromium-review.googlesource.com', 123, 1353 ((['SetReview', 'chromium-review.googlesource.com', 123,
1329 {'Commit-Queue': 1}],), ''), 1354 {'Commit-Queue': 1}],), ''),
1330 ] 1355 ]
1331 self.assertEqual(0, git_cl.main(['set-commit', '-d'])) 1356 self.assertEqual(0, git_cl.main(['set-commit', '-d']))
1332 1357
1333 1358
1334 if __name__ == '__main__': 1359 if __name__ == '__main__':
1335 git_cl.logging.basicConfig( 1360 git_cl.logging.basicConfig(
1336 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) 1361 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR)
1337 unittest.main() 1362 unittest.main()
OLDNEW
« no previous file with comments | « git_cl.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698