| 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 logging | 10 import logging |
| (...skipping 1489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1500 'CheckChangeHasQaField', 'CheckChangeHasTestedField', | 1500 'CheckChangeHasQaField', 'CheckChangeHasTestedField', |
| 1501 'CheckChangeHasTestField', | 1501 'CheckChangeHasTestField', |
| 1502 'CheckChangeLintsClean', | 1502 'CheckChangeLintsClean', |
| 1503 'CheckChangeSvnEolStyle', | 1503 'CheckChangeSvnEolStyle', |
| 1504 'CheckChangeWasUploaded', | 1504 'CheckChangeWasUploaded', |
| 1505 'CheckDoNotSubmit', | 1505 'CheckDoNotSubmit', |
| 1506 'CheckDoNotSubmitInDescription', 'CheckDoNotSubmitInFiles', | 1506 'CheckDoNotSubmitInDescription', 'CheckDoNotSubmitInFiles', |
| 1507 'CheckLongLines', 'CheckTreeIsOpen', 'PanProjectChecks', | 1507 'CheckLongLines', 'CheckTreeIsOpen', 'PanProjectChecks', |
| 1508 'CheckLicense', | 1508 'CheckLicense', |
| 1509 'CheckOwners', | 1509 'CheckOwners', |
| 1510 'CheckIssueNotClosed', |
| 1510 'CheckRietveldTryJobExecution', | 1511 'CheckRietveldTryJobExecution', |
| 1511 'CheckSingletonInHeaders', | 1512 'CheckSingletonInHeaders', |
| 1512 'CheckSvnModifiedDirectories', | 1513 'CheckSvnModifiedDirectories', |
| 1513 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty', | 1514 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty', |
| 1514 'RunPythonUnitTests', 'RunPylint', | 1515 'RunPythonUnitTests', 'RunPylint', |
| 1515 'RunUnitTests', 'RunUnitTestsInDirectory', | 1516 'RunUnitTests', 'RunUnitTestsInDirectory', |
| 1516 ] | 1517 ] |
| 1517 # If this test fails, you should add the relevant test. | 1518 # If this test fails, you should add the relevant test. |
| 1518 self.compareMembers(presubmit_canned_checks, members) | 1519 self.compareMembers(presubmit_canned_checks, members) |
| 1519 | 1520 |
| (...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2246 "reviewers": reviewers | 2247 "reviewers": reviewers |
| 2247 } | 2248 } |
| 2248 | 2249 |
| 2249 if is_committing: | 2250 if is_committing: |
| 2250 people = approvers | 2251 people = approvers |
| 2251 else: | 2252 else: |
| 2252 people = reviewers | 2253 people = reviewers |
| 2253 | 2254 |
| 2254 if issue: | 2255 if issue: |
| 2255 input_api.rietveld.get_issue_properties( | 2256 input_api.rietveld.get_issue_properties( |
| 2256 int(input_api.change.issue), True).AndReturn(rietveld_response) | 2257 issue=int(input_api.change.issue), messages=True).AndReturn( |
| 2258 rietveld_response) |
| 2257 people.add(owner_email) | 2259 people.add(owner_email) |
| 2258 | 2260 |
| 2259 fake_db.directories_not_covered_by(set(['foo/xyz.cc']), | 2261 fake_db.directories_not_covered_by(set(['foo/xyz.cc']), |
| 2260 people).AndReturn(uncovered_dirs) | 2262 people).AndReturn(uncovered_dirs) |
| 2261 if not is_committing and uncovered_dirs: | 2263 if not is_committing and uncovered_dirs: |
| 2262 fake_db.reviewers_for(set(['foo/xyz.cc'])).AndReturn(owner_email) | 2264 fake_db.reviewers_for(set(['foo/xyz.cc'])).AndReturn(owner_email) |
| 2263 | 2265 |
| 2264 self.mox.ReplayAll() | 2266 self.mox.ReplayAll() |
| 2265 output = presubmit.PresubmitOutput() | 2267 output = presubmit.PresubmitOutput() |
| 2266 results = presubmit_canned_checks.CheckOwners(input_api, | 2268 results = presubmit_canned_checks.CheckOwners(input_api, |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2387 'directories:\n' | 2389 'directories:\n' |
| 2388 ' foo\n') | 2390 ' foo\n') |
| 2389 | 2391 |
| 2390 def testCannedCheckOwners_WithLGTMs(self): | 2392 def testCannedCheckOwners_WithLGTMs(self): |
| 2391 self.AssertOwnersWorks(approvers=set(['ben@example.com']), | 2393 self.AssertOwnersWorks(approvers=set(['ben@example.com']), |
| 2392 uncovered_dirs=set()) | 2394 uncovered_dirs=set()) |
| 2393 self.AssertOwnersWorks(approvers=set(['ben@example.com']), | 2395 self.AssertOwnersWorks(approvers=set(['ben@example.com']), |
| 2394 is_committing=False, | 2396 is_committing=False, |
| 2395 uncovered_dirs=set()) | 2397 uncovered_dirs=set()) |
| 2396 | 2398 |
| 2399 def CheckIssueClosedBase(self, closed): |
| 2400 input_api = self.MockInputApi( |
| 2401 presubmit.Change('', '', None, None, 1, 0, None), False) |
| 2402 input_api.rietveld.get_issue_properties( |
| 2403 issue=int(input_api.change.issue), messages=False).AndReturn( |
| 2404 {'closed': closed, 'issue': 1}) |
| 2405 self.mox.ReplayAll() |
| 2406 return presubmit_canned_checks.CheckIssueNotClosed( |
| 2407 input_api, presubmit.OutputApi) |
| 2408 |
| 2409 def testIssueOpen(self): |
| 2410 self.assertEqual([], self.CheckIssueClosedBase(False)) |
| 2411 |
| 2412 def testIssueClosed(self): |
| 2413 results = self.CheckIssueClosedBase(True) |
| 2414 self.assertEqual(len(results), 1) |
| 2415 self.assertTrue(results[0].fatal) |
| 2416 |
| 2397 def testCannedRunUnitTests(self): | 2417 def testCannedRunUnitTests(self): |
| 2398 change = presubmit.Change( | 2418 change = presubmit.Change( |
| 2399 'foo1', 'description1', self.fake_root_dir, None, 0, 0, None) | 2419 'foo1', 'description1', self.fake_root_dir, None, 0, 0, None) |
| 2400 input_api = self.MockInputApi(change, False) | 2420 input_api = self.MockInputApi(change, False) |
| 2401 input_api.verbose = True | 2421 input_api.verbose = True |
| 2402 unit_tests = ['allo', 'bar.py'] | 2422 unit_tests = ['allo', 'bar.py'] |
| 2403 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) | 2423 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) |
| 2404 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) | 2424 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) |
| 2405 input_api.subprocess.check_call( | 2425 input_api.subprocess.check_call( |
| 2406 ['allo', '--verbose'], cwd=self.fake_root_dir) | 2426 ['allo', '--verbose'], cwd=self.fake_root_dir) |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2484 owners_check=False) | 2504 owners_check=False) |
| 2485 self.assertEqual(1, len(results)) | 2505 self.assertEqual(1, len(results)) |
| 2486 self.assertEqual( | 2506 self.assertEqual( |
| 2487 'Found line ending with white spaces in:', results[0]._message) | 2507 'Found line ending with white spaces in:', results[0]._message) |
| 2488 self.checkstdout('') | 2508 self.checkstdout('') |
| 2489 | 2509 |
| 2490 | 2510 |
| 2491 if __name__ == '__main__': | 2511 if __name__ == '__main__': |
| 2492 import unittest | 2512 import unittest |
| 2493 unittest.main() | 2513 unittest.main() |
| OLD | NEW |