CodeHealth: Python3 migration for tools_webrtc/mb/

This CL includes:
* set Pylint to 2.7 in tools_webrtc/mb/PRESUBMIT.py
* fix some style warnings caused by scripts in tools_webrtc/mb/
* pass skip_shebang_check=True within tools_webrtc/mb/PRESUBMIT.py

Bug: chromium:1262287, chromium:1262352
Change-Id: Iae4f111942d724db6a7f4585c97a7c26c1e6ccc0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239660
Commit-Queue: Nidhi Jaju <nidhijaju@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35477}
This commit is contained in:
Nidhi Jaju
2021-12-02 10:38:50 +00:00
committed by WebRTC LUCI CQ
parent 73d0774b6b
commit 2394977f74
3 changed files with 32 additions and 12 deletions

View File

@ -11,12 +11,28 @@ def _CommonChecks(input_api, output_api):
results = [] results = []
# Run Pylint over the files in the directory. # Run Pylint over the files in the directory.
pylint_checks = input_api.canned_checks.GetPylint(input_api, output_api) pylint_checks = input_api.canned_checks.GetPylint(
input_api,
output_api,
version='2.7',
# Disabling certain python3-specific warnings until the conversion
# is complete.
disabled_warnings=[
'super-with-arguments',
'raise-missing-from',
'useless-object-inheritance',
'arguments-differ',
],
)
results.extend(input_api.RunTests(pylint_checks)) results.extend(input_api.RunTests(pylint_checks))
# Run the MB unittests. # Run the MB unittests.
results.extend(input_api.canned_checks.RunUnitTestsInDirectory( results.extend(input_api.canned_checks.RunUnitTestsInDirectory(
input_api, output_api, '.', [ r'^.+_unittest\.py$'])) input_api,
output_api,
'.',
[ r'^.+_unittest\.py$'],
skip_shebang_check=True))
# Validate the format of the mb_config.pyl file. # Validate the format of the mb_config.pyl file.
cmd = [input_api.python_executable, 'mb.py', 'validate'] cmd = [input_api.python_executable, 'mb.py', 'validate']

View File

@ -28,7 +28,10 @@ import sys
import subprocess import subprocess
import tempfile import tempfile
import traceback import traceback
import urllib2 try:
from urllib2 import urlopen # for Python2
except ImportError:
from urllib.request import urlopen # for Python3
from collections import OrderedDict from collections import OrderedDict
@ -330,8 +333,7 @@ class MetaBuildWrapper(object):
if self.args.swarmed: if self.args.swarmed:
cmd, _ = self.GetSwarmingCommand(self.args.target[0], vals) cmd, _ = self.GetSwarmingCommand(self.args.target[0], vals)
return self._RunUnderSwarming(build_dir, target, cmd) return self._RunUnderSwarming(build_dir, target, cmd)
else: return self._RunLocallyIsolated(build_dir, target)
return self._RunLocallyIsolated(build_dir, target)
def _RunUnderSwarming(self, build_dir, target, isolate_cmd): def _RunUnderSwarming(self, build_dir, target, isolate_cmd):
cas_instance = 'chromium-swarm' cas_instance = 'chromium-swarm'
@ -1222,7 +1224,7 @@ class MetaBuildWrapper(object):
def Fetch(self, url): def Fetch(self, url):
# This function largely exists so it can be overridden for testing. # This function largely exists so it can be overridden for testing.
f = urllib2.urlopen(url) f = urlopen(url)
contents = f.read() contents = f.read()
f.close() f.close()
return contents return contents
@ -1230,7 +1232,7 @@ class MetaBuildWrapper(object):
def MaybeMakeDirectory(self, path): def MaybeMakeDirectory(self, path):
try: try:
os.makedirs(path) os.makedirs(path)
except OSError, e: except OSError as e:
if e.errno != errno.EEXIST: if e.errno != errno.EEXIST:
raise raise

View File

@ -11,7 +11,10 @@
import ast import ast
import json import json
import StringIO try:
from StringIO import StringIO # for Python2
except ImportError:
from io import StringIO # for Python3
import os import os
import re import re
import sys import sys
@ -96,7 +99,7 @@ class FakeMBW(mb.MetaBuildWrapper):
self.dirs.add(tmp_dir) self.dirs.add(tmp_dir)
return tmp_dir return tmp_dir
def TempFile(self, mode='w'): def TempFile(self):
return FakeFile(self.files) return FakeFile(self.files)
def RemoveFile(self, path): def RemoveFile(self, path):
@ -116,8 +119,7 @@ class FakeMBW(mb.MetaBuildWrapper):
path = self.PathJoin(self.cwd, path) path = self.PathJoin(self.cwd, path)
if self.sep == '\\': if self.sep == '\\':
return re.sub(r'\\+', r'\\', path) return re.sub(r'\\+', r'\\', path)
else: return re.sub('/+', '/', path)
return re.sub('/+', '/', path)
class FakeFile(object): class FakeFile(object):
@ -859,7 +861,7 @@ class UnitTest(unittest.TestCase):
def test_help(self): def test_help(self):
orig_stdout = sys.stdout orig_stdout = sys.stdout
try: try:
sys.stdout = StringIO.StringIO() sys.stdout = StringIO()
self.assertRaises(SystemExit, self.check, ['-h']) self.assertRaises(SystemExit, self.check, ['-h'])
self.assertRaises(SystemExit, self.check, ['help']) self.assertRaises(SystemExit, self.check, ['help'])
self.assertRaises(SystemExit, self.check, ['help', 'gen']) self.assertRaises(SystemExit, self.check, ['help', 'gen'])