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

Unified Diff: tests/git_cl_test.py

Issue 8735018: Make --send-mail more useful by not requiring -r (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 1 month 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
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index f21e340a447e84ec32e22c2996b80b25468368e4..b2f3e19652a4aa9b9172e60735a1d234617ee03d 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -6,6 +6,7 @@
"""Unit tests for git_cl.py."""
import os
+import StringIO
import sys
import unittest
@@ -69,8 +70,12 @@ class TestGitCl(TestCase):
self.assertEquals([], self.calls)
super(TestGitCl, self).tearDown()
+ @classmethod
+ def _upload_calls(cls):
+ return cls._git_base_calls() + cls._git_upload_calls()
+
@staticmethod
- def _upload_calls():
+ def _git_base_calls():
return [
(['git', 'update-index', '--refresh', '-q'], ''),
(['git', 'diff-index', 'HEAD'], ''),
@@ -89,6 +94,11 @@ class TestGitCl(TestCase):
(['git', 'config', 'user.email'], 'me@example.com'),
(['git', 'diff', '--no-ext-diff', '--stat', '-M', 'master...'], '+dat'),
(['git', 'log', '--pretty=format:%s\n\n%b', 'master..'], 'desc\n'),
+ ]
+
+ @staticmethod
+ def _git_upload_calls():
+ return [
(['git', 'config', 'rietveld.cc'], ''),
(['git', 'config', '--get-regexp', '^svn-remote\\.'], (('', None), 0)),
(['git', 'rev-parse', '--show-cdup'], ''),
@@ -177,6 +187,36 @@ class TestGitCl(TestCase):
description,
['--reviewers', 'reviewer@example.com,another@example.com'])
+ def test_reviewer_send_mail(self):
+ # --send-mail can be used without -r if R= is used
+ description = 'Foo Bar\nR=reviewer@example.com\n'
+ self._run_reviewer_test(
+ ['--send-mail'],
+ 'desc\n\nBUG=\nTEST=\n',
+ description.strip('\n'),
+ description,
+ ['--reviewers', 'reviewer@example.com', '--send_mail'])
+
+ def test_reviewer_send_mail_no_rev(self):
+ # Fails without a reviewer.
+ class FileMock(object):
+ buf = StringIO.StringIO()
+ def write(self, content):
+ self.buf.write(content)
+
+ mock = FileMock()
+ try:
+ self.calls = self._git_base_calls()
+ def RunEditor(desc, _):
+ return desc
+ self.mock(git_cl.gclient_utils, 'RunEditor', RunEditor)
+ self.mock(sys, 'stderr', mock)
+ git_cl.main(['upload', '--send-mail'])
+ self.fail()
+ except SystemExit:
+ self.assertEquals(
+ 'Must specify reviewers to send email.\n', mock.buf.getvalue())
+
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