Merge pie-platform-release to aosp-master - DO NOT MERGE
Change-Id: Ic72f6210289e0d947969dd6fd5cdba474848b38a
diff --git a/checkstyle.py b/checkstyle.py
index 97c4e93..420f256 100755
--- a/checkstyle.py
+++ b/checkstyle.py
@@ -62,7 +62,7 @@
'com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck']
SKIPPED_RULES_FOR_TEST_FILES = ['com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck',
'com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck']
-SUBPATH_FOR_TEST_FILES = ['/tests/', '/test/', '/androidTest/']
+SUBPATH_FOR_TEST_FILES = ['/tests/', '/test/', '/androidTest/', '/perftests/']
SUBPATH_FOR_TEST_DATA_FILES = _FindFoldersContaining(git.repository_root(),
'IGNORE_CHECKSTYLE')
ERROR_UNCOMMITTED = 'You need to commit all modified files before running Checkstyle\n'
@@ -80,7 +80,7 @@
Returns:
A tuple of errors and warnings.
"""
- print 'Running Checkstyle on inputted files'
+ print('Running Checkstyle on inputted files')
java_files = map(os.path.abspath, java_files)
stdout = _ExecuteCheckstyle(java_files, classpath, config_xml)
(errors, warnings) = _ParseAndFilterOutput(stdout)
@@ -108,17 +108,17 @@
A tuple of errors and warnings.
"""
if not git.repository_root():
- print 'FAILURE: not inside a git repository'
+ print('FAILURE: not inside a git repository')
sys.exit(1)
explicit_commit = commit is not None
if not explicit_commit:
_WarnIfUntrackedFiles()
commit = git.last_commit()
- print 'Running Checkstyle on %s commit' % commit
+ print('Running Checkstyle on %s commit' % commit)
commit_modified_files = _GetModifiedFiles(commit, explicit_commit)
commit_modified_files = _FilterFiles(commit_modified_files, file_whitelist)
if not commit_modified_files.keys():
- print 'No Java files to check'
+ print('No Java files to check')
return [], []
(tmp_dir, tmp_file_map) = _GetTempFilesForCommit(
@@ -153,11 +153,9 @@
def _PrintErrorsAndWarnings(errors, warnings):
"""Prints given errors and warnings."""
if errors:
- print 'ERRORS:'
- print '\n'.join(errors)
+ print('ERRORS:\n'.join(errors))
if warnings:
- print 'WARNINGS:'
- print '\n'.join(warnings)
+ print('WARNINGS:\n%s'.join(warnings))
def _ExecuteCheckstyle(java_files, classpath, config_xml):
@@ -174,22 +172,22 @@
# Run checkstyle
checkstyle_env = os.environ.copy()
checkstyle_env['JAVA_CMD'] = 'java'
+
try:
check = subprocess.Popen(['java', '-cp', classpath,
'com.puppycrawl.tools.checkstyle.Main', '-c',
config_xml, '-f', 'xml'] + java_files,
stdout=subprocess.PIPE, env=checkstyle_env)
stdout, _ = check.communicate()
+ # A work-around for Checkstyle printing error count to stdio.
+ if 'Checkstyle ends with' in stdout.splitlines()[-1]:
+ stdout = '\n'.join(stdout.splitlines()[:-1])
+ return stdout
except OSError as e:
if e.errno == errno.ENOENT:
- print 'Error running Checkstyle!'
+ print('Error running Checkstyle!')
sys.exit(1)
- # A work-around for Checkstyle printing error count to stdio.
- if 'Checkstyle ends with' in stdout.splitlines()[-1]:
- stdout = '\n'.join(stdout.splitlines()[:-1])
- return stdout
-
def _ParseAndFilterOutput(stdout,
sha=None,
@@ -339,7 +337,7 @@
config_xml = args.config_xml or CHECKSTYLE_STYLE
if not os.path.exists(config_xml):
- print 'Java checkstyle configuration file is missing'
+ print('Java checkstyle configuration file is missing')
sys.exit(1)
classpath = CHECKSTYLE_JAR
@@ -357,7 +355,7 @@
if errors or warnings:
sys.exit(1)
- print 'SUCCESS! NO ISSUES FOUND'
+ print('SUCCESS! NO ISSUES FOUND')
sys.exit(0)
diff --git a/tests.py b/tests.py
index 74b325e..7c9c7e4 100755
--- a/tests.py
+++ b/tests.py
@@ -18,7 +18,11 @@
"""Tests the Checkstyle script used to run style checks on Java files."""
-from StringIO import StringIO
+try:
+ from StringIO import StringIO
+except ImportError:
+ # python3 use io instead of StringIO
+ from io import StringIO
import unittest
import checkstyle