| Index: tests/presubmit_unittest.py
|
| diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py
|
| index f11fe22c49c4b6da7ac9041b05d8e39520dee9fe..3579f588f03f2337468a0be7de4e3796cf94e953 100755
|
| --- a/tests/presubmit_unittest.py
|
| +++ b/tests/presubmit_unittest.py
|
| @@ -139,10 +139,10 @@ class PresubmitUnittest(PresubmitTestsBase):
|
| 'AffectedFile', 'Change', 'DoGetTrySlaves', 'DoPresubmitChecks',
|
| 'GetTrySlavesExecuter', 'GitAffectedFile',
|
| 'GitChange', 'InputApi', 'ListRelevantPresubmitFiles', 'Main',
|
| - 'NotImplementedException', 'OutputApi', 'ParseFiles',
|
| + 'OutputApi', 'ParseFiles', 'PresubmitFailure',
|
| 'PresubmitExecuter', 'PresubmitOutput', 'ScanSubDirs',
|
| 'SvnAffectedFile', 'SvnChange', 'cPickle', 'cStringIO',
|
| - 'exceptions', 'fix_encoding', 'fnmatch', 'gclient_utils', 'glob', 'json',
|
| + 'fix_encoding', 'fnmatch', 'gclient_utils', 'glob', 'json',
|
| 'load_files',
|
| 'logging', 'marshal', 'normpath', 'optparse', 'os', 'owners', 'pickle',
|
| 'presubmit_canned_checks', 'random', 're', 'scm', 'subprocess',
|
| @@ -345,7 +345,7 @@ class PresubmitUnittest(PresubmitTestsBase):
|
|
|
| change = presubmit.Change('mychange', '\n'.join(description_lines),
|
| self.fake_root_dir, files, 0, 0)
|
| - executer = presubmit.PresubmitExecuter(change, False, False, None)
|
| + executer = presubmit.PresubmitExecuter(change, False, False, None, False)
|
| self.failIf(executer.ExecPresubmitScript('', fake_presubmit))
|
| # No error if no on-upload entry point
|
| self.failIf(executer.ExecPresubmitScript(
|
| @@ -354,7 +354,7 @@ class PresubmitUnittest(PresubmitTestsBase):
|
| fake_presubmit
|
| ))
|
|
|
| - executer = presubmit.PresubmitExecuter(change, True, False, None)
|
| + executer = presubmit.PresubmitExecuter(change, True, False, None, False)
|
| # No error if no on-commit entry point
|
| self.failIf(executer.ExecPresubmitScript(
|
| ('def CheckChangeOnUpload(input_api, output_api):\n'
|
| @@ -380,13 +380,13 @@ class PresubmitUnittest(PresubmitTestsBase):
|
| fake_presubmit
|
| ))
|
|
|
| - self.assertRaises(presubmit.exceptions.RuntimeError,
|
| + self.assertRaises(presubmit.PresubmitFailure,
|
| executer.ExecPresubmitScript,
|
| 'def CheckChangeOnCommit(input_api, output_api):\n'
|
| ' return "foo"',
|
| fake_presubmit)
|
|
|
| - self.assertRaises(presubmit.exceptions.RuntimeError,
|
| + self.assertRaises(presubmit.PresubmitFailure,
|
| executer.ExecPresubmitScript,
|
| 'def CheckChangeOnCommit(input_api, output_api):\n'
|
| ' return ["foo"]',
|
| @@ -618,26 +618,27 @@ def CheckChangeOnCommit(input_api, output_api):
|
| self.mox.ReplayAll()
|
|
|
| executer = presubmit.GetTrySlavesExecuter()
|
| - self.assertEqual([], executer.ExecPresubmitScript(''))
|
| - self.assertEqual([], executer.ExecPresubmitScript('def foo():\n return\n'))
|
| + self.assertEqual([], executer.ExecPresubmitScript('', ''))
|
| + self.assertEqual(
|
| + [], executer.ExecPresubmitScript('def foo():\n return\n', ''))
|
|
|
| # bad results
|
| starts_with_space_result = [' starts_with_space']
|
| not_list_result1 = "'foo'"
|
| not_list_result2 = "('a', 'tuple')"
|
| for result in starts_with_space_result, not_list_result1, not_list_result2:
|
| - self.assertRaises(presubmit.exceptions.RuntimeError,
|
| + self.assertRaises(presubmit.PresubmitFailure,
|
| executer.ExecPresubmitScript,
|
| - self.presubmit_tryslave % result)
|
| + self.presubmit_tryslave % result, '')
|
|
|
| # good results
|
| expected_result = ['1', '2', '3']
|
| empty_result = []
|
| space_in_name_result = ['foo bar', '1\t2 3']
|
| for result in expected_result, empty_result, space_in_name_result:
|
| - self.assertEqual(result,
|
| - executer.ExecPresubmitScript(self.presubmit_tryslave %
|
| - str(result)))
|
| + self.assertEqual(
|
| + result,
|
| + executer.ExecPresubmitScript(self.presubmit_tryslave % result, ''))
|
|
|
| def testDoGetTrySlaves(self):
|
| join = presubmit.os.path.join
|
| @@ -730,12 +731,12 @@ class InputApiUnittest(PresubmitTestsBase):
|
| 'host_url', 'is_committing', 'json', 'marshal', 'os_listdir', 'os_walk',
|
| 'os_path', 'owners_db', 'pickle', 'platform', 'python_executable', 're',
|
| 'subprocess', 'tbr', 'tempfile', 'time', 'traceback', 'unittest',
|
| - 'urllib2', 'version',
|
| + 'urllib2', 'version', 'verbose',
|
| ]
|
| # If this test fails, you should add the relevant test.
|
| - self.compareMembers(presubmit.InputApi(self.fake_change, './.', False,
|
| - False, None),
|
| - members)
|
| + self.compareMembers(
|
| + presubmit.InputApi(self.fake_change, './.', False, False, None, False),
|
| + members)
|
|
|
| def testDepotToLocalPath(self):
|
| presubmit.scm.SVN.CaptureInfo('svn://foo/smurf').AndReturn(
|
| @@ -743,29 +744,34 @@ class InputApiUnittest(PresubmitTestsBase):
|
| presubmit.scm.SVN.CaptureInfo('svn:/foo/notfound/burp').AndReturn({})
|
| self.mox.ReplayAll()
|
|
|
| - path = presubmit.InputApi(self.fake_change, './p', False, False,
|
| - None).DepotToLocalPath('svn://foo/smurf')
|
| + path = presubmit.InputApi(
|
| + self.fake_change, './p', False, False, None, False).DepotToLocalPath(
|
| + 'svn://foo/smurf')
|
| self.failUnless(path == 'prout')
|
| - path = presubmit.InputApi(self.fake_change, './p', False, False,
|
| - None).DepotToLocalPath('svn:/foo/notfound/burp')
|
| + path = presubmit.InputApi(
|
| + self.fake_change, './p', False, False, None, False).DepotToLocalPath(
|
| + 'svn:/foo/notfound/burp')
|
| self.failUnless(path == None)
|
|
|
| def testLocalToDepotPath(self):
|
| presubmit.scm.SVN.CaptureInfo('smurf').AndReturn({'URL': 'svn://foo'})
|
| presubmit.scm.SVN.CaptureInfo('notfound-food').AndReturn({})
|
| self.mox.ReplayAll()
|
| - path = presubmit.InputApi(self.fake_change, './p', False, False,
|
| - None).LocalToDepotPath('smurf')
|
| + path = presubmit.InputApi(
|
| + self.fake_change, './p', False, False, None, False).LocalToDepotPath(
|
| + 'smurf')
|
| self.assertEqual(path, 'svn://foo')
|
| - path = presubmit.InputApi(self.fake_change, './p', False, False,
|
| - None).LocalToDepotPath('notfound-food')
|
| - self.failUnless(path == None)
|
| + path = presubmit.InputApi(
|
| + self.fake_change, './p', False, False, None, False).LocalToDepotPath(
|
| + 'notfound-food')
|
| + self.assertEquals(path, None)
|
|
|
| def testInputApiConstruction(self):
|
| self.mox.ReplayAll()
|
| - api = presubmit.InputApi(self.fake_change,
|
| - presubmit_path='foo/path/PRESUBMIT.py',
|
| - is_committing=False, tbr=False, host_url=None)
|
| + api = presubmit.InputApi(
|
| + self.fake_change,
|
| + presubmit_path='foo/path/PRESUBMIT.py',
|
| + is_committing=False, tbr=False, host_url=None, verbose=False)
|
| self.assertEquals(api.PresubmitLocalPath(), 'foo/path')
|
| self.assertEquals(api.change, self.fake_change)
|
| self.assertEquals(api.host_url, 'http://codereview.chromium.org')
|
| @@ -821,10 +827,10 @@ class InputApiUnittest(PresubmitTestsBase):
|
|
|
| change = presubmit.SvnChange('mychange', '\n'.join(description_lines),
|
| self.fake_root_dir, files, 0, 0)
|
| - input_api = presubmit.InputApi(change,
|
| - join(self.fake_root_dir, 'foo',
|
| - 'PRESUBMIT.py'),
|
| - False, False, None)
|
| + input_api = presubmit.InputApi(
|
| + change,
|
| + join(self.fake_root_dir, 'foo', 'PRESUBMIT.py'),
|
| + False, False, None, False)
|
| # Doesn't filter much
|
| got_files = input_api.AffectedFiles()
|
| self.assertEquals(len(got_files), 7)
|
| @@ -909,8 +915,9 @@ class InputApiUnittest(PresubmitTestsBase):
|
| ],
|
| ),
|
| ]
|
| - input_api = presubmit.InputApi(self.fake_change, './PRESUBMIT.py', False,
|
| - False, None)
|
| + input_api = presubmit.InputApi(
|
| + self.fake_change, './PRESUBMIT.py', False,
|
| + False, None, False)
|
| self.mox.ReplayAll()
|
|
|
| self.assertEqual(len(input_api.DEFAULT_WHITE_LIST), 22)
|
| @@ -938,10 +945,10 @@ class InputApiUnittest(PresubmitTestsBase):
|
|
|
| change = presubmit.SvnChange('mychange', '', self.fake_root_dir, files, 0,
|
| 0)
|
| - input_api = presubmit.InputApi(change,
|
| - presubmit.os.path.join(self.fake_root_dir,
|
| - 'PRESUBMIT.py'),
|
| - False, False, None)
|
| + input_api = presubmit.InputApi(
|
| + change,
|
| + presubmit.os.path.join(self.fake_root_dir, 'PRESUBMIT.py'),
|
| + False, False, None, False)
|
| got_files = input_api.AffectedSourceFiles(FilterSourceFile)
|
| self.assertEquals(len(got_files), 2)
|
| self.assertEquals(got_files[0].LocalPath(), 'eeaee')
|
| @@ -960,8 +967,8 @@ class InputApiUnittest(PresubmitTestsBase):
|
|
|
| change = presubmit.SvnChange('mychange', '', self.fake_root_dir, files, 0,
|
| 0)
|
| - input_api = presubmit.InputApi(change, './PRESUBMIT.py', False,
|
| - False, None)
|
| + input_api = presubmit.InputApi(
|
| + change, './PRESUBMIT.py', False, False, None, False)
|
| # Sample usage of overiding the default white and black lists.
|
| got_files = input_api.AffectedSourceFiles(
|
| lambda x: input_api.FilterSourceFile(x, white_list, black_list))
|
| @@ -999,9 +1006,9 @@ class InputApiUnittest(PresubmitTestsBase):
|
| paths_from_change = change.AbsoluteLocalPaths(include_dirs=True)
|
| self.assertEqual(len(paths_from_change), 3)
|
| presubmit_path = join(self.fake_root_dir, 'isdir', 'PRESUBMIT.py')
|
| - api = presubmit.InputApi(change=change,
|
| - presubmit_path=presubmit_path,
|
| - is_committing=True, tbr=False, host_url=None)
|
| + api = presubmit.InputApi(
|
| + change=change, presubmit_path=presubmit_path,
|
| + is_committing=True, tbr=False, host_url=None, verbose=False)
|
| paths_from_api = api.AbsoluteLocalPaths(include_dirs=True)
|
| self.assertEqual(len(paths_from_api), 2)
|
| for absolute_paths in [paths_from_change, paths_from_api]:
|
| @@ -1018,7 +1025,7 @@ class InputApiUnittest(PresubmitTestsBase):
|
| api = presubmit.InputApi(
|
| change,
|
| presubmit.os.path.join(self.fake_root_dir, 'foo', 'PRESUBMIT.py'), True,
|
| - False, None)
|
| + False, None, False)
|
| api.AffectedTextFiles(include_deletes=False)
|
|
|
| def testReadFileStringDenied(self):
|
| @@ -1028,7 +1035,7 @@ class InputApiUnittest(PresubmitTestsBase):
|
| 0, 0)
|
| input_api = presubmit.InputApi(
|
| change, presubmit.os.path.join(self.fake_root_dir, '/p'), False,
|
| - False, None)
|
| + False, None, False)
|
| self.assertRaises(IOError, input_api.ReadFile, 'boo', 'x')
|
|
|
| def testReadFileStringAccepted(self):
|
| @@ -1040,7 +1047,7 @@ class InputApiUnittest(PresubmitTestsBase):
|
| 0, 0)
|
| input_api = presubmit.InputApi(
|
| change, presubmit.os.path.join(self.fake_root_dir, '/p'), False,
|
| - False, None)
|
| + False, None, False)
|
| input_api.ReadFile(path, 'x')
|
|
|
| def testReadFileAffectedFileDenied(self):
|
| @@ -1051,7 +1058,7 @@ class InputApiUnittest(PresubmitTestsBase):
|
| 0, 0)
|
| input_api = presubmit.InputApi(
|
| change, presubmit.os.path.join(self.fake_root_dir, '/p'), False,
|
| - False, None)
|
| + False, None, False)
|
| self.assertRaises(IOError, input_api.ReadFile, fileobj, 'x')
|
|
|
| def testReadFileAffectedFileAccepted(self):
|
| @@ -1064,7 +1071,7 @@ class InputApiUnittest(PresubmitTestsBase):
|
| 0, 0)
|
| input_api = presubmit.InputApi(
|
| change, presubmit.os.path.join(self.fake_root_dir, '/p'), False,
|
| - False, None)
|
| + False, None, False)
|
| input_api.ReadFile(fileobj, 'x')
|
|
|
|
|
| @@ -2001,6 +2008,7 @@ mac|success|blew
|
| change = presubmit.Change(
|
| 'foo1', 'description1', self.fake_root_dir, None, 0, 0)
|
| input_api = self.MockInputApi(change, False)
|
| + input_api.verbose = True
|
| unit_tests = ['allo', 'bar.py']
|
| input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
|
| input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
|
| @@ -2017,8 +2025,7 @@ mac|success|blew
|
| results = presubmit_canned_checks.RunUnitTests(
|
| input_api,
|
| presubmit.OutputApi,
|
| - unit_tests,
|
| - verbose=True)
|
| + unit_tests)
|
| self.assertEqual(1, len(results))
|
| self.assertEqual(
|
| presubmit.OutputApi.PresubmitPromptWarning, results[0].__class__)
|
| @@ -2028,6 +2035,7 @@ mac|success|blew
|
| change = presubmit.Change(
|
| 'foo1', 'description1', self.fake_root_dir, None, 0, 0)
|
| input_api = self.MockInputApi(change, False)
|
| + input_api.verbose = True
|
| input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
|
| input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
|
| path = presubmit.os.path.join(self.fake_root_dir, 'random_directory')
|
| @@ -2043,8 +2051,7 @@ mac|success|blew
|
| presubmit.OutputApi,
|
| 'random_directory',
|
| whitelist=['^a$', '^b$'],
|
| - blacklist=['a'],
|
| - verbose=True)
|
| + blacklist=['a'])
|
| self.assertEqual(results, [])
|
| self.checkstdout(
|
| 'Running %s\n' % presubmit.os.path.join('random_directory', 'b'))
|
|
|