Fix recent python linting errors

- Remove unneeded imports in 'fuscia-test-runner.py'
- Add explicit stacklevel to 'x.py'
- Fix mutable types as default args in `bootstrap.py` and  `bootstrap_test.py`
This commit is contained in:
Trevor Gross 2023-06-22 01:59:24 -04:00
parent efc49e4dfa
commit 9df0f5d433
4 changed files with 20 additions and 11 deletions

View File

@ -472,7 +472,9 @@ class FakeArgs:
class RustBuild(object): class RustBuild(object):
"""Provide all the methods required to build Rust""" """Provide all the methods required to build Rust"""
def __init__(self, config_toml="", args=FakeArgs()): def __init__(self, config_toml="", args=None):
if args is None:
args = FakeArgs()
self.git_version = None self.git_version = None
self.nix_deps_dir = None self.nix_deps_dir = None
self._should_fix_bins_and_dylibs = None self._should_fix_bins_and_dylibs = None

View File

@ -4,7 +4,6 @@ Run these with `x test bootstrap`, or `python -m unittest src/bootstrap/bootstra
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
import os import os
import doctest
import unittest import unittest
import tempfile import tempfile
import hashlib import hashlib
@ -16,12 +15,15 @@ from shutil import rmtree
bootstrap_dir = os.path.dirname(os.path.abspath(__file__)) bootstrap_dir = os.path.dirname(os.path.abspath(__file__))
# For the import below, have Python search in src/bootstrap first. # For the import below, have Python search in src/bootstrap first.
sys.path.insert(0, bootstrap_dir) sys.path.insert(0, bootstrap_dir)
import bootstrap import bootstrap # noqa: E402
import configure import configure # noqa: E402
def serialize_and_parse(configure_args, bootstrap_args=bootstrap.FakeArgs()): def serialize_and_parse(configure_args, bootstrap_args=None):
from io import StringIO from io import StringIO
if bootstrap_args is None:
bootstrap_args = bootstrap.FakeArgs()
section_order, sections, targets = configure.parse_args(configure_args) section_order, sections, targets = configure.parse_args(configure_args)
buffer = StringIO() buffer = StringIO()
configure.write_config_toml(buffer, section_order, targets, sections) configure.write_config_toml(buffer, section_order, targets, sections)
@ -129,7 +131,14 @@ class GenerateAndParseConfig(unittest.TestCase):
class BuildBootstrap(unittest.TestCase): class BuildBootstrap(unittest.TestCase):
"""Test that we generate the appropriate arguments when building bootstrap""" """Test that we generate the appropriate arguments when building bootstrap"""
def build_args(self, configure_args=[], args=[], env={}): def build_args(self, configure_args=None, args=None, env=None):
if configure_args is None:
configure_args = []
if args is None:
args = []
if env is None:
env = {}
env = env.copy() env = env.copy()
env["PATH"] = os.environ["PATH"] env["PATH"] = os.environ["PATH"]

View File

@ -15,12 +15,10 @@ import hashlib
import json import json
import os import os
import platform import platform
import re
import shutil import shutil
import signal
import subprocess import subprocess
import sys import sys
from typing import ClassVar, List, Optional from typing import ClassVar, List
@dataclass @dataclass
@ -523,7 +521,7 @@ class TestEnvironment:
env_vars += '\n "RUST_BACKTRACE=0",' env_vars += '\n "RUST_BACKTRACE=0",'
# Use /tmp as the test temporary directory # Use /tmp as the test temporary directory
env_vars += f'\n "RUST_TEST_TMPDIR=/tmp",' env_vars += '\n "RUST_TEST_TMPDIR=/tmp",'
cml.write( cml.write(
self.CML_TEMPLATE.format(env_vars=env_vars, exe_name=exe_name) self.CML_TEMPLATE.format(env_vars=env_vars, exe_name=exe_name)

2
x.py
View File

@ -40,7 +40,7 @@ if __name__ == '__main__':
This message can be suppressed by setting `RUST_IGNORE_OLD_PYTHON=1` This message can be suppressed by setting `RUST_IGNORE_OLD_PYTHON=1`
""".format(major, minor)) """.format(major, minor))
warnings.warn(msg) warnings.warn(msg, stacklevel=1)
rust_dir = os.path.dirname(os.path.abspath(__file__)) rust_dir = os.path.dirname(os.path.abspath(__file__))
# For the import below, have Python search in src/bootstrap first. # For the import below, have Python search in src/bootstrap first.