| 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 1869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1880 'CheckChangeWasUploaded', | 1880 'CheckChangeWasUploaded', |
| 1881 'CheckDoNotSubmit', | 1881 'CheckDoNotSubmit', |
| 1882 'CheckDoNotSubmitInDescription', 'CheckDoNotSubmitInFiles', | 1882 'CheckDoNotSubmitInDescription', 'CheckDoNotSubmitInFiles', |
| 1883 'CheckLongLines', 'CheckTreeIsOpen', 'PanProjectChecks', | 1883 'CheckLongLines', 'CheckTreeIsOpen', 'PanProjectChecks', |
| 1884 'CheckLicense', | 1884 'CheckLicense', |
| 1885 'CheckOwners', | 1885 'CheckOwners', |
| 1886 'CheckPatchFormatted', | 1886 'CheckPatchFormatted', |
| 1887 'CheckGNFormatted', | 1887 'CheckGNFormatted', |
| 1888 'CheckRietveldTryJobExecution', | 1888 'CheckRietveldTryJobExecution', |
| 1889 'CheckSingletonInHeaders', | 1889 'CheckSingletonInHeaders', |
| 1890 'CheckSvnModifiedDirectories', | |
| 1891 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty', | 1890 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty', |
| 1892 'RunPythonUnitTests', 'RunPylint', | 1891 'RunPythonUnitTests', 'RunPylint', |
| 1893 'RunUnitTests', 'RunUnitTestsInDirectory', | 1892 'RunUnitTests', 'RunUnitTestsInDirectory', |
| 1894 'GetPythonUnitTests', 'GetPylint', | 1893 'GetPythonUnitTests', 'GetPylint', |
| 1895 'GetUnitTests', 'GetUnitTestsInDirectory', 'GetUnitTestsRecursively', | 1894 'GetUnitTests', 'GetUnitTestsInDirectory', 'GetUnitTestsRecursively', |
| 1896 ] | 1895 ] |
| 1897 # If this test fails, you should add the relevant test. | 1896 # If this test fails, you should add the relevant test. |
| 1898 self.compareMembers(presubmit_canned_checks, members) | 1897 self.compareMembers(presubmit_canned_checks, members) |
| 1899 | 1898 |
| 1900 def DescriptionTest(self, check, description1, description2, error_type, | 1899 def DescriptionTest(self, check, description1, description2, error_type, |
| (...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2327 presubmit.OutputApi.PresubmitNotifyResult) | 2326 presubmit.OutputApi.PresubmitNotifyResult) |
| 2328 | 2327 |
| 2329 def testCheckLicenseEmptySuccess(self): | 2328 def testCheckLicenseEmptySuccess(self): |
| 2330 text = '' | 2329 text = '' |
| 2331 license_text = ( | 2330 license_text = ( |
| 2332 r".*? Copyright \(c\) 2037 Nobody." "\n" | 2331 r".*? Copyright \(c\) 2037 Nobody." "\n" |
| 2333 r".*? All Rights Reserved\." "\n" | 2332 r".*? All Rights Reserved\." "\n" |
| 2334 ) | 2333 ) |
| 2335 self._LicenseCheck(text, license_text, True, None, accept_empty_files=True) | 2334 self._LicenseCheck(text, license_text, True, None, accept_empty_files=True) |
| 2336 | 2335 |
| 2337 def testCannedCheckSvnAccidentalSubmission(self): | |
| 2338 modified_dir_file = 'foo/' | |
| 2339 accidental_submssion_file = 'foo/bar.cc' | |
| 2340 | |
| 2341 change = self.mox.CreateMock(presubmit.SvnChange) | |
| 2342 change.scm = 'svn' | |
| 2343 change.GetModifiedFiles().AndReturn([modified_dir_file]) | |
| 2344 change.GetAllModifiedFiles().AndReturn([modified_dir_file, | |
| 2345 accidental_submssion_file]) | |
| 2346 input_api = self.MockInputApi(change, True) | |
| 2347 | |
| 2348 affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile) | |
| 2349 affected_file.Action().AndReturn('M') | |
| 2350 affected_file.IsDirectory().AndReturn(True) | |
| 2351 affected_file.AbsoluteLocalPath().AndReturn(accidental_submssion_file) | |
| 2352 affected_file.LocalPath().AndReturn(accidental_submssion_file) | |
| 2353 input_api.AffectedFiles(file_filter=None).AndReturn([affected_file]) | |
| 2354 | |
| 2355 self.mox.ReplayAll() | |
| 2356 | |
| 2357 check = presubmit_canned_checks.CheckSvnModifiedDirectories | |
| 2358 results = check(input_api, presubmit.OutputApi, None) | |
| 2359 self.assertEquals(len(results), 1) | |
| 2360 self.assertEquals(results[0].__class__, | |
| 2361 presubmit.OutputApi.PresubmitPromptWarning) | |
| 2362 | |
| 2363 def testCheckSvnForCommonMimeTypes(self): | 2336 def testCheckSvnForCommonMimeTypes(self): |
| 2364 self.mox.StubOutWithMock(presubmit_canned_checks, 'CheckSvnProperty') | 2337 self.mox.StubOutWithMock(presubmit_canned_checks, 'CheckSvnProperty') |
| 2365 input_api = self.MockInputApi(None, False) | 2338 input_api = self.MockInputApi(None, False) |
| 2366 output_api = presubmit.OutputApi(False) | 2339 output_api = presubmit.OutputApi(False) |
| 2367 A = lambda x: presubmit.AffectedFile(x, 'M', self.fake_root_dir, None) | 2340 A = lambda x: presubmit.AffectedFile(x, 'M', self.fake_root_dir, None) |
| 2368 files = [ | 2341 files = [ |
| 2369 A('a.pdf'), A('b.bmp'), A('c.gif'), A('d.png'), A('e.jpg'), A('f.jpe'), | 2342 A('a.pdf'), A('b.bmp'), A('c.gif'), A('d.png'), A('e.jpg'), A('f.jpe'), |
| 2370 A('random'), A('g.jpeg'), A('h.ico'), | 2343 A('random'), A('g.jpeg'), A('h.ico'), |
| 2371 ] | 2344 ] |
| 2372 input_api.AffectedFiles(include_deletes=False).AndReturn(files) | 2345 input_api.AffectedFiles(include_deletes=False).AndReturn(files) |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2907 owners_check=False) | 2880 owners_check=False) |
| 2908 self.assertEqual(1, len(results)) | 2881 self.assertEqual(1, len(results)) |
| 2909 self.assertEqual( | 2882 self.assertEqual( |
| 2910 'Found line ending with white spaces in:', results[0]._message) | 2883 'Found line ending with white spaces in:', results[0]._message) |
| 2911 self.checkstdout('') | 2884 self.checkstdout('') |
| 2912 | 2885 |
| 2913 | 2886 |
| 2914 if __name__ == '__main__': | 2887 if __name__ == '__main__': |
| 2915 import unittest | 2888 import unittest |
| 2916 unittest.main() | 2889 unittest.main() |
| OLD | NEW |