| 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 presubmit_support.py and presubmit_canned_checks.py.""" | 6 """Unit tests for presubmit_support.py and presubmit_canned_checks.py.""" |
| 7 | 7 |
| 8 # pylint: disable=E1101,E1103 | 8 # pylint: disable=E1101,E1103 |
| 9 | 9 |
| 10 import StringIO | 10 import StringIO |
| (...skipping 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1146 self.mox.StubOutWithMock(presubmit, 'ParseFiles') | 1146 self.mox.StubOutWithMock(presubmit, 'ParseFiles') |
| 1147 presubmit.scm.determine_scm(self.fake_root_dir).AndReturn(None) | 1147 presubmit.scm.determine_scm(self.fake_root_dir).AndReturn(None) |
| 1148 presubmit.ParseFiles(['random_file.txt'], None | 1148 presubmit.ParseFiles(['random_file.txt'], None |
| 1149 ).AndReturn([('M', 'random_file.txt')]) | 1149 ).AndReturn([('M', 'random_file.txt')]) |
| 1150 output = self.mox.CreateMock(presubmit.PresubmitOutput) | 1150 output = self.mox.CreateMock(presubmit.PresubmitOutput) |
| 1151 output.should_continue().AndReturn(False) | 1151 output.should_continue().AndReturn(False) |
| 1152 | 1152 |
| 1153 presubmit.DoPresubmitChecks(mox.IgnoreArg(), False, False, | 1153 presubmit.DoPresubmitChecks(mox.IgnoreArg(), False, False, |
| 1154 mox.IgnoreArg(), | 1154 mox.IgnoreArg(), |
| 1155 mox.IgnoreArg(), | 1155 mox.IgnoreArg(), |
| 1156 None, False, None).AndReturn(output) | 1156 None, False, None, None).AndReturn(output) |
| 1157 self.mox.ReplayAll() | 1157 self.mox.ReplayAll() |
| 1158 | 1158 |
| 1159 self.assertEquals( | 1159 self.assertEquals( |
| 1160 True, | 1160 True, |
| 1161 presubmit.main(['--root', self.fake_root_dir, 'random_file.txt'])) | 1161 presubmit.main(['--root', self.fake_root_dir, 'random_file.txt'])) |
| 1162 | 1162 |
| 1163 def testMainUnversionedFail(self): | 1163 def testMainUnversionedFail(self): |
| 1164 # OptParser calls presubmit.os.path.exists and is a pain when mocked. | 1164 # OptParser calls presubmit.os.path.exists and is a pain when mocked. |
| 1165 self.UnMock(presubmit.os.path, 'exists') | 1165 self.UnMock(presubmit.os.path, 'exists') |
| 1166 self.mox.StubOutWithMock(presubmit, 'DoPresubmitChecks') | 1166 self.mox.StubOutWithMock(presubmit, 'DoPresubmitChecks') |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1190 'AbsoluteLocalPaths', 'AffectedFiles', 'AffectedSourceFiles', | 1190 'AbsoluteLocalPaths', 'AffectedFiles', 'AffectedSourceFiles', |
| 1191 'AffectedTextFiles', 'DEFAULT_BLACK_LIST', 'DEFAULT_WHITE_LIST', | 1191 'AffectedTextFiles', 'DEFAULT_BLACK_LIST', 'DEFAULT_WHITE_LIST', |
| 1192 'DepotToLocalPath', 'FilterSourceFile', 'LocalPaths', 'LocalToDepotPath', | 1192 'DepotToLocalPath', 'FilterSourceFile', 'LocalPaths', 'LocalToDepotPath', |
| 1193 'Command', 'RunTests', 'PresubmitLocalPath', 'ReadFile', | 1193 'Command', 'RunTests', 'PresubmitLocalPath', 'ReadFile', |
| 1194 'RightHandSideLines', 'ServerPaths', 'basename', 'cPickle', 'cpplint', | 1194 'RightHandSideLines', 'ServerPaths', 'basename', 'cPickle', 'cpplint', |
| 1195 'cStringIO', 'canned_checks', 'change', 'cpu_count', 'environ', 'glob', | 1195 'cStringIO', 'canned_checks', 'change', 'cpu_count', 'environ', 'glob', |
| 1196 'host_url', 'is_committing', 'json', 'logging', 'marshal', 'os_listdir', | 1196 'host_url', 'is_committing', 'json', 'logging', 'marshal', 'os_listdir', |
| 1197 'os_walk', 'os_path', 'os_stat', 'owners_db', 'pickle', 'platform', | 1197 'os_walk', 'os_path', 'os_stat', 'owners_db', 'pickle', 'platform', |
| 1198 'python_executable', 're', 'rietveld', 'subprocess', 'tbr', 'tempfile', | 1198 'python_executable', 're', 'rietveld', 'subprocess', 'tbr', 'tempfile', |
| 1199 'time', 'traceback', 'unittest', 'urllib2', 'version', 'verbose', | 1199 'time', 'traceback', 'unittest', 'urllib2', 'version', 'verbose', |
| 1200 'dry_run', |
| 1200 ] | 1201 ] |
| 1201 # If this test fails, you should add the relevant test. | 1202 # If this test fails, you should add the relevant test. |
| 1202 self.compareMembers( | 1203 self.compareMembers( |
| 1203 presubmit.InputApi(self.fake_change, './.', False, None, False), | 1204 presubmit.InputApi(self.fake_change, './.', False, None, False), |
| 1204 members) | 1205 members) |
| 1205 | 1206 |
| 1206 def testDepotToLocalPath(self): | 1207 def testDepotToLocalPath(self): |
| 1207 presubmit.scm.SVN._CaptureInfo(['svn://foo/smurf'], self.fake_root_dir | 1208 presubmit.scm.SVN._CaptureInfo(['svn://foo/smurf'], self.fake_root_dir |
| 1208 ).AndReturn({'Path': 'prout'}) | 1209 ).AndReturn({'Path': 'prout'}) |
| 1209 presubmit.scm.SVN._CaptureInfo( | 1210 presubmit.scm.SVN._CaptureInfo( |
| (...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1846 class fake_CalledProcessError(Exception): | 1847 class fake_CalledProcessError(Exception): |
| 1847 def __str__(self): | 1848 def __str__(self): |
| 1848 return 'foo' | 1849 return 'foo' |
| 1849 input_api.subprocess.CalledProcessError = fake_CalledProcessError | 1850 input_api.subprocess.CalledProcessError = fake_CalledProcessError |
| 1850 input_api.verbose = False | 1851 input_api.verbose = False |
| 1851 | 1852 |
| 1852 input_api.change = change | 1853 input_api.change = change |
| 1853 input_api.host_url = 'http://localhost' | 1854 input_api.host_url = 'http://localhost' |
| 1854 input_api.is_committing = committing | 1855 input_api.is_committing = committing |
| 1855 input_api.tbr = False | 1856 input_api.tbr = False |
| 1857 input_api.dry_run = None |
| 1856 input_api.python_executable = 'pyyyyython' | 1858 input_api.python_executable = 'pyyyyython' |
| 1857 input_api.platform = sys.platform | 1859 input_api.platform = sys.platform |
| 1858 input_api.cpu_count = 2 | 1860 input_api.cpu_count = 2 |
| 1859 input_api.time = time | 1861 input_api.time = time |
| 1860 input_api.canned_checks = presubmit_canned_checks | 1862 input_api.canned_checks = presubmit_canned_checks |
| 1861 input_api.Command = presubmit.CommandData | 1863 input_api.Command = presubmit.CommandData |
| 1862 input_api.RunTests = functools.partial( | 1864 input_api.RunTests = functools.partial( |
| 1863 presubmit.InputApi.RunTests, input_api) | 1865 presubmit.InputApi.RunTests, input_api) |
| 1864 return input_api | 1866 return input_api |
| 1865 | 1867 |
| (...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2635 def testCannedCheckOwners_DryRun(self): | 2637 def testCannedCheckOwners_DryRun(self): |
| 2636 response = { | 2638 response = { |
| 2637 "owner_email": "john@example.com", | 2639 "owner_email": "john@example.com", |
| 2638 "cq_dry_run": True, | 2640 "cq_dry_run": True, |
| 2639 "reviewers": ["ben@example.com"], | 2641 "reviewers": ["ben@example.com"], |
| 2640 } | 2642 } |
| 2641 self.AssertOwnersWorks(approvers=set(), | 2643 self.AssertOwnersWorks(approvers=set(), |
| 2642 cq_dry_run=True, | 2644 cq_dry_run=True, |
| 2643 rietveld_response=response, | 2645 rietveld_response=response, |
| 2644 reviewers=set(["ben@example.com"]), | 2646 reviewers=set(["ben@example.com"]), |
| 2645 expected_output='This is a CQ dry run, skipping OWNERS check\n') | 2647 expected_output='This is a dry run, skipping OWNERS check\n') |
| 2646 | 2648 |
| 2647 self.AssertOwnersWorks(approvers=set(['ben@example.com']), | 2649 self.AssertOwnersWorks(approvers=set(['ben@example.com']), |
| 2648 is_committing=False, | 2650 is_committing=False, |
| 2649 rietveld_response=response, | 2651 rietveld_response=response, |
| 2650 expected_output='') | 2652 expected_output='') |
| 2651 | 2653 |
| 2652 def testCannedCheckOwners_Approved(self): | 2654 def testCannedCheckOwners_Approved(self): |
| 2653 response = { | 2655 response = { |
| 2654 "owner_email": "john@example.com", | 2656 "owner_email": "john@example.com", |
| 2655 "messages": [ | 2657 "messages": [ |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2888 owners_check=False) | 2890 owners_check=False) |
| 2889 self.assertEqual(2, len(results)) | 2891 self.assertEqual(2, len(results)) |
| 2890 self.assertEqual( | 2892 self.assertEqual( |
| 2891 'Found line ending with white spaces in:', results[0]._message) | 2893 'Found line ending with white spaces in:', results[0]._message) |
| 2892 self.checkstdout('') | 2894 self.checkstdout('') |
| 2893 | 2895 |
| 2894 | 2896 |
| 2895 if __name__ == '__main__': | 2897 if __name__ == '__main__': |
| 2896 import unittest | 2898 import unittest |
| 2897 unittest.main() | 2899 unittest.main() |
| OLD | NEW |