| Index: tests/presubmit_unittest.py
|
| diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py
|
| index c11283e3785c30b6cce5f8aa94df502864ada81c..3ed655fadf663994a5bf49fdffd6becb84d4a245 100755
|
| --- a/tests/presubmit_unittest.py
|
| +++ b/tests/presubmit_unittest.py
|
| @@ -1069,6 +1069,7 @@ class CannedChecksUnittest(PresubmitTestsBase):
|
| 'CheckChangeHasTestField',
|
| 'CheckChangeLintsClean',
|
| 'CheckChangeSvnEolStyle',
|
| + 'CheckLicense',
|
| 'CheckSvnModifiedDirectories',
|
| 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty',
|
| 'CheckDoNotSubmit',
|
| @@ -1282,6 +1283,66 @@ class CannedChecksUnittest(PresubmitTestsBase):
|
| 'svn:eol-style', 'LF', '', False,
|
| presubmit.OutputApi.PresubmitNotifyResult, True)
|
|
|
| + def _LicenseCheck(self, text, license, committing, expected_result):
|
| + change = self.mox.CreateMock(presubmit.SvnChange)
|
| + change.scm = 'svn'
|
| + input_api = self.MockInputApi(change, committing)
|
| + affected_file = self.mox.CreateMock(presubmit.SvnAffectedFile)
|
| + input_api.AffectedSourceFiles(42).AndReturn([affected_file])
|
| + input_api.ReadFile(affected_file, 'rb').AndReturn(text)
|
| + if expected_result:
|
| + affected_file.LocalPath().AndReturn('bleh')
|
| +
|
| + self.mox.ReplayAll()
|
| + result = presubmit_canned_checks.CheckLicense(
|
| + input_api, presubmit.OutputApi, license, 42)
|
| + if expected_result:
|
| + self.assertEqual(len(result), 1)
|
| + self.assertEqual(result[0].__class__, expected_result)
|
| + else:
|
| + self.assertEqual(result, [])
|
| +
|
| + def testCheckLicenseSuccess(self):
|
| + text = (
|
| + "#!/bin/python\n"
|
| + "# Copyright (c) 2037 Nobody.\n"
|
| + "# All Rights Reserved.\n"
|
| + "print 'foo'\n"
|
| + )
|
| + license = (
|
| + r".*? Copyright \(c\) 2037 Nobody." "\n"
|
| + r".*? All Rights Reserved\." "\n"
|
| + )
|
| + self._LicenseCheck(text, license, True, None)
|
| +
|
| + def testCheckLicenseFailCommit(self):
|
| + text = (
|
| + "#!/bin/python\n"
|
| + "# Copyright (c) 2037 Nobody.\n"
|
| + "# All Rights Reserved.\n"
|
| + "print 'foo'\n"
|
| + )
|
| + license = (
|
| + r".*? Copyright \(c\) 0007 Nobody." "\n"
|
| + r".*? All Rights Reserved\." "\n"
|
| + )
|
| + self._LicenseCheck(text, license, True,
|
| + presubmit.OutputApi.PresubmitPromptWarning)
|
| +
|
| + def testCheckLicenseFailUpload(self):
|
| + text = (
|
| + "#!/bin/python\n"
|
| + "# Copyright (c) 2037 Nobody.\n"
|
| + "# All Rights Reserved.\n"
|
| + "print 'foo'\n"
|
| + )
|
| + license = (
|
| + r".*? Copyright \(c\) 0007 Nobody." "\n"
|
| + r".*? All Rights Reserved\." "\n"
|
| + )
|
| + self._LicenseCheck(text, license, False,
|
| + presubmit.OutputApi.PresubmitNotifyResult)
|
| +
|
| def testCannedCheckSvnAccidentalSubmission(self):
|
| modified_dir_file = 'foo/'
|
| accidental_submssion_file = 'foo/bar.cc'
|
|
|