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

Side by Side Diff: tests/presubmit_unittest.py

Issue 3107038: Adding json based tree open check. (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 10 years, 4 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « presubmit_canned_checks.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 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 import StringIO 8 import StringIO
9 9
10 # Fixes include path. 10 # Fixes include path.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 self.mox.ReplayAll() 64 self.mox.ReplayAll()
65 members = [ 65 members = [
66 'AffectedFile', 'Change', 'DoGetTrySlaves', 'DoPresubmitChecks', 66 'AffectedFile', 'Change', 'DoGetTrySlaves', 'DoPresubmitChecks',
67 'GetTrySlavesExecuter', 'GitAffectedFile', 'GitChange', 67 'GetTrySlavesExecuter', 'GitAffectedFile', 'GitChange',
68 'InputApi', 'ListRelevantPresubmitFiles', 'Main', 68 'InputApi', 'ListRelevantPresubmitFiles', 'Main',
69 'NotImplementedException', 'OutputApi', 'ParseFiles', 69 'NotImplementedException', 'OutputApi', 'ParseFiles',
70 'PresubmitExecuter', 'PromptYesNo', 'ScanSubDirs', 70 'PresubmitExecuter', 'PromptYesNo', 'ScanSubDirs',
71 'SvnAffectedFile', 'SvnChange', 'cPickle', 'cStringIO', 71 'SvnAffectedFile', 'SvnChange', 'cPickle', 'cStringIO',
72 'exceptions', 'fnmatch', 'gcl', 'gclient_utils', 'glob', 'json', 72 'exceptions', 'fnmatch', 'gcl', 'gclient_utils', 'glob', 'json',
73 'logging', 'marshal', 'normpath', 'optparse', 'os', 'pickle', 73 'logging', 'marshal', 'normpath', 'optparse', 'os', 'pickle',
74 'presubmit_canned_checks', 'random', 're', 'scm', 'subprocess', 'sys', 74 'presubmit_canned_checks', 'random', 're', 'scm', 'subprocess',
75 'tempfile', 'time', 'traceback', 'types', 'unittest', 'urllib2', 75 'sys', 'tempfile', 'time', 'traceback', 'types', 'unittest', 'urllib2',
76 'warnings', 76 'warnings',
77 ] 77 ]
78 # If this test fails, you should add the relevant test. 78 # If this test fails, you should add the relevant test.
79 self.compareMembers(presubmit, members) 79 self.compareMembers(presubmit, members)
80 80
81 def testListRelevantPresubmitFiles(self): 81 def testListRelevantPresubmitFiles(self):
82 join = presubmit.os.path.join 82 join = presubmit.os.path.join
83 files = [ 83 files = [
84 'blat.cc', 84 'blat.cc',
85 join('foo', 'haspresubmit', 'yodle', 'smart.h'), 85 join('foo', 'haspresubmit', 'yodle', 'smart.h'),
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 self.mox.ReplayAll() 609 self.mox.ReplayAll()
610 members = [ 610 members = [
611 'AbsoluteLocalPaths', 'AffectedFiles', 'AffectedSourceFiles', 611 'AbsoluteLocalPaths', 'AffectedFiles', 'AffectedSourceFiles',
612 'AffectedTextFiles', 612 'AffectedTextFiles',
613 'DEFAULT_BLACK_LIST', 'DEFAULT_WHITE_LIST', 613 'DEFAULT_BLACK_LIST', 'DEFAULT_WHITE_LIST',
614 'DepotToLocalPath', 'FilterSourceFile', 'LocalPaths', 614 'DepotToLocalPath', 'FilterSourceFile', 'LocalPaths',
615 'LocalToDepotPath', 615 'LocalToDepotPath',
616 'PresubmitLocalPath', 'ReadFile', 'RightHandSideLines', 'ServerPaths', 616 'PresubmitLocalPath', 'ReadFile', 'RightHandSideLines', 'ServerPaths',
617 'basename', 'cPickle', 'cStringIO', 'canned_checks', 'change', 'environ', 617 'basename', 'cPickle', 'cStringIO', 'canned_checks', 'change', 'environ',
618 'is_committing', 'json', 'marshal', 'os_path', 'pickle', 'platform', 618 'is_committing', 'json', 'marshal', 'os_path', 'pickle', 'platform',
619 'python_executable', 619 'python_executable', 're', 'subprocess', 'tempfile', 'traceback',
620 're', 'subprocess', 'tempfile', 'traceback', 'unittest', 'urllib2', 620 'unittest', 'urllib2', 'version',
621 'version',
622 ] 621 ]
623 # If this test fails, you should add the relevant test. 622 # If this test fails, you should add the relevant test.
624 self.compareMembers(presubmit.InputApi(None, './.', False), members) 623 self.compareMembers(presubmit.InputApi(None, './.', False), members)
625 624
626 def testDepotToLocalPath(self): 625 def testDepotToLocalPath(self):
627 presubmit.scm.SVN.CaptureInfo('svn://foo/smurf').AndReturn( 626 presubmit.scm.SVN.CaptureInfo('svn://foo/smurf').AndReturn(
628 {'Path': 'prout'}) 627 {'Path': 'prout'})
629 presubmit.scm.SVN.CaptureInfo('svn:/foo/notfound/burp').AndReturn({}) 628 presubmit.scm.SVN.CaptureInfo('svn:/foo/notfound/burp').AndReturn({})
630 self.mox.ReplayAll() 629 self.mox.ReplayAll()
631 630
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
1500 self.mox.ReplayAll() 1499 self.mox.ReplayAll()
1501 1500
1502 results = presubmit_canned_checks.CheckSvnForCommonMimeTypes( 1501 results = presubmit_canned_checks.CheckSvnForCommonMimeTypes(
1503 input_api, output_api) 1502 input_api, output_api)
1504 self.assertEquals(results, [1, 2, 3, 4, 5, 6]) 1503 self.assertEquals(results, [1, 2, 3, 4, 5, 6])
1505 1504
1506 def testCannedCheckTreeIsOpenOpen(self): 1505 def testCannedCheckTreeIsOpenOpen(self):
1507 input_api = self.MockInputApi(None, True) 1506 input_api = self.MockInputApi(None, True)
1508 connection = self.mox.CreateMockAnything() 1507 connection = self.mox.CreateMockAnything()
1509 input_api.urllib2.urlopen('url_to_open').AndReturn(connection) 1508 input_api.urllib2.urlopen('url_to_open').AndReturn(connection)
1510 connection.read().AndReturn('1') 1509 connection.read().AndReturn('The tree is open')
1511 connection.close() 1510 connection.close()
1512 self.mox.ReplayAll() 1511 self.mox.ReplayAll()
1513 results = presubmit_canned_checks.CheckTreeIsOpen( 1512 results = presubmit_canned_checks.CheckTreeIsOpen(
1514 input_api, presubmit.OutputApi, url='url_to_open', closed='0') 1513 input_api, presubmit.OutputApi, url='url_to_open', closed='.*closed.*')
1515 self.assertEquals(results, []) 1514 self.assertEquals(results, [])
1516 1515
1517 def testCannedCheckTreeIsOpenClosed(self): 1516 def testCannedCheckTreeIsOpenClosed(self):
1518 input_api = self.MockInputApi(None, True) 1517 input_api = self.MockInputApi(None, True)
1519 connection = self.mox.CreateMockAnything() 1518 connection = self.mox.CreateMockAnything()
1520 input_api.urllib2.urlopen('url_to_closed').AndReturn(connection) 1519 input_api.urllib2.urlopen('url_to_closed').AndReturn(connection)
1521 connection.read().AndReturn('0') 1520 connection.read().AndReturn('Tree is closed for maintenance')
1522 connection.close() 1521 connection.close()
1523 self.mox.ReplayAll() 1522 self.mox.ReplayAll()
1524 results = presubmit_canned_checks.CheckTreeIsOpen( 1523 results = presubmit_canned_checks.CheckTreeIsOpen(
1525 input_api, presubmit.OutputApi, url='url_to_closed', closed='0') 1524 input_api, presubmit.OutputApi,
1525 url='url_to_closed', closed='.*closed.*')
1526 self.assertEquals(len(results), 1)
1527 self.assertEquals(results[0].__class__,
1528 presubmit.OutputApi.PresubmitError)
1529
1530 def testCannedCheckJsonTreeIsOpenOpen(self):
1531 input_api = self.MockInputApi(None, True)
1532 input_api.json = presubmit.json
1533 connection = self.mox.CreateMockAnything()
1534 input_api.urllib2.urlopen('url_to_open').AndReturn(connection)
1535 status = {
1536 'can_commit_freely': True,
1537 'general_state': 'open',
1538 'message': 'The tree is open'
1539 }
1540 connection.read().AndReturn(input_api.json.dumps(status))
1541 connection.close()
1542 self.mox.ReplayAll()
1543 results = presubmit_canned_checks.CheckTreeIsOpen(
1544 input_api, presubmit.OutputApi, json_url='url_to_open')
1545 self.assertEquals(results, [])
1546
1547 def testCannedCheckJsonTreeIsOpenClosed(self):
1548 input_api = self.MockInputApi(None, True)
1549 input_api.json = presubmit.json
1550 connection = self.mox.CreateMockAnything()
1551 input_api.urllib2.urlopen('url_to_closed').AndReturn(connection)
1552 status = {
1553 'can_commit_freely': False,
1554 'general_state': 'closed',
1555 'message': 'The tree is close',
1556 }
1557 connection.read().AndReturn(input_api.json.dumps(status))
1558 connection.close()
1559 self.mox.ReplayAll()
1560 results = presubmit_canned_checks.CheckTreeIsOpen(
1561 input_api, presubmit.OutputApi, json_url='url_to_closed')
1526 self.assertEquals(len(results), 1) 1562 self.assertEquals(len(results), 1)
1527 self.assertEquals(results[0].__class__, 1563 self.assertEquals(results[0].__class__,
1528 presubmit.OutputApi.PresubmitError) 1564 presubmit.OutputApi.PresubmitError)
1529 1565
1530 def testRunPythonUnitTestsNoTest(self): 1566 def testRunPythonUnitTestsNoTest(self):
1531 input_api = self.MockInputApi(None, False) 1567 input_api = self.MockInputApi(None, False)
1532 self.mox.ReplayAll() 1568 self.mox.ReplayAll()
1533 results = presubmit_canned_checks.RunPythonUnitTests( 1569 results = presubmit_canned_checks.RunPythonUnitTests(
1534 input_api, presubmit.OutputApi, []) 1570 input_api, presubmit.OutputApi, [])
1535 self.assertEquals(results, []) 1571 self.assertEquals(results, [])
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1698 results = presubmit_canned_checks.CheckBuildbotPendingBuilds( 1734 results = presubmit_canned_checks.CheckBuildbotPendingBuilds(
1699 input_api, presubmit.OutputApi, 'uurl', 2, ('foo')) 1735 input_api, presubmit.OutputApi, 'uurl', 2, ('foo'))
1700 self.assertEquals(len(results), 1) 1736 self.assertEquals(len(results), 1)
1701 self.assertEquals(results[0].__class__, 1737 self.assertEquals(results[0].__class__,
1702 presubmit.OutputApi.PresubmitNotifyResult) 1738 presubmit.OutputApi.PresubmitNotifyResult)
1703 1739
1704 1740
1705 if __name__ == '__main__': 1741 if __name__ == '__main__':
1706 import unittest 1742 import unittest
1707 unittest.main() 1743 unittest.main()
OLDNEW
« no previous file with comments | « presubmit_canned_checks.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698