Prechádzať zdrojové kódy

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>
Bruce Dawson 2 rokov pred
rodič
commit
4082f883ab
2 zmenil súbory, kde vykonal 26 pridanie a 67 odobranie
  1. 12 11
      git_common.py
  2. 14 56
      tests/presubmit_unittest.py

+ 12 - 11
git_common.py

@@ -922,17 +922,18 @@ def tags(*args):
 
 
 def thaw():
 def thaw():
   took_action = False
   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):
 def topo_iter(branch_tree, top_down=True):

+ 14 - 56
tests/presubmit_unittest.py

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