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

Side by Side Diff: tests/presubmit_unittest.py

Issue 7906009: Fix a typo that resulted in no tests to be run in depot_tools. :( (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: More Created 9 years, 3 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 | « tests/gclient_utils_test.py ('k') | tests/scm_unittest.py » ('j') | 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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 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 is too confused. 8 # pylint is too confused.
9 # pylint: disable=E1101,E1103,R0201,W0212,W0403 9 # pylint: disable=E1101,E1103,R0201,W0212,W0403
10 10
11 import logging
11 import StringIO 12 import StringIO
12 import sys 13 import sys
13 import time 14 import time
14 15
15 # Fixes include path. 16 # Fixes include path.
16 from super_mox import mox, SuperMoxTestBase 17 from super_mox import mox, SuperMoxTestBase
17 18
18 import owners 19 import owners
19 import presubmit_support as presubmit 20 import presubmit_support as presubmit
20 import rietveld 21 import rietveld
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 '\n'.join(description_lines), 572 '\n'.join(description_lines),
572 self.fake_root_dir, 573 self.fake_root_dir,
573 files, 574 files,
574 0, 575 0,
575 0, 576 0,
576 None) 577 None)
577 output = presubmit.DoPresubmitChecks( 578 output = presubmit.DoPresubmitChecks(
578 change, False, True, None, input_buf, DEFAULT_SCRIPT, False, None) 579 change, False, True, None, input_buf, DEFAULT_SCRIPT, False, None)
579 self.failIf(output.should_continue()) 580 self.failIf(output.should_continue())
580 text = ('Running presubmit upload checks ...\n' 581 text = ('Running presubmit upload checks ...\n'
581 'Warning, no presubmit.py found.\n' 582 'Warning, no PRESUBMIT.py found.\n'
582 'Running default presubmit script.\n' 583 'Running default presubmit script.\n'
583 '\n' 584 '\n'
584 '** Presubmit ERRORS **\n!!\n\n' 585 '** Presubmit ERRORS **\n!!\n\n'
585 'Was the presubmit check useful? Please send feedback & hate mail ' 586 'Was the presubmit check useful? Please send feedback & hate mail '
586 'to maruel@chromium.org!\n') 587 'to maruel@chromium.org!\n')
587 self.assertEquals(output.getvalue(), text) 588 self.assertEquals(output.getvalue(), text)
588 589
589 def testDirectoryHandling(self): 590 def testDirectoryHandling(self):
590 files = [ 591 files = [
591 ['A', 'isdir'], 592 ['A', 'isdir'],
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 'Blah Blah\n\nSTORY=http://tracker.com/42\nBUG=boo\n', 652 'Blah Blah\n\nSTORY=http://tracker.com/42\nBUG=boo\n',
652 self.fake_root_dir, 653 self.fake_root_dir,
653 None, 654 None,
654 0, 655 0,
655 0, 656 0,
656 None) 657 None)
657 self.failUnless(presubmit.DoPresubmitChecks( 658 self.failUnless(presubmit.DoPresubmitChecks(
658 change, False, True, output, input_buf, DEFAULT_SCRIPT, False, None)) 659 change, False, True, output, input_buf, DEFAULT_SCRIPT, False, None))
659 self.assertEquals(output.getvalue(), 660 self.assertEquals(output.getvalue(),
660 ('Running presubmit upload checks ...\n' 661 ('Running presubmit upload checks ...\n'
661 'Warning, no presubmit.py found.\n' 662 'Warning, no PRESUBMIT.py found.\n'
662 'Running default presubmit script.\n' 663 'Running default presubmit script.\n'
663 '\n' 664 '\n'
664 '** Presubmit Messages **\n' 665 '** Presubmit Messages **\n'
665 'http://tracker.com/42\n' 666 'http://tracker.com/42\n'
666 '\n' 667 '\n'
667 'Presubmit checks passed.\n')) 668 'Presubmit checks passed.\n'))
668 669
669 def testGetTrySlavesExecuter(self): 670 def testGetTrySlavesExecuter(self):
670 self.mox.ReplayAll() 671 self.mox.ReplayAll()
671 672
(...skipping 1215 matching lines...) Expand 10 before | Expand all | Expand 10 after
1887 def testRunPythonUnitTestsNoTest(self): 1888 def testRunPythonUnitTestsNoTest(self):
1888 input_api = self.MockInputApi(None, False) 1889 input_api = self.MockInputApi(None, False)
1889 self.mox.ReplayAll() 1890 self.mox.ReplayAll()
1890 results = presubmit_canned_checks.RunPythonUnitTests( 1891 results = presubmit_canned_checks.RunPythonUnitTests(
1891 input_api, presubmit.OutputApi, []) 1892 input_api, presubmit.OutputApi, [])
1892 self.assertEquals(results, []) 1893 self.assertEquals(results, [])
1893 1894
1894 def testRunPythonUnitTestsNonExistentUpload(self): 1895 def testRunPythonUnitTestsNonExistentUpload(self):
1895 input_api = self.MockInputApi(None, False) 1896 input_api = self.MockInputApi(None, False)
1896 input_api.subprocess.check_output( 1897 input_api.subprocess.check_output(
1897 ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None 1898 ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None,
1898 ).AndRaise( 1899 stderr=input_api.subprocess.STDOUT).AndRaise(
1899 input_api.subprocess.CalledProcessError()) 1900 input_api.subprocess.CalledProcessError())
1900 self.mox.ReplayAll() 1901 self.mox.ReplayAll()
1901 1902
1902 results = presubmit_canned_checks.RunPythonUnitTests( 1903 results = presubmit_canned_checks.RunPythonUnitTests(
1903 input_api, presubmit.OutputApi, ['_non_existent_module']) 1904 input_api, presubmit.OutputApi, ['_non_existent_module'])
1904 self.assertEquals(len(results), 1) 1905 self.assertEquals(len(results), 1)
1905 self.assertEquals(results[0].__class__, 1906 self.assertEquals(results[0].__class__,
1906 presubmit.OutputApi.PresubmitNotifyResult) 1907 presubmit.OutputApi.PresubmitNotifyResult)
1907 1908
1908 def testRunPythonUnitTestsNonExistentCommitting(self): 1909 def testRunPythonUnitTestsNonExistentCommitting(self):
1909 input_api = self.MockInputApi(None, True) 1910 input_api = self.MockInputApi(None, True)
1910 input_api.subprocess.check_output( 1911 input_api.subprocess.check_output(
1911 ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None 1912 ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None,
1912 ).AndRaise( 1913 stderr=input_api.subprocess.STDOUT).AndRaise(
1913 input_api.subprocess.CalledProcessError()) 1914 input_api.subprocess.CalledProcessError())
1914 self.mox.ReplayAll() 1915 self.mox.ReplayAll()
1915 1916
1916 results = presubmit_canned_checks.RunPythonUnitTests( 1917 results = presubmit_canned_checks.RunPythonUnitTests(
1917 input_api, presubmit.OutputApi, ['_non_existent_module']) 1918 input_api, presubmit.OutputApi, ['_non_existent_module'])
1918 self.assertEquals(len(results), 1) 1919 self.assertEquals(len(results), 1)
1919 self.assertEquals(results[0].__class__, presubmit.OutputApi.PresubmitError) 1920 self.assertEquals(results[0].__class__, presubmit.OutputApi.PresubmitError)
1920 1921
1921 def testRunPythonUnitTestsFailureUpload(self): 1922 def testRunPythonUnitTestsFailureUpload(self):
1922 input_api = self.MockInputApi(None, False) 1923 input_api = self.MockInputApi(None, False)
1923 input_api.unittest = self.mox.CreateMock(unittest) 1924 input_api.unittest = self.mox.CreateMock(unittest)
1924 input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO) 1925 input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO)
1925 input_api.subprocess.check_output( 1926 input_api.subprocess.check_output(
1926 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None).AndRaise( 1927 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None,
1928 stderr=input_api.subprocess.STDOUT).AndRaise(
1927 input_api.subprocess.CalledProcessError()) 1929 input_api.subprocess.CalledProcessError())
1928 self.mox.ReplayAll() 1930 self.mox.ReplayAll()
1929 1931
1930 results = presubmit_canned_checks.RunPythonUnitTests( 1932 results = presubmit_canned_checks.RunPythonUnitTests(
1931 input_api, presubmit.OutputApi, ['test_module']) 1933 input_api, presubmit.OutputApi, ['test_module'])
1932 self.assertEquals(len(results), 1) 1934 self.assertEquals(len(results), 1)
1933 self.assertEquals(results[0].__class__, 1935 self.assertEquals(results[0].__class__,
1934 presubmit.OutputApi.PresubmitNotifyResult) 1936 presubmit.OutputApi.PresubmitNotifyResult)
1935 self.assertEquals('test_module failed!\nfoo', results[0]._message) 1937 self.assertEquals('test_module failed!\nfoo', results[0]._message)
1936 1938
1937 def testRunPythonUnitTestsFailureCommitting(self): 1939 def testRunPythonUnitTestsFailureCommitting(self):
1938 input_api = self.MockInputApi(None, True) 1940 input_api = self.MockInputApi(None, True)
1939 input_api.subprocess.check_output( 1941 input_api.subprocess.check_output(
1940 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None).AndRaise( 1942 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None,
1943 stderr=input_api.subprocess.STDOUT).AndRaise(
1941 input_api.subprocess.CalledProcessError()) 1944 input_api.subprocess.CalledProcessError())
1942 self.mox.ReplayAll() 1945 self.mox.ReplayAll()
1943 1946
1944 results = presubmit_canned_checks.RunPythonUnitTests( 1947 results = presubmit_canned_checks.RunPythonUnitTests(
1945 input_api, presubmit.OutputApi, ['test_module']) 1948 input_api, presubmit.OutputApi, ['test_module'])
1946 self.assertEquals(len(results), 1) 1949 self.assertEquals(len(results), 1)
1947 self.assertEquals(results[0].__class__, presubmit.OutputApi.PresubmitError) 1950 self.assertEquals(results[0].__class__, presubmit.OutputApi.PresubmitError)
1948 self.assertEquals('test_module failed!\nfoo', results[0]._message) 1951 self.assertEquals('test_module failed!\nfoo', results[0]._message)
1949 1952
1950 def testRunPythonUnitTestsSuccess(self): 1953 def testRunPythonUnitTestsSuccess(self):
1951 input_api = self.MockInputApi(None, False) 1954 input_api = self.MockInputApi(None, False)
1952 input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO) 1955 input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO)
1953 input_api.unittest = self.mox.CreateMock(unittest) 1956 input_api.unittest = self.mox.CreateMock(unittest)
1954 input_api.subprocess.check_output( 1957 input_api.subprocess.check_output(
1955 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None) 1958 ['pyyyyython', '-m', 'test_module'], cwd=None, env=None,
1959 stderr=input_api.subprocess.STDOUT)
1956 self.mox.ReplayAll() 1960 self.mox.ReplayAll()
1957 1961
1958 results = presubmit_canned_checks.RunPythonUnitTests( 1962 results = presubmit_canned_checks.RunPythonUnitTests(
1959 input_api, presubmit.OutputApi, ['test_module']) 1963 input_api, presubmit.OutputApi, ['test_module'])
1960 self.assertEquals(len(results), 0) 1964 self.assertEquals(len(results), 0)
1961 1965
1962 def testCheckRietveldTryJobExecutionBad(self): 1966 def testCheckRietveldTryJobExecutionBad(self):
1963 change = self.mox.CreateMock(presubmit.SvnChange) 1967 change = self.mox.CreateMock(presubmit.SvnChange)
1964 change.scm = 'svn' 1968 change.scm = 'svn'
1965 change.issue = 2 1969 change.issue = 2
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
2163 self.assertEqual(1, len(results)) 2167 self.assertEqual(1, len(results))
2164 self.assertEqual( 2168 self.assertEqual(
2165 presubmit.OutputApi.PresubmitPromptWarning, results[0].__class__) 2169 presubmit.OutputApi.PresubmitPromptWarning, results[0].__class__)
2166 self.checkstdout('Running allo\nRunning bar.py\n') 2170 self.checkstdout('Running allo\nRunning bar.py\n')
2167 2171
2168 def testCannedRunUnitTestsInDirectory(self): 2172 def testCannedRunUnitTestsInDirectory(self):
2169 change = presubmit.Change( 2173 change = presubmit.Change(
2170 'foo1', 'description1', self.fake_root_dir, None, 0, 0, None) 2174 'foo1', 'description1', self.fake_root_dir, None, 0, 0, None)
2171 input_api = self.MockInputApi(change, False) 2175 input_api = self.MockInputApi(change, False)
2172 input_api.verbose = True 2176 input_api.verbose = True
2177 input_api.logging = self.mox.CreateMock(logging)
2173 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) 2178 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
2174 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) 2179 input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir)
2175 path = presubmit.os.path.join(self.fake_root_dir, 'random_directory') 2180 path = presubmit.os.path.join(self.fake_root_dir, 'random_directory')
2176 input_api.os_listdir(path).AndReturn(['.', '..', 'a', 'b', 'c']) 2181 input_api.os_listdir(path).AndReturn(['.', '..', 'a', 'b', 'c'])
2177 input_api.os_path.isfile = lambda x: not x.endswith('.') 2182 input_api.os_path.isfile = lambda x: not x.endswith('.')
2178 input_api.subprocess.check_call( 2183 input_api.subprocess.check_call(
2179 [presubmit.os.path.join('random_directory', 'b'), '--verbose'], 2184 [presubmit.os.path.join('random_directory', 'b'), '--verbose'],
2180 cwd=self.fake_root_dir) 2185 cwd=self.fake_root_dir)
2186 input_api.logging.debug('Found 5 files, running 1')
2181 2187
2182 self.mox.ReplayAll() 2188 self.mox.ReplayAll()
2183 results = presubmit_canned_checks.RunUnitTestsInDirectory( 2189 results = presubmit_canned_checks.RunUnitTestsInDirectory(
2184 input_api, 2190 input_api,
2185 presubmit.OutputApi, 2191 presubmit.OutputApi,
2186 'random_directory', 2192 'random_directory',
2187 whitelist=['^a$', '^b$'], 2193 whitelist=['^a$', '^b$'],
2188 blacklist=['a']) 2194 blacklist=['a'])
2189 self.assertEqual(results, []) 2195 self.assertEqual(results, [])
2190 self.checkstdout( 2196 self.checkstdout(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2225 owners_check=True) 2231 owners_check=True)
2226 self.assertEqual(1, len(results)) 2232 self.assertEqual(1, len(results))
2227 self.assertEqual( 2233 self.assertEqual(
2228 'Found line ending with white spaces in:', results[0]._message) 2234 'Found line ending with white spaces in:', results[0]._message)
2229 self.checkstdout('') 2235 self.checkstdout('')
2230 2236
2231 2237
2232 if __name__ == '__main__': 2238 if __name__ == '__main__':
2233 import unittest 2239 import unittest
2234 unittest.main() 2240 unittest.main()
OLDNEW
« no previous file with comments | « tests/gclient_utils_test.py ('k') | tests/scm_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698