From 4940cc4b8fdb24f3c3638173f181ef3bbbcd74c2 Mon Sep 17 00:00:00 2001 From: Josip Sokcevic Date: Tue, 5 Oct 2021 23:55:34 +0000 Subject: [PATCH] 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 Reviewed-by: Gavin Mak Commit-Queue: Josip Sokcevic --- .vpython3 | 7 +++++++ PRESUBMIT.py | 12 ++++++++++-- my_activity.py | 11 ++++------- tests/my_activity_test.py | 0 4 files changed, 21 insertions(+), 9 deletions(-) mode change 100644 => 100755 tests/my_activity_test.py diff --git a/.vpython3 b/.vpython3 index 0c15b7169..a23d50bba 100644 --- a/.vpython3 +++ b/.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" +> diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 7aba7c604..c4c166cc2 100644 --- a/PRESUBMIT.py +++ b/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())) diff --git a/my_activity.py b/my_activity.py index 3fdd7cf8d..874f9f386 100755 --- a/my_activity.py +++ b/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() diff --git a/tests/my_activity_test.py b/tests/my_activity_test.py old mode 100644 new mode 100755