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

Side by Side Diff: tests/presubmit_unittest.py

Issue 7097012: Improve CheckLongLines() to increase the hard limit at 50% when an exception is found. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Fix regex to work properly, update unit test accordingly Created 9 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 | Annotate | Revision Log
« presubmit_canned_checks.py ('K') | « 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/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
(...skipping 1409 matching lines...) Expand 10 before | Expand all | Expand 10 after
1420 """ 1420 """
1421 change1 = presubmit.Change( 1421 change1 = presubmit.Change(
1422 'foo1', 'foo1\n', self.fake_root_dir, None, 0, 0, None) 1422 'foo1', 'foo1\n', self.fake_root_dir, None, 0, 0, None)
1423 input_api1 = self.MockInputApi(change1, False) 1423 input_api1 = self.MockInputApi(change1, False)
1424 affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile) 1424 affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile)
1425 input_api1.AffectedFiles( 1425 input_api1.AffectedFiles(
1426 include_deletes=False, 1426 include_deletes=False,
1427 file_filter=mox.IgnoreArg()).AndReturn([affected_file]) 1427 file_filter=mox.IgnoreArg()).AndReturn([affected_file])
1428 affected_file.NewContents().AndReturn([ 1428 affected_file.NewContents().AndReturn([
1429 'ahoy', 1429 'ahoy',
1430 'yo' + content1, 1430 content1,
1431 'hay', 1431 'hay',
1432 'yer', 1432 'yer',
1433 'ya']) 1433 'ya'])
1434 1434
1435 change2 = presubmit.Change( 1435 change2 = presubmit.Change(
1436 'foo2', 'foo2\n', self.fake_root_dir, None, 0, 0, None) 1436 'foo2', 'foo2\n', self.fake_root_dir, None, 0, 0, None)
1437 input_api2 = self.MockInputApi(change2, False) 1437 input_api2 = self.MockInputApi(change2, False)
1438 1438
1439 input_api2.AffectedFiles( 1439 input_api2.AffectedFiles(
1440 include_deletes=False, 1440 include_deletes=False,
1441 file_filter=mox.IgnoreArg()).AndReturn([affected_file]) 1441 file_filter=mox.IgnoreArg()).AndReturn([affected_file])
1442 affected_file.NewContents().AndReturn([ 1442 affected_file.NewContents().AndReturn([
1443 'ahoy', 1443 'ahoy',
1444 'yo' + content2, 1444 content2,
1445 'hay', 1445 'hay',
1446 'yer', 1446 'yer',
1447 'ya']) 1447 'ya'])
1448 # It falls back to ChangedContents when there is a failure. This is an
1449 # optimization since NewContents() is much faster to execute than
1450 # ChangedContents().
1448 affected_file.ChangedContents().AndReturn([ 1451 affected_file.ChangedContents().AndReturn([
1449 (42, 'yo, ' + content2), 1452 (42, content2),
1450 (43, 'yer'), 1453 (43, 'yer'),
1451 (23, 'ya')]) 1454 (23, 'ya')])
1452 affected_file.LocalPath().AndReturn('foo.cc') 1455 affected_file.LocalPath().AndReturn('foo.cc')
1453 1456
1454 self.mox.ReplayAll() 1457 self.mox.ReplayAll()
1455 1458
1456 results1 = check(input_api1, presubmit.OutputApi, None) 1459 results1 = check(input_api1, presubmit.OutputApi, None)
1457 self.assertEquals(results1, []) 1460 self.assertEquals(results1, [])
1458 results2 = check(input_api2, presubmit.OutputApi, None) 1461 results2 = check(input_api2, presubmit.OutputApi, None)
1459 self.assertEquals(len(results2), 1) 1462 self.assertEquals(len(results2), 1)
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 self.mox.ReplayAll() 1642 self.mox.ReplayAll()
1640 1643
1641 results1 = presubmit_canned_checks.CheckChangeHasNoTabs(input_api1, 1644 results1 = presubmit_canned_checks.CheckChangeHasNoTabs(input_api1,
1642 presubmit.OutputApi, None) 1645 presubmit.OutputApi, None)
1643 self.assertEquals(len(results1), 1) 1646 self.assertEquals(len(results1), 1)
1644 self.assertEquals(results1[0].__class__, 1647 self.assertEquals(results1[0].__class__,
1645 presubmit.OutputApi.PresubmitPromptWarning) 1648 presubmit.OutputApi.PresubmitPromptWarning)
1646 self.assertEquals(results1[0]._long_text, 1649 self.assertEquals(results1[0]._long_text,
1647 'makefile.foo, line 46') 1650 'makefile.foo, line 46')
1648 1651
1649
1650 def testCannedCheckLongLines(self): 1652 def testCannedCheckLongLines(self):
1651 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z) 1653 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1652 self.ContentTest(check, '', 'blah blah blah', 1654 self.ContentTest(check, '0123456789', '01234567890',
1653 presubmit.OutputApi.PresubmitPromptWarning) 1655 presubmit.OutputApi.PresubmitPromptWarning)
1654 1656
1657 def testCannedCheckLongLinesLF(self):
1658 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1659 self.ContentTest(check, '012345678\n', '0123456789\n',
1660 presubmit.OutputApi.PresubmitPromptWarning)
1661
1662 def testCannedCheckLongLinesMacro(self):
1663 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1664 self.ContentTest(
1665 check,
1666 # Put a space in so it doesn't trigger long symbols. Allow 1/3 more.
1667 '#if 56 89 12 45',
1668 '#if 56 89 12 456',
1669 presubmit.OutputApi.PresubmitPromptWarning)
1670
1671 def testCannedCheckLongLinesHttp(self):
1672 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1673 self.ContentTest(
1674 check,
1675 ' http:// 0 23 5',
1676 ' http:// 0 23 56',
1677 presubmit.OutputApi.PresubmitPromptWarning)
1678
1679 def testCannedCheckLongLinesLongSymbol(self):
1680 check = lambda x, y, z: presubmit_canned_checks.CheckLongLines(x, y, 10, z)
1681 self.ContentTest(
1682 check,
1683 ' TUP5D_LoNG_SY ',
1684 ' TUP5D_LoNG_SY5 ',
1685 presubmit.OutputApi.PresubmitPromptWarning)
1686
1655 def testCheckChangeSvnEolStyleCommit(self): 1687 def testCheckChangeSvnEolStyleCommit(self):
1656 # Test CheckSvnProperty at the same time. 1688 # Test CheckSvnProperty at the same time.
1657 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle, 1689 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle,
1658 'svn:eol-style', 'LF', '', True, 1690 'svn:eol-style', 'LF', '', True,
1659 presubmit.OutputApi.PresubmitError, True) 1691 presubmit.OutputApi.PresubmitError, True)
1660 1692
1661 def testCheckChangeSvnEolStyleUpload(self): 1693 def testCheckChangeSvnEolStyleUpload(self):
1662 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle, 1694 self.SvnPropertyTest(presubmit_canned_checks.CheckChangeSvnEolStyle,
1663 'svn:eol-style', 'LF', '', False, 1695 'svn:eol-style', 'LF', '', False,
1664 presubmit.OutputApi.PresubmitNotifyResult, True) 1696 presubmit.OutputApi.PresubmitNotifyResult, True)
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
2195 owners_check=True) 2227 owners_check=True)
2196 self.assertEqual(1, len(results)) 2228 self.assertEqual(1, len(results))
2197 self.assertEqual( 2229 self.assertEqual(
2198 'Found line ending with white spaces in:', results[0]._message) 2230 'Found line ending with white spaces in:', results[0]._message)
2199 self.checkstdout('') 2231 self.checkstdout('')
2200 2232
2201 2233
2202 if __name__ == '__main__': 2234 if __name__ == '__main__':
2203 import unittest 2235 import unittest
2204 unittest.main() 2236 unittest.main()
OLDNEW
« presubmit_canned_checks.py ('K') | « presubmit_canned_checks.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698