diff options
author | bors-servo <infra@servo.org> | 2023-05-29 18:15:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-29 18:15:28 +0200 |
commit | fc07c2127669ecd6c2419552553212a0cd333ea3 (patch) | |
tree | 213f3f5358c130d0435f92acfd8104fd24874743 /python/servo | |
parent | cab7694b086807f12efd0b396bbb1bc609a015a0 (diff) | |
parent | faa8c0e967cd9e3526c05e4eac34c679cb14ed5f (diff) | |
download | servo-fc07c2127669ecd6c2419552553212a0cd333ea3.tar.gz servo-fc07c2127669ecd6c2419552553212a0cd333ea3.zip |
Auto merge of #29811 - mrobinson:remove-more-python-2, r=jdm
Remove more Python 2 compatibility code
- os.environ is always `str` in Python 3.
- The only string type is `str` so we can stop using `six.str_types`.
- `iteritems()` isn't necessary because dicts have the `items()` method.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they do not change behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Diffstat (limited to 'python/servo')
-rw-r--r-- | python/servo/command_base.py | 25 | ||||
-rw-r--r-- | python/servo/platform/linux.py | 5 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 7 |
3 files changed, 5 insertions, 32 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index c7f3c326c4a..9ab6c3935f6 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -131,31 +131,11 @@ def archive_deterministically(dir_to_archive, dest_archive, prepend_path=None): os.rename(temp_file, dest_archive) -def normalize_env(env): - # There is a bug in Py2 subprocess where it doesn't like unicode types in - # environment variables. Here, ensure all unicode are converted to - # native string type. utf-8 is our globally assumed default. If the caller - # doesn't want UTF-8, they shouldn't pass in a unicode instance. - normalized_env = {} - for k, v in env.items(): - if isinstance(k, six.text_type): - k = six.ensure_str(k, 'utf-8', 'strict') - - if isinstance(v, six.text_type): - v = six.ensure_str(v, 'utf-8', 'strict') - - normalized_env[k] = v - - return normalized_env - - def call(*args, **kwargs): """Wrap `subprocess.call`, printing the command if verbose=True.""" verbose = kwargs.pop('verbose', False) if verbose: print(' '.join(args[0])) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) # we have to use shell=True in order to get PATH handling # when looking for the binary on Windows return subprocess.call(*args, shell=sys.platform == 'win32', **kwargs) @@ -166,8 +146,6 @@ def check_output(*args, **kwargs): verbose = kwargs.pop('verbose', False) if verbose: print(' '.join(args[0])) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) # we have to use shell=True in order to get PATH handling # when looking for the binary on Windows return subprocess.check_output(*args, shell=sys.platform == 'win32', **kwargs) @@ -179,9 +157,6 @@ def check_call(*args, **kwargs): Also fix any unicode-containing `env`, for subprocess """ verbose = kwargs.pop('verbose', False) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) - if verbose: print(' '.join(args[0])) # we have to use shell=True in order to get PATH handling diff --git a/python/servo/platform/linux.py b/python/servo/platform/linux.py index b4a8c031f37..5aca1a434ec 100644 --- a/python/servo/platform/linux.py +++ b/python/servo/platform/linux.py @@ -13,7 +13,6 @@ import tempfile from typing import Optional, Tuple import distro -import six from .. import util from .base import Base @@ -65,8 +64,8 @@ class Linux(Base): @staticmethod def get_distro_and_version() -> Tuple[str, str]: - distrib = six.ensure_str(distro.name()) - version = six.ensure_str(distro.version()) + distrib = distro.name() + version = distro.version() if distrib in ['LinuxMint', 'Linux Mint', 'KDE neon', 'Pop!_OS']: if '.' in version: diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index ee630be47aa..598302f3dda 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -20,7 +20,6 @@ import time import shutil import subprocess from xml.etree.ElementTree import XML -from six import iteritems import wpt import wpt.manifestupdate @@ -62,7 +61,7 @@ TEST_SUITES = OrderedDict([ "include_arg": "test_name"}), ]) -TEST_SUITES_BY_PREFIX = {path: k for k, v in iteritems(TEST_SUITES) if "paths" in v for path in v["paths"]} +TEST_SUITES_BY_PREFIX = {path: k for k, v in TEST_SUITES.items() if "paths" in v for path in v["paths"]} @CommandProvider @@ -133,7 +132,7 @@ class MachCommands(CommandBase): return 1 test_start = time.time() - for suite, tests in iteritems(selected_suites): + for suite, tests in selected_suites.items(): props = suites[suite] kwargs = props.get("kwargs", {}) if tests: @@ -149,7 +148,7 @@ class MachCommands(CommandBase): def suite_for_path(self, path_arg): if os.path.exists(path.abspath(path_arg)): abs_path = path.abspath(path_arg) - for prefix, suite in iteritems(TEST_SUITES_BY_PREFIX): + for prefix, suite in TEST_SUITES_BY_PREFIX.items(): if abs_path.startswith(prefix): return suite return None |