Browse Source

Require certifi package and python3 in my_activity

my_activity.py talks to third party (e.g. review.coreboot.org). Without
certifi package, making https connection may result in
CERTIFICATE_VERIFY_FAILED.

Adding certifi package to .vpython (py2) doesn't work, so this change
drops py2 support for my_activity.py.

R=gavinmak@google.com

Fixed: 1255921
Change-Id: I515b14c81d37a52d482d08085d8029c791911ae8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3206906
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Josip Sokcevic 3 năm trước cách đây
mục cha
commit
4940cc4b8f
4 tập tin đã thay đổi với 21 bổ sung9 xóa
  1. 7 0
      .vpython3
  2. 10 2
      PRESUBMIT.py
  3. 4 7
      my_activity.py
  4. 0 0
      tests/my_activity_test.py

+ 7 - 0
.vpython3

@@ -42,3 +42,10 @@ wheel: <
   name: "infra/python/wheels/six-py2_py3"
   version: "version:1.10.0"
 >
+
+# May be required to talk to 3P servers.
+# Fixes https://crbug.com/1255921
+wheel: <
+  name: "infra/python/wheels/certifi-py2_py3"
+  version: "version:2021.5.30"
+>

+ 10 - 2
PRESUBMIT.py

@@ -91,14 +91,15 @@ def CommonChecks(input_api, output_api, tests_to_skip_list):
   test_to_run_list = [r'.*test\.py$']
   if input_api.platform.startswith(('cygwin', 'win32')):
     print('Warning: skipping most unit tests on Windows')
-    tests_to_skip_list = [
+    tests_to_skip_list.extend([
         r'.*auth_test\.py$',
         r'.*git_common_test\.py$',
         r'.*git_hyper_blame_test\.py$',
         r'.*git_map_test\.py$',
         r'.*ninjalog_uploader_test\.py$',
         r'.*recipes_test\.py$',
-    ]
+    ])
+  tests_to_skip_list.append(r'.*my_activity_test\.py')
 
   # TODO(maruel): Make sure at least one file is modified first.
   # TODO(maruel): If only tests are modified, only run them.
@@ -111,6 +112,13 @@ def CommonChecks(input_api, output_api, tests_to_skip_list):
       files_to_skip=tests_to_skip_list,
       run_on_python3=False))
 
+  tests.extend(input_api.canned_checks.GetUnitTestsInDirectory(
+      input_api,
+      output_api,
+      'tests',
+      files_to_check=[r'.*my_activity_test\.py'],
+      run_on_python3=True))
+
   # Validate CIPD manifests.
   root = input_api.os_path.normpath(
     input_api.os_path.abspath(input_api.PresubmitLocalPath()))

+ 4 - 7
my_activity.py

@@ -57,13 +57,10 @@ import fix_encoding
 import gclient_utils
 import gerrit_util
 
-
 if sys.version_info.major == 2:
-  logging.warning(
-      'Python 2 is deprecated. Run my_activity.py using vpython3.')
-  import urllib as urllib_parse
-else:
-  import urllib.parse as urllib_parse
+  logging.critical(
+      'Python 2 is not supported. Run my_activity.py using vpython3.')
+
 
 try:
   import dateutil  # pylint: disable=import-error
@@ -348,7 +345,7 @@ class MyActivity(object):
     http = self.monorail_get_auth_http()
     url = ('https://monorail-prod.appspot.com/_ah/api/monorail/v1/projects'
            '/%s/issues') % project
-    query_data = urllib_parse.urlencode(query)
+    query_data = urllib.parse.urlencode(query)
     url = url + '?' + query_data
     _, body = http.request(url)
     self.show_progress()

+ 0 - 0
tests/my_activity_test.py