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

Unified Diff: tests/git_cl_test.py

Issue 9264065: Add minimal Gerrit support to 'git cl config' and 'git cl upload' (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « git_cl.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/git_cl_test.py
===================================================================
--- tests/git_cl_test.py (revision 120273)
+++ tests/git_cl_test.py (working copy)
@@ -88,6 +88,7 @@
@staticmethod
def _git_base_calls():
return [
+ ((['git', 'config', 'gerrit.host'],), ''),
((['git', 'update-index', '--refresh', '-q'],), ''),
((['git', 'diff-index', 'HEAD'],), ''),
((['git', 'config', 'rietveld.server'],), 'codereview.example.com'),
@@ -321,5 +322,76 @@
git_cl.main(['dcommit', '--bypass-hooks'])
+ @staticmethod
+ def _gerrit_base_calls():
+ return [
+ ((['git', 'config', 'gerrit.host'],), 'gerrit.example.com'),
+ ((['git', 'update-index', '--refresh', '-q'],), ''),
+ ((['git', 'diff-index', 'HEAD'],), ''),
+ ((['git', 'config', 'rietveld.server'],), 'codereview.example.com'),
+ ((['git', 'symbolic-ref', 'HEAD'],), 'master'),
+ ((['git', 'config', 'branch.master.merge'],), 'master'),
+ ((['git', 'config', 'branch.master.remote'],), 'origin'),
+ ((['git', 'rev-parse', '--show-cdup'],), ''),
+ ((['git', 'rev-parse', 'HEAD'],), '12345'),
+ ((['git', 'diff', '--name-status', '-r', 'master...', '.'],),
+ 'M\t.gitignore\n'),
+ ((['git', 'rev-parse', '--git-dir'],), '.git'),
+ ((['git', 'config', 'branch.master.rietveldissue'],), ''),
+ ((['git', 'config', 'branch.master.rietveldpatchset'],), ''),
+ ((['git', 'log', '--pretty=format:%s%n%n%b', 'master...'],), 'foo'),
+ ((['git', 'config', 'user.email'],), 'me@example.com'),
+ ((['git', 'diff', '--no-ext-diff', '--stat', '-M', 'master...'],),
+ '+dat'),
+ ]
+
+ @staticmethod
+ def _gerrit_upload_calls(description, reviewers):
+ calls = [
+ ((['git', 'log', '--pretty=format:%s\n\n%b', 'master..'],),
+ description),
+ ((['git', 'config', 'rietveld.cc'],), '')
+ ]
+ receive_pack = '--receive-pack="git receive-pack '
+ receive_pack += '--cc=joe@example.com' # from watch list
+ if reviewers:
+ receive_pack += ' '
+ receive_pack += ' '.join(['--reviewer=' + email for email in reviewers])
+ receive_pack += '"'
+ calls += [
+ ((['git', 'push', receive_pack, 'origin', 'HEAD:refs/for/master'],),
+ '')
+ ]
+ return calls
+
+ def _run_gerrit_reviewer_test(
+ self,
+ upload_args,
+ description,
+ reviewers):
+ """Generic gerrit reviewer test framework."""
+ self.calls = self._gerrit_base_calls()
+ self.calls += self._gerrit_upload_calls(description, reviewers)
+ git_cl.main(['upload'] + upload_args)
+
+ def test_gerrit_no_reviewer(self):
+ self._run_gerrit_reviewer_test(
+ [],
+ 'desc\n\nBUG=\nTEST=\n',
+ [])
+
+ def test_gerrit_reviewers_cmd_line(self):
+ self._run_gerrit_reviewer_test(
+ ['-r', 'foo@example.com'],
+ 'desc\n\nBUG=\nTEST=\n',
+ ['foo@example.com'])
+
+ def test_gerrit_reviewer_multiple(self):
+ self._run_gerrit_reviewer_test(
+ [],
+ 'desc\nTBR=reviewer@example.com\nBUG=\nR=another@example.com\n',
+ ['reviewer@example.com', 'another@example.com'])
+
+
if __name__ == '__main__':
unittest.main()
« 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