Print which PRESUBMIT.py scripts run on Python 2

When running presubmits you can tell if Python 2 presubmits are running,
but it's subtle, and it isn't obvious which presubmits are running under
Python 2.

This makes it obvious by always printing the path to PRESUBMIT.py
scripts that are run under Python 2. This change also fixes a bug in the
--verbose logic - it would print that a script was running before
evaluating _ShouldRunPresubmit.

Bug: 1352347
Change-Id: I45213acdb3b37f7be0713e5caba775841704817c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3826917
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
changes/17/3826917/4
Bruce Dawson 3 years ago committed by LUCI CQ
parent a358defc3f
commit 8d78bd1fc1

@ -1480,11 +1480,13 @@ def DoPostUploadExecuter(change, gerrit_obj, verbose, use_python3=False):
for filename in presubmit_files:
filename = os.path.abspath(filename)
if verbose:
sys.stdout.write('Running %s\n' % filename)
# Accept CRLF presubmit script.
presubmit_script = gclient_utils.FileRead(filename).replace('\r\n', '\n')
if _ShouldRunPresubmit(presubmit_script, use_python3):
if sys.version_info[0] == 2:
sys.stdout.write('Running %s under Python 2.\n' % filename)
elif verbose:
sys.stdout.write('Running %s\n' % filename)
results.extend(executer.ExecPresubmitScript(
presubmit_script, filename, gerrit_obj, change))
@ -1752,11 +1754,13 @@ def DoPresubmitChecks(change,
skipped_count += 1
for filename in presubmit_files:
filename = os.path.abspath(filename)
if verbose:
sys.stdout.write('Running %s\n' % filename)
# Accept CRLF presubmit script.
presubmit_script = gclient_utils.FileRead(filename).replace('\r\n', '\n')
if _ShouldRunPresubmit(presubmit_script, use_python3):
if sys.version_info[0] == 2:
sys.stdout.write('Running %s under Python 2.\n' % filename)
elif verbose:
sys.stdout.write('Running %s\n' % filename)
results += executer.ExecPresubmitScript(presubmit_script, filename)
else:
skipped_count += 1

@ -624,9 +624,12 @@ class PresubmitUnittest(PresubmitTestsBase):
0,
presubmit.DoPostUploadExecuter(
change=change, gerrit_obj=None, verbose=False))
self.assertEqual(
'Running Python ' + str(sys.version_info.major) + ' '
'post upload checks ...\n', sys.stdout.getvalue())
expected = (r'Running Python ' + str(sys.version_info.major) +
r' post upload checks \.\.\.\n')
if sys.version_info[0] == 2:
expected += r'Running .*PRESUBMIT.py under Python 2.\n'
expected += r'Running .*PRESUBMIT.py under Python 2.\n'
self.assertRegexpMatches(sys.stdout.getvalue(), expected)
def testDoPostUploadExecuterWarning(self):
path = os.path.join(self.fake_root_dir, 'PRESUBMIT.py')
@ -656,13 +659,18 @@ class PresubmitUnittest(PresubmitTestsBase):
1,
presubmit.DoPostUploadExecuter(
change=change, gerrit_obj=None, verbose=False))
self.assertEqual(
'Running Python ' + str(sys.version_info.major) + ' '
'post upload checks ...\n'
'\n'
'** Post Upload Hook Messages **\n'
'!!\n'
'\n', sys.stdout.getvalue())
extra = ''
if sys.version_info[0] == 2:
extra = r'Running .*PRESUBMIT.py under Python 2.\n'
expected = ('Running Python ' + str(sys.version_info.major) + ' '
'post upload checks \.\.\.\n'
'%s'
'\n'
'\*\* Post Upload Hook Messages \*\*\n'
'!!\n'
'\n' % extra)
self.assertRegexpMatches(sys.stdout.getvalue(), expected)
def testDoPresubmitChecksNoWarningsOrErrors(self):
haspresubmit_path = os.path.join(

Loading…
Cancel
Save