Remove some Python 2 test code

Now that the presubmit system no longer supports Python 2 we can remove
support for it from the presubmit system tests. This change removes all
references to sys.version_info from this file.

This also fixes an unclosed file warning that suddenly appeared and
was stopping this change from landing.

Bug: 1207012
Change-Id: Ib74e9009b9d5cea0caf37c88e3258e9dd818f269
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4522416
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
changes/16/4522416/6
Bruce Dawson 2 years ago committed by LUCI CQ
parent a1e578320b
commit 4082f883ab

@ -922,17 +922,18 @@ def tags(*args):
def thaw():
took_action = False
for sha in run_stream('rev-list', 'HEAD'):
sha = sha.strip().decode('utf-8')
msg = run('show', '--format=%f%b', '-s', 'HEAD')
match = FREEZE_MATCHER.match(msg)
if not match:
if not took_action:
return 'Nothing to thaw.'
break
run('reset', '--' + FREEZE_SECTIONS[match.group(1)], sha)
took_action = True
with run_stream('rev-list', 'HEAD') as stream:
for sha in stream:
sha = sha.strip().decode('utf-8')
msg = run('show', '--format=%f%b', '-s', 'HEAD')
match = FREEZE_MATCHER.match(msg)
if not match:
if not took_action:
return 'Nothing to thaw.'
break
run('reset', '--' + FREEZE_SECTIONS[match.group(1)], sha)
took_action = True
def topo_iter(branch_tree, top_down=True):

