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

Side by Side Diff: tests/presubmit_unittest.py

Issue 2814017: Makefiles will always contain tabs so make the notab check filter them out. (Closed)
Patch Set: Use basename() instead Created 10 years, 6 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
« 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 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 results2 = check(input_api2, presubmit.OutputApi) 1154 results2 = check(input_api2, presubmit.OutputApi)
1155 self.assertEquals(len(results2), 1) 1155 self.assertEquals(len(results2), 1)
1156 self.assertEquals(results2[0].__class__, error_type) 1156 self.assertEquals(results2[0].__class__, error_type)
1157 1157
1158 def ContentTest(self, check, content1, content2, error_type): 1158 def ContentTest(self, check, content1, content2, error_type):
1159 change1 = presubmit.Change('foo1', 'foo1\n', self.fake_root_dir, None, 1159 change1 = presubmit.Change('foo1', 'foo1\n', self.fake_root_dir, None,
1160 0, 0) 1160 0, 0)
1161 input_api1 = self.MockInputApi(change1, False) 1161 input_api1 = self.MockInputApi(change1, False)
1162 affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile) 1162 affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile)
1163 affected_file.LocalPath().AndReturn('foo.cc') 1163 affected_file.LocalPath().AndReturn('foo.cc')
1164 # Format is (file, line number, line content)
1164 output1 = [ 1165 output1 = [
1165 (affected_file, 42, 'yo, ' + content1), 1166 (affected_file, 42, 'yo, ' + content1),
1166 (affected_file, 43, 'yer'), 1167 (affected_file, 43, 'yer'),
1167 (affected_file, 23, 'ya'), 1168 (affected_file, 23, 'ya'),
1168 ] 1169 ]
1169 input_api1.RightHandSideLines(mox.IgnoreArg()).AndReturn(output1) 1170 input_api1.RightHandSideLines(mox.IgnoreArg()).AndReturn(output1)
1170 change2 = presubmit.Change('foo2', 'foo2\n', self.fake_root_dir, None, 1171 change2 = presubmit.Change('foo2', 'foo2\n', self.fake_root_dir, None,
1171 0, 0) 1172 0, 0)
1172 input_api2 = self.MockInputApi(change2, False) 1173 input_api2 = self.MockInputApi(change2, False)
1173 output2 = [ 1174 output2 = [
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1320 self.ReadFileTest( 1321 self.ReadFileTest(
1321 presubmit_canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol, 1322 presubmit_canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol,
1322 "Hey!\nHo!\n", "Hey!\r\nHo!\r\n", 1323 "Hey!\nHo!\n", "Hey!\r\nHo!\r\n",
1323 presubmit.OutputApi.PresubmitPromptWarning) 1324 presubmit.OutputApi.PresubmitPromptWarning)
1324 1325
1325 def testCannedCheckChangeHasNoTabs(self): 1326 def testCannedCheckChangeHasNoTabs(self):
1326 self.ContentTest(presubmit_canned_checks.CheckChangeHasNoTabs, 1327 self.ContentTest(presubmit_canned_checks.CheckChangeHasNoTabs,
1327 'blah blah', 'blah\tblah', 1328 'blah blah', 'blah\tblah',
1328 presubmit.OutputApi.PresubmitPromptWarning) 1329 presubmit.OutputApi.PresubmitPromptWarning)
1329 1330
1331 # Make sure makefiles are ignored.
1332 change1 = presubmit.Change('foo1', 'foo1\n', self.fake_root_dir, None,
1333 0, 0)
1334 input_api1 = self.MockInputApi(change1, False)
1335 affected_file1 = self.mox.CreateMock(presubmit.SvnAffectedFile)
1336 affected_file1.LocalPath().AndReturn('foo.cc')
1337 affected_file2 = self.mox.CreateMock(presubmit.SvnAffectedFile)
1338 affected_file2.LocalPath().AndReturn('foo/Makefile')
1339 affected_file3 = self.mox.CreateMock(presubmit.SvnAffectedFile)
1340 affected_file3.LocalPath().AndReturn('makefile')
1341 # Only this one will trigger.
1342 affected_file4 = self.mox.CreateMock(presubmit.SvnAffectedFile)
1343 affected_file4.LocalPath().AndReturn('makefile.foo')
1344 affected_file4.LocalPath().AndReturn('makefile.foo')
1345 output1 = [
1346 (affected_file1, 42, 'yo, '),
1347 (affected_file2, 43, 'yer\t'),
1348 (affected_file3, 45, 'yr\t'),
1349 (affected_file4, 46, 'ye\t'),
1350 ]
1351 def test(source_filter):
1352 for i in output1:
1353 if source_filter(i[0]):
1354 yield i
1355 # Override the mock of these functions.
1356 input_api1.FilterSourceFile = lambda x: x
1357 input_api1.RightHandSideLines = test
1358 self.mox.ReplayAll()
1359
1360 results1 = presubmit_canned_checks.CheckChangeHasNoTabs(input_api1,
1361 presubmit.OutputApi, None)
1362 self.assertEquals(len(results1), 1)
1363 self.assertEquals(results1[0].__class__,
1364 presubmit.OutputApi.PresubmitPromptWarning)
1365 self.assertEquals(results1[0]._long_text,
1366 'makefile.foo, line 46')
1367
1368
1330 def testCannedCheckLongLines(self): 1369 def testCannedCheckLongLines(self):
1331 check = lambda x,y,z: presubmit_canned_checks.CheckLongLines(x, y, 10, z) 1370 check = lambda x,y,z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1332 self.ContentTest(check, '', 'blah blah blah', 1371 self.ContentTest(check, '', 'blah blah blah',
1333 presubmit.OutputApi.PresubmitPromptWarning) 1372 presubmit.OutputApi.PresubmitPromptWarning)
1334 1373
1335 def testCheckChangeSvnEolStyleCommit(self): 1374 def testCheckChangeSvnEolStyleCommit(self):
1336 # Test CheckSvnProperty at the same time. 1375 # Test CheckSvnProperty at the same time.
1337 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle, 1376 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle,
1338 'svn:eol-style', 'LF', '', True, 1377 'svn:eol-style', 'LF', '', True,
1339 presubmit.OutputApi.PresubmitError, True) 1378 presubmit.OutputApi.PresubmitError, True)
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 results = presubmit_canned_checks.CheckBuildbotPendingBuilds( 1698 results = presubmit_canned_checks.CheckBuildbotPendingBuilds(
1660 input_api, presubmit.OutputApi, 'uurl', 2, ('foo')) 1699 input_api, presubmit.OutputApi, 'uurl', 2, ('foo'))
1661 self.assertEquals(len(results), 1) 1700 self.assertEquals(len(results), 1)
1662 self.assertEquals(results[0].__class__, 1701 self.assertEquals(results[0].__class__,
1663 presubmit.OutputApi.PresubmitNotifyResult) 1702 presubmit.OutputApi.PresubmitNotifyResult)
1664 1703
1665 1704
1666 if __name__ == '__main__': 1705 if __name__ == '__main__':
1667 import unittest 1706 import unittest
1668 unittest.main() 1707 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