| OLD | NEW |
| 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 866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 ((['git', 'commit-tree', '0123456789abcdef', '-p', | 877 ((['git', 'commit-tree', '0123456789abcdef', '-p', |
| 878 'origin/master', '-m', description],), | 878 'origin/master', '-m', description],), |
| 879 ref_to_push), | 879 ref_to_push), |
| 880 ] | 880 ] |
| 881 else: | 881 else: |
| 882 ref_to_push = 'HEAD' | 882 ref_to_push = 'HEAD' |
| 883 | 883 |
| 884 calls += [ | 884 calls += [ |
| 885 ((['git', 'rev-list', | 885 ((['git', 'rev-list', |
| 886 expected_upstream_ref + '..' + ref_to_push],), ''), | 886 expected_upstream_ref + '..' + ref_to_push],), ''), |
| 887 ((['git', 'config', 'rietveld.cc'],), '') | |
| 888 ] | 887 ] |
| 889 | 888 |
| 890 notify_suffix = 'notify=%s' % ('ALL' if notify else 'NONE') | 889 notify_suffix = 'notify=%s' % ('ALL' if notify else 'NONE') |
| 891 if ref_suffix: | 890 if ref_suffix: |
| 892 ref_suffix += ',' + notify_suffix | 891 ref_suffix += ',' + notify_suffix |
| 893 else: | 892 else: |
| 894 ref_suffix = '%' + notify_suffix | 893 ref_suffix = '%' + notify_suffix |
| 895 | 894 |
| 896 # Add cc from watch list. | |
| 897 ref_suffix += ',cc=joe@example.com' | |
| 898 | |
| 899 if reviewers: | 895 if reviewers: |
| 900 ref_suffix += ',' + ','.join('r=%s' % email | 896 ref_suffix += ',' + ','.join('r=%s' % email |
| 901 for email in sorted(reviewers)) | 897 for email in sorted(reviewers)) |
| 902 calls += [ | 898 calls += [ |
| 903 ((['git', 'push', 'origin', | 899 ((['git', 'push', 'origin', |
| 904 ref_to_push + ':refs/for/refs/heads/master' + ref_suffix],), | 900 ref_to_push + ':refs/for/refs/heads/master' + ref_suffix],), |
| 905 ('remote:\n' | 901 ('remote:\n' |
| 906 'remote: Processing changes: (\)\n' | 902 'remote: Processing changes: (\)\n' |
| 907 'remote: Processing changes: (|)\n' | 903 'remote: Processing changes: (|)\n' |
| 908 'remote: Processing changes: (/)\n' | 904 'remote: Processing changes: (/)\n' |
| 909 'remote: Processing changes: (-)\n' | 905 'remote: Processing changes: (-)\n' |
| 910 'remote: Processing changes: new: 1 (/)\n' | 906 'remote: Processing changes: new: 1 (/)\n' |
| 911 'remote: Processing changes: new: 1, done\n' | 907 'remote: Processing changes: new: 1, done\n' |
| 912 'remote:\n' | 908 'remote:\n' |
| 913 'remote: New Changes:\n' | 909 'remote: New Changes:\n' |
| 914 'remote: https://chromium-review.googlesource.com/123456 XXX.\n' | 910 'remote: https://chromium-review.googlesource.com/123456 XXX.\n' |
| 915 'remote:\n' | 911 'remote:\n' |
| 916 'To https://chromium.googlesource.com/yyy/zzz\n' | 912 'To https://chromium.googlesource.com/yyy/zzz\n' |
| 917 ' * [new branch] hhhh -> refs/for/refs/heads/master\n')), | 913 ' * [new branch] hhhh -> refs/for/refs/heads/master\n')), |
| 918 ] | 914 ] |
| 919 if squash: | 915 if squash: |
| 920 calls += [ | 916 calls += [ |
| 921 ((['git', 'config', 'branch.master.gerritissue', '123456'],), | 917 ((['git', 'config', 'branch.master.gerritissue', '123456'],), |
| 922 ''), | 918 ''), |
| 923 ((['git', 'config', 'branch.master.gerritserver', | 919 ((['git', 'config', 'branch.master.gerritserver', |
| 924 'https://chromium-review.googlesource.com'],), ''), | 920 'https://chromium-review.googlesource.com'],), ''), |
| 925 ((['git', 'config', 'branch.master.gerritsquashhash', | 921 ((['git', 'config', 'branch.master.gerritsquashhash', |
| 926 'abcdef0123456789'],), ''), | 922 'abcdef0123456789'],), ''), |
| 927 ] | 923 ] |
| 924 calls += [ |
| 925 ((['git', 'config', 'rietveld.cc'],), ''), |
| 926 ((['AddReviewers', 'chromium-review.googlesource.com', |
| 927 123456 if squash else None, |
| 928 ['joe@example.com'], False],), ''), |
| 929 ] |
| 928 calls += cls._git_post_upload_calls() | 930 calls += cls._git_post_upload_calls() |
| 929 return calls | 931 return calls |
| 930 | 932 |
| 931 def _run_gerrit_upload_test( | 933 def _run_gerrit_upload_test( |
| 932 self, | 934 self, |
| 933 upload_args, | 935 upload_args, |
| 934 description, | 936 description, |
| 935 reviewers=None, | 937 reviewers=None, |
| 936 squash=True, | 938 squash=True, |
| 937 squash_mode=None, | 939 squash_mode=None, |
| (...skipping 13 matching lines...) Expand all Loading... |
| 951 | 953 |
| 952 reviewers = reviewers or [] | 954 reviewers = reviewers or [] |
| 953 self.mock(git_cl.sys, 'stdout', StringIO.StringIO()) | 955 self.mock(git_cl.sys, 'stdout', StringIO.StringIO()) |
| 954 self.mock(git_cl.gerrit_util, 'CookiesAuthenticator', | 956 self.mock(git_cl.gerrit_util, 'CookiesAuthenticator', |
| 955 CookiesAuthenticatorMockFactory(same_cookie='same_cred')) | 957 CookiesAuthenticatorMockFactory(same_cookie='same_cred')) |
| 956 self.mock(git_cl._GerritChangelistImpl, '_GerritCommitMsgHookCheck', | 958 self.mock(git_cl._GerritChangelistImpl, '_GerritCommitMsgHookCheck', |
| 957 lambda _, offer_removal: None) | 959 lambda _, offer_removal: None) |
| 958 self.mock(git_cl.gclient_utils, 'RunEditor', | 960 self.mock(git_cl.gclient_utils, 'RunEditor', |
| 959 lambda *_, **__: self._mocked_call(['RunEditor'])) | 961 lambda *_, **__: self._mocked_call(['RunEditor'])) |
| 960 self.mock(git_cl, 'DownloadGerritHook', self._mocked_call) | 962 self.mock(git_cl, 'DownloadGerritHook', self._mocked_call) |
| 963 self.mock(git_cl.gerrit_util, 'AddReviewers', |
| 964 lambda h, i, add, is_reviewer: self._mocked_call( |
| 965 ['AddReviewers', h, i, add, is_reviewer])) |
| 961 | 966 |
| 962 self.calls = self._gerrit_base_calls(issue=issue) | 967 self.calls = self._gerrit_base_calls(issue=issue) |
| 963 self.calls += self._gerrit_upload_calls( | 968 self.calls += self._gerrit_upload_calls( |
| 964 description, reviewers, squash, | 969 description, reviewers, squash, |
| 965 squash_mode=squash_mode, | 970 squash_mode=squash_mode, |
| 966 expected_upstream_ref=expected_upstream_ref, | 971 expected_upstream_ref=expected_upstream_ref, |
| 967 ref_suffix=ref_suffix, notify=notify, | 972 ref_suffix=ref_suffix, notify=notify, |
| 968 post_amend_description=post_amend_description, | 973 post_amend_description=post_amend_description, |
| 969 issue=issue) | 974 issue=issue) |
| 970 # Uncomment when debugging. | 975 # Uncomment when debugging. |
| (...skipping 989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1960 out = StringIO.StringIO() | 1965 out = StringIO.StringIO() |
| 1961 self.mock(sys, 'stdout', out) | 1966 self.mock(sys, 'stdout', out) |
| 1962 self.assertEqual(0, cl.CMDLand(force=True, bypass_hooks=True, verbose=True)) | 1967 self.assertEqual(0, cl.CMDLand(force=True, bypass_hooks=True, verbose=True)) |
| 1963 self.assertRegexpMatches(out.getvalue(), 'Issue.*123 has been submitted') | 1968 self.assertRegexpMatches(out.getvalue(), 'Issue.*123 has been submitted') |
| 1964 | 1969 |
| 1965 | 1970 |
| 1966 if __name__ == '__main__': | 1971 if __name__ == '__main__': |
| 1967 git_cl.logging.basicConfig( | 1972 git_cl.logging.basicConfig( |
| 1968 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) | 1973 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) |
| 1969 unittest.main() | 1974 unittest.main() |
| OLD | NEW |