@ -23,14 +23,9 @@ import threading
import time
import unittest
if sys.version_info.major == 2:
from cStringIO import StringIO
import mock
import urllib2 as urllib_request
else:
from io import StringIO
from unittest import mock
import urllib.request as urllib_request
from io import StringIO
from unittest import mock
import urllib.request as urllib_request
_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, _ROOT)
@ -52,8 +47,7 @@ import subprocess2 as subprocess
# Shortcut.
presubmit_canned_checks = presubmit.presubmit_canned_checks
RUNNING_PY_CHECKS_TEXT = ('Running Python ' + str(sys.version_info.major) +
' presubmit upload checks ...\n')
RUNNING_PY_CHECKS_TEXT = ('Running Python 3 presubmit upload checks ...\n')
# Access to a protected member XXX of a client class
# pylint: disable=protected-access
@ -163,11 +157,6 @@ index fe3de7b..54ae6e1 100755
# limit set.
self.maxDiff = None
# TODO: remove once py2 no longer supported
self.presubmit_text_prefix = ('USE_PYTHON3 = ' +
str(sys.version_info.major == 3) + '\n')
self.presubmit_text = self.presubmit_text_prefix + self.presubmit_text
class FakeChange(object):
def __init__(self, obj):
self._root = obj.fake_root_dir
@ -207,10 +196,7 @@ index fe3de7b..54ae6e1 100755
mock.patch('sys.stdout', StringIO()).start()
mock.patch('tempfile.NamedTemporaryFile').start()
mock.patch('threading.Timer').start()
if sys.version_info.major == 2:
mock.patch('urllib2.urlopen').start()
else:
mock.patch('urllib.request.urlopen').start()
mock.patch('urllib.request.urlopen').start()
self.addCleanup(mock.patch.stopall)
def checkstdout(self, value):
@ -515,7 +501,6 @@ class PresubmitUnittest(PresubmitTestsBase):
# No error if no on-upload entry point
self.assertFalse(
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
('def CheckChangeOnCommit(input_api, output_api):\n'
' return (output_api.PresubmitError("!!"))\n'), fake_presubmit))
@ -524,13 +509,11 @@ class PresubmitUnittest(PresubmitTestsBase):
# No error if no on-commit entry point
self.assertFalse(
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
('def CheckChangeOnUpload(input_api, output_api):\n'
' return (output_api.PresubmitError("!!"))\n'), fake_presubmit))
self.assertFalse(
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
('def CheckChangeOnUpload(input_api, output_api):\n'
' if not input_api.change.BugsFromDescription():\n'
' return (output_api.PresubmitError("!!"))\n'
@ -539,7 +522,6 @@ class PresubmitUnittest(PresubmitTestsBase):
self.assertFalse(
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
'def CheckChangeOnCommit(input_api, output_api):\n'
' results = []\n'
' results.extend(input_api.canned_checks.CheckChangeHasBugField(\n'
@ -564,7 +546,6 @@ class PresubmitUnittest(PresubmitTestsBase):
# STATUS_PASS on success
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
'def CheckChangeOnCommit(input_api, output_api):\n'
' return [output_api.PresubmitResult("test")]\n', fake_presubmit)
sink.report.assert_called_with('CheckChangeOnCommit',
@ -573,7 +554,6 @@ class PresubmitUnittest(PresubmitTestsBase):
# STATUS_FAIL on fatal error
sink.reset_mock()
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
'def CheckChangeOnCommit(input_api, output_api):\n'
' return [output_api.PresubmitError("error")]\n', fake_presubmit)
sink.report.assert_called_with('CheckChangeOnCommit',
@ -591,14 +571,12 @@ class PresubmitUnittest(PresubmitTestsBase):
self.assertEqual([],
executer.ExecPresubmitScript(
self.presubmit_text_prefix +
('def CheckChangeOnUpload(input_api, output_api):\n'
' if len(input_api._named_temporary_files):\n'
' return (output_api.PresubmitError("!!"),)\n'
' return ()\n'), fake_presubmit))
result = executer.ExecPresubmitScript(
self.presubmit_text_prefix +
('def CheckChangeOnUpload(input_api, output_api):\n'
' with input_api.CreateTemporaryFile():\n'
' pass\n'
@ -624,7 +602,7 @@ class PresubmitUnittest(PresubmitTestsBase):
executer = presubmit.PresubmitExecuter(change, False, None,
presubmit.GerritAccessor())
executer.ExecPresubmitScript(self.presubmit_text_prefix, fake_presubmit)
executer.ExecPresubmitScript('', fake_presubmit)
# Check that the executer switched to the directory of the script and back.
self.assertEqual(os.chdir.call_args_list, [
@ -661,13 +639,7 @@ class PresubmitUnittest(PresubmitTestsBase):
0,
presubmit.DoPostUploadExecuter(
change=change, gerrit_obj=None, verbose=False))
expected = (r'Running Python ' + str(sys.version_info.major) +
r' post upload checks \.\.\.\n')
if sys.version_info[0] == 2:
expected += ('Running .*PRESUBMIT.py under Python 2. Add USE_PYTHON3 = '
'True to prevent this.\n')
expected += ('Running .*PRESUBMIT.py under Python 2. Add USE_PYTHON3 = '
'True to prevent this.\n')
expected = (r'Running Python 3 post upload checks \.\.\.\n')
self.assertRegexpMatches(sys.stdout.getvalue(), expected)
def testDoPostUploadExecuterWarning(self):
@ -681,8 +653,7 @@ class PresubmitUnittest(PresubmitTestsBase):
presubmit.DoPostUploadExecuter(
change=change, gerrit_obj=None, verbose=False))
self.assertEqual(
'Running Python ' + str(sys.version_info.major) + ' '
'post upload checks ...\n'
'Running Python 3 post upload checks ...\n'
'\n'
'** Post Upload Hook Messages **\n'
'??\n'
@ -699,17 +670,11 @@ class PresubmitUnittest(PresubmitTestsBase):
presubmit.DoPostUploadExecuter(
change=change, gerrit_obj=None, verbose=False))
extra = ''
if sys.version_info[0] == 2:
extra = ('Running .*PRESUBMIT.py under Python 2. Add USE_PYTHON3 = True '
'to prevent this.\n')
expected = ('Running Python ' + str(sys.version_info.major) + ' '
'post upload checks \.\.\.\n'
'%s'
expected = ('Running Python 3 post upload checks \.\.\.\n'
'\n'
'\*\* Post Upload Hook Messages \*\*\n'
'!!\n'
'\n' % extra)
'\n')
self.assertRegexpMatches(sys.stdout.getvalue(), expected)
def testDoPresubmitChecksNoWarningsOrErrors(self):
@ -748,8 +713,7 @@ class PresubmitUnittest(PresubmitTestsBase):
fake_notify = 'This is a dry run'
fake_notify_items = '["N"]'
fake_notify_long_text = 'Notification long text...'
always_fail_presubmit_script = ('USE_PYTHON3 = ' +
str(sys.version_info.major == 3) + """\n
always_fail_presubmit_script = ("""\n
def CheckChangeOnUpload(input_api, output_api):
output_api.more_cc = ['me@example.com']
return [
@ -904,8 +868,7 @@ def CheckChangeOnCommit(input_api, output_api):
self.assertEqual(sys.stdout.getvalue().count(RUNNING_PY_CHECKS_TEXT), 1)
def testDoDefaultPresubmitChecksAndFeedback(self):
always_fail_presubmit_script = ('USE_PYTHON3 = ' +
str(sys.version_info.major == 3) + """\n
always_fail_presubmit_script = ("""\n
def CheckChangeOnUpload(input_api, output_api):
return [output_api.PresubmitError("!!")]
def CheckChangeOnCommit(input_api, output_api):
@ -930,11 +893,10 @@ def CheckChangeOnCommit(input_api, output_api):
RUNNING_PY_CHECKS_TEXT + 'Warning, no PRESUBMIT.py found.\n'
'Running default presubmit script.\n'
'** Presubmit ERRORS: 1 **\n!!\n\n'
'There were Python %d presubmit errors.\n'
'There were Python 3 presubmit errors.\n'
'Was the presubmit check useful? If not, run "git cl presubmit -v"\n'
'to figure out which PRESUBMIT.py was run, then run git blame\n'
'on the file to figure out who to ask for help.\n' %
sys.version_info.major)
'on the file to figure out who to ask for help.\n')
self.assertEqual(sys.stdout.getvalue(), text)
def ExampleChange(self, extra_lines=None):
@ -982,7 +944,6 @@ def CheckChangeOnCommit(input_api, output_api):
os.path.isfile.side_effect = lambda f: 'PRESUBMIT.py' in f
os.listdir.return_value = ['PRESUBMIT.py']
gclient_utils.FileRead.return_value = (
'USE_PYTHON3 = ' + str(sys.version_info.major == 3) + '\n'
'def PostUploadHook(gerrit, change, output_api):\n'
' return ()\n')
scm.determine_scm.return_value = None
@ -1007,7 +968,6 @@ def CheckChangeOnCommit(input_api, output_api):
@mock.patch('presubmit_support.ListRelevantPresubmitFiles')
def testMainUnversionedChecksFail(self, *_mocks):
gclient_utils.FileRead.return_value = (
'USE_PYTHON3 = ' + str(sys.version_info.major == 3) + '\n'
'def CheckChangeOnUpload(input_api, output_api):\n'
' return [output_api.PresubmitError("!!")]\n')
scm.determine_scm.return_value = None
@ -1804,8 +1764,6 @@ class CannedChecksUnittest(PresubmitTestsBase):
input_api.os_path = os.path
input_api.re = presubmit.re
input_api.gerrit = mock.MagicMock(presubmit.GerritAccessor)
if sys.version_info.major == 2:
input_api.urllib2 = mock.MagicMock(presubmit.urllib2)
input_api.urllib_request = mock.MagicMock(presubmit.urllib_request)
input_api.urllib_error = mock.MagicMock(presubmit.urllib_error)
input_api.unittest = unittest

Loading…
Cancel
Save