Add support for running Checkstyle on a given SHA-1.
Usage e.g.: ./checkstyle.py -s 3aca02ca91816a86febb5ed6e380ec2122adea47 Additionally this CL adds a pre-push script that can be used a git hook to run Checkstyle on 'repo upload' Bug: 25852971 Change-Id: Ia00d48df80b2b024de0899d9590868016c5b7bf0
This commit is contained in:
@@ -89,37 +89,39 @@ class TestCheckstyle(unittest.TestCase):
|
||||
def test_GetModifiedFiles(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_good
|
||||
out = StringIO()
|
||||
sha, files = checkstyle._GetModifiedFiles(out)
|
||||
files = checkstyle._GetModifiedFiles(mock_last_commit(), out=out)
|
||||
output = out.getvalue()
|
||||
self.assertEqual(output, '')
|
||||
self.assertEqual(sha, TEST_SHA)
|
||||
self.assertEqual(files, {TEST_FILE1: FILE_MODIFIED, TEST_FILE2: FILE_ADDED})
|
||||
|
||||
def test_GetModifiedFilesUntracked(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_untracked
|
||||
out = StringIO()
|
||||
sha, files = checkstyle._GetModifiedFiles(out)
|
||||
output = out.getvalue()
|
||||
self.assertEqual(output, checkstyle.ERROR_UNTRACKED + TEST_FILE1 + '\n\n')
|
||||
self.assertEqual(sha, TEST_SHA)
|
||||
self.assertEqual(files, {TEST_FILE2: FILE_ADDED})
|
||||
|
||||
def test_GetModifiedFilesUncommitted(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_uncommitted
|
||||
with self.assertRaises(SystemExit):
|
||||
out = StringIO()
|
||||
checkstyle._GetModifiedFiles(out)
|
||||
checkstyle._GetModifiedFiles(mock_last_commit(), out=out)
|
||||
self.assertEqual(out.getvalue(), checkstyle.ERROR_UNCOMMITTED)
|
||||
|
||||
def test_GetModifiedFilesNonJava(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_non_java
|
||||
out = StringIO()
|
||||
sha, files = checkstyle._GetModifiedFiles(out)
|
||||
files = checkstyle._GetModifiedFiles(mock_last_commit(), out=out)
|
||||
output = out.getvalue()
|
||||
self.assertEqual(output, '')
|
||||
self.assertEqual(sha, TEST_SHA)
|
||||
self.assertEqual(files, {TEST_FILE1: FILE_MODIFIED})
|
||||
|
||||
def test_WarnIfUntrackedFiles(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_untracked
|
||||
out = StringIO()
|
||||
checkstyle._WarnIfUntrackedFiles(out=out)
|
||||
output = out.getvalue()
|
||||
self.assertEqual(output, checkstyle.ERROR_UNTRACKED + TEST_FILE1 + '\n\n')
|
||||
|
||||
def test_WarnIfUntrackedFilesNoUntracked(self):
|
||||
checkstyle.git.modified_files = mock_modified_files_good
|
||||
out = StringIO()
|
||||
checkstyle._WarnIfUntrackedFiles(out=out)
|
||||
output = out.getvalue()
|
||||
self.assertEqual(output, '')
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user