diff --git a/tools_webrtc/mb/PRESUBMIT.py b/tools_webrtc/mb/PRESUBMIT.py index d21aec1ded..67122ce1c8 100644 --- a/tools_webrtc/mb/PRESUBMIT.py +++ b/tools_webrtc/mb/PRESUBMIT.py @@ -11,12 +11,28 @@ def _CommonChecks(input_api, output_api): results = [] # 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)) # Run the MB unittests. 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. cmd = [input_api.python_executable, 'mb.py', 'validate'] diff --git a/tools_webrtc/mb/mb.py b/tools_webrtc/mb/mb.py index 5acf31c6ea..09550fabcb 100755 --- a/tools_webrtc/mb/mb.py +++ b/tools_webrtc/mb/mb.py @@ -28,7 +28,10 @@ import sys import subprocess import tempfile import traceback -import urllib2 +try: + from urllib2 import urlopen # for Python2 +except ImportError: + from urllib.request import urlopen # for Python3 from collections import OrderedDict @@ -330,8 +333,7 @@ class MetaBuildWrapper(object): if self.args.swarmed: cmd, _ = self.GetSwarmingCommand(self.args.target[0], vals) 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): cas_instance = 'chromium-swarm' @@ -1222,7 +1224,7 @@ class MetaBuildWrapper(object): def Fetch(self, url): # This function largely exists so it can be overridden for testing. - f = urllib2.urlopen(url) + f = urlopen(url) contents = f.read() f.close() return contents @@ -1230,7 +1232,7 @@ class MetaBuildWrapper(object): def MaybeMakeDirectory(self, path): try: os.makedirs(path) - except OSError, e: + except OSError as e: if e.errno != errno.EEXIST: raise diff --git a/tools_webrtc/mb/mb_unittest.py b/tools_webrtc/mb/mb_unittest.py index 0cc2a4dd11..a65a55b37b 100755 --- a/tools_webrtc/mb/mb_unittest.py +++ b/tools_webrtc/mb/mb_unittest.py @@ -11,7 +11,10 @@ import ast import json -import StringIO +try: + from StringIO import StringIO # for Python2 +except ImportError: + from io import StringIO # for Python3 import os import re import sys @@ -96,7 +99,7 @@ class FakeMBW(mb.MetaBuildWrapper): self.dirs.add(tmp_dir) return tmp_dir - def TempFile(self, mode='w'): + def TempFile(self): return FakeFile(self.files) def RemoveFile(self, path): @@ -116,8 +119,7 @@ class FakeMBW(mb.MetaBuildWrapper): path = self.PathJoin(self.cwd, path) if self.sep == '\\': return re.sub(r'\\+', r'\\', path) - else: - return re.sub('/+', '/', path) + return re.sub('/+', '/', path) class FakeFile(object): @@ -859,7 +861,7 @@ class UnitTest(unittest.TestCase): def test_help(self): orig_stdout = sys.stdout try: - sys.stdout = StringIO.StringIO() + sys.stdout = StringIO() self.assertRaises(SystemExit, self.check, ['-h']) self.assertRaises(SystemExit, self.check, ['help']) self.assertRaises(SystemExit, self.check, ['help', 'gen'])