chore: use Ruff (#1405)

chore: use ruff

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
Henry Schreiner
2023-01-30 15:53:44 -05:00
committed by GitHub
parent 80a8ec7f32
commit c8b037ba3e
25 changed files with 141 additions and 157 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ def pytest_addoption(parser):
)
@pytest.fixture
@pytest.fixture()
def fake_package_dir(tmp_path, monkeypatch):
"""
Monkey-patch enough for the main() function to run
+5 -5
View File
@@ -47,7 +47,7 @@ def mock_protection(monkeypatch):
@pytest.fixture(autouse=True)
def fake_package_dir_autouse(fake_package_dir):
def fake_package_dir_autouse(fake_package_dir): # noqa: ARG001
pass
@@ -60,9 +60,9 @@ def disable_print_wheels(monkeypatch):
monkeypatch.setattr(util, "print_new_wheels", empty_cm)
@pytest.fixture
def allow_empty(request, monkeypatch, fake_package_dir):
monkeypatch.setattr(sys, "argv", fake_package_dir + ["--allow-empty"])
@pytest.fixture()
def allow_empty(monkeypatch, fake_package_dir):
monkeypatch.setattr(sys, "argv", [*fake_package_dir, "--allow-empty"])
@pytest.fixture(params=["linux", "macos", "windows"])
@@ -81,7 +81,7 @@ def platform(request, monkeypatch):
return platform_value
@pytest.fixture
@pytest.fixture()
def intercepted_build_args(monkeypatch):
intercepted = ArgsInterceptor()
+14 -10
View File
@@ -19,7 +19,8 @@ from cibuildwheel.util import BuildSelector, resources_dir, split_config_setting
# CIBW_PLATFORM is tested in main_platform_test.py
def test_output_dir(platform, intercepted_build_args, monkeypatch):
@pytest.mark.usefixtures("platform")
def test_output_dir(intercepted_build_args, monkeypatch):
OUTPUT_DIR = Path("some_output_dir")
monkeypatch.setenv("CIBW_OUTPUT_DIR", str(OUTPUT_DIR))
@@ -29,17 +30,19 @@ def test_output_dir(platform, intercepted_build_args, monkeypatch):
assert intercepted_build_args.args[0].globals.output_dir == OUTPUT_DIR.resolve()
def test_output_dir_default(platform, intercepted_build_args, monkeypatch):
@pytest.mark.usefixtures("platform")
def test_output_dir_default(intercepted_build_args):
main()
assert intercepted_build_args.args[0].globals.output_dir == Path("wheelhouse").resolve()
@pytest.mark.usefixtures("platform")
@pytest.mark.parametrize("also_set_environment", [False, True])
def test_output_dir_argument(also_set_environment, platform, intercepted_build_args, monkeypatch):
def test_output_dir_argument(also_set_environment, intercepted_build_args, monkeypatch):
OUTPUT_DIR = Path("some_output_dir")
monkeypatch.setattr(sys, "argv", sys.argv + ["--output-dir", str(OUTPUT_DIR)])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--output-dir", str(OUTPUT_DIR)])
if also_set_environment:
monkeypatch.setenv("CIBW_OUTPUT_DIR", "not_this_output_dir")
@@ -48,7 +51,8 @@ def test_output_dir_argument(also_set_environment, platform, intercepted_build_a
assert intercepted_build_args.args[0].globals.output_dir == OUTPUT_DIR.resolve()
def test_build_selector(platform, intercepted_build_args, monkeypatch, allow_empty):
@pytest.mark.usefixtures("platform", "allow_empty")
def test_build_selector(intercepted_build_args, monkeypatch):
BUILD = "some build* *-selector"
SKIP = "some skip* *-selector"
@@ -65,7 +69,8 @@ def test_build_selector(platform, intercepted_build_args, monkeypatch, allow_emp
# Unit tests for BuildSelector are in build_selector_test.py
def test_empty_selector(platform, intercepted_build_args, monkeypatch):
@pytest.mark.usefixtures("platform", "intercepted_build_args")
def test_empty_selector(monkeypatch):
monkeypatch.setenv("CIBW_SKIP", "*")
with pytest.raises(SystemExit) as e:
@@ -75,7 +80,7 @@ def test_empty_selector(platform, intercepted_build_args, monkeypatch):
@pytest.mark.parametrize(
"architecture, image, full_image",
("architecture", "image", "full_image"),
[
("x86_64", None, "quay.io/pypa/manylinux2014_x86_64:*"),
("x86_64", "manylinux1", "quay.io/pypa/manylinux1_x86_64:*"),
@@ -303,9 +308,8 @@ def test_config_settings(platform_specific, platform, intercepted_build_args, mo
"?p35*",
],
)
def test_build_selector_deprecated_error(
monkeypatch, platform, intercepted_build_args, selector, pattern, allow_empty, capsys
):
@pytest.mark.usefixtures("platform", "intercepted_build_args", "allow_empty")
def test_build_selector_deprecated_error(monkeypatch, selector, pattern, capsys):
monkeypatch.setenv(selector, pattern)
if selector == "CIBW_BUILD":
+14 -13
View File
@@ -24,7 +24,7 @@ def test_unknown_platform_non_ci(monkeypatch, capsys):
with pytest.raises(SystemExit) as exit:
main()
assert exit.value.code == 2
assert exit.value.code == 2
_, err = capsys.readouterr()
assert "cibuildwheel: Unable to detect platform." in err
@@ -38,7 +38,7 @@ def test_unknown_platform_on_ci(monkeypatch, capsys):
with pytest.raises(SystemExit) as exit:
main()
assert exit.value.code == 2
assert exit.value.code == 2
_, err = capsys.readouterr()
assert 'cibuildwheel: Unable to detect platform from "sys.platform"' in err
@@ -57,7 +57,7 @@ def test_unknown_platform(monkeypatch, capsys):
def test_platform_argument(platform, intercepted_build_args, monkeypatch):
monkeypatch.setenv("CIBW_PLATFORM", "nonexistent")
monkeypatch.setattr(sys, "argv", sys.argv + ["--platform", platform])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--platform", platform])
main()
@@ -66,14 +66,15 @@ def test_platform_argument(platform, intercepted_build_args, monkeypatch):
assert options.globals.package_dir == MOCK_PACKAGE_DIR.resolve()
def test_platform_environment(platform, intercepted_build_args, monkeypatch):
@pytest.mark.usefixtures("platform")
def test_platform_environment(intercepted_build_args):
main()
options = intercepted_build_args.args[0]
assert options.globals.package_dir == MOCK_PACKAGE_DIR.resolve()
def test_archs_default(platform, intercepted_build_args, monkeypatch):
def test_archs_default(platform, intercepted_build_args):
main()
options = intercepted_build_args.args[0]
@@ -93,7 +94,7 @@ def test_archs_argument(platform, intercepted_build_args, monkeypatch, use_env_v
monkeypatch.setenv("CIBW_ARCHS", "ppc64le")
else:
monkeypatch.setenv("CIBW_ARCHS", "unused")
monkeypatch.setattr(sys, "argv", sys.argv + ["--archs", "ppc64le"])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--archs", "ppc64le"])
if platform in {"macos", "windows"}:
with pytest.raises(SystemExit) as exit:
@@ -195,7 +196,7 @@ def test_archs_platform_all(platform, intercepted_build_args, monkeypatch):
@pytest.mark.parametrize(
"only,plat",
("only", "plat"),
(
("cp311-manylinux_x86_64", "linux"),
("cp310-win_amd64", "windows"),
@@ -206,7 +207,7 @@ def test_archs_platform_all(platform, intercepted_build_args, monkeypatch):
def test_only_argument(intercepted_build_args, monkeypatch, only, plat):
monkeypatch.setenv("CIBW_BUILD", "unused")
monkeypatch.setenv("CIBW_SKIP", "unused")
monkeypatch.setattr(sys, "argv", sys.argv + ["--only", only])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--only", only])
main()
@@ -219,7 +220,7 @@ def test_only_argument(intercepted_build_args, monkeypatch, only, plat):
@pytest.mark.parametrize("only", ("cp311-manylxinux_x86_64", "some_linux_thing"))
def test_only_failed(monkeypatch, only):
monkeypatch.setattr(sys, "argv", sys.argv + ["--only", only])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--only", only])
with pytest.raises(SystemExit):
main()
@@ -227,7 +228,7 @@ def test_only_failed(monkeypatch, only):
def test_only_no_platform(monkeypatch):
monkeypatch.setattr(
sys, "argv", sys.argv + ["--only", "cp311-manylinux_x86_64", "--platform", "macos"]
sys, "argv", [*sys.argv, "--only", "cp311-manylinux_x86_64", "--platform", "macos"]
)
with pytest.raises(SystemExit):
@@ -236,7 +237,7 @@ def test_only_no_platform(monkeypatch):
def test_only_no_archs(monkeypatch):
monkeypatch.setattr(
sys, "argv", sys.argv + ["--only", "cp311-manylinux_x86_64", "--archs", "x86_64"]
sys, "argv", [*sys.argv, "--only", "cp311-manylinux_x86_64", "--archs", "x86_64"]
)
with pytest.raises(SystemExit):
@@ -244,7 +245,7 @@ def test_only_no_archs(monkeypatch):
@pytest.mark.parametrize(
"envvar_name,envvar_value",
("envvar_name", "envvar_value"),
(
("CIBW_BUILD", "cp310-*"),
("CIBW_SKIP", "cp311-*"),
@@ -253,7 +254,7 @@ def test_only_no_archs(monkeypatch):
),
)
def test_only_overrides_env_vars(monkeypatch, intercepted_build_args, envvar_name, envvar_value):
monkeypatch.setattr(sys, "argv", sys.argv + ["--only", "cp311-manylinux_x86_64"])
monkeypatch.setattr(sys, "argv", [*sys.argv, "--only", "cp311-manylinux_x86_64"])
monkeypatch.setenv(envvar_name, envvar_value)
main()
@@ -9,7 +9,7 @@ from packaging.specifiers import SpecifierSet
from cibuildwheel.__main__ import main
@pytest.fixture(autouse=True, scope="function")
@pytest.fixture(autouse=True)
def fake_package_dir(monkeypatch, tmp_path):
"""
Set up a fake project
@@ -25,7 +25,8 @@ def fake_package_dir(monkeypatch, tmp_path):
return local_path
def test_no_override(platform, monkeypatch, intercepted_build_args):
@pytest.mark.usefixtures("platform")
def test_no_override(intercepted_build_args):
main()
@@ -38,7 +39,8 @@ def test_no_override(platform, monkeypatch, intercepted_build_args):
assert intercepted_build_selector.requires_python is None
def test_override_env(platform, monkeypatch, intercepted_build_args):
@pytest.mark.usefixtures("platform")
def test_override_env(monkeypatch, intercepted_build_args):
monkeypatch.setenv("CIBW_PROJECT_REQUIRES_PYTHON", ">=3.8")
main()
@@ -52,7 +54,8 @@ def test_override_env(platform, monkeypatch, intercepted_build_args):
assert not intercepted_build_selector("cp36-win32")
def test_override_setup_cfg(platform, monkeypatch, intercepted_build_args, fake_package_dir):
@pytest.mark.usefixtures("platform")
def test_override_setup_cfg(intercepted_build_args, fake_package_dir):
fake_package_dir.joinpath("setup.cfg").write_text(
textwrap.dedent(
@@ -74,7 +77,8 @@ def test_override_setup_cfg(platform, monkeypatch, intercepted_build_args, fake_
assert not intercepted_build_selector("cp36-win32")
def test_override_pyproject_toml(platform, monkeypatch, intercepted_build_args, fake_package_dir):
@pytest.mark.usefixtures("platform")
def test_override_pyproject_toml(intercepted_build_args, fake_package_dir):
fake_package_dir.joinpath("pyproject.toml").write_text(
textwrap.dedent(
@@ -96,7 +100,8 @@ def test_override_pyproject_toml(platform, monkeypatch, intercepted_build_args,
assert not intercepted_build_selector("cp36-win32")
def test_override_setup_py_simple(platform, monkeypatch, intercepted_build_args, fake_package_dir):
@pytest.mark.usefixtures("platform")
def test_override_setup_py_simple(intercepted_build_args, fake_package_dir):
fake_package_dir.joinpath("setup.py").write_text(
textwrap.dedent(
+6 -4
View File
@@ -16,7 +16,7 @@ from cibuildwheel.__main__ import main
ALL_IDS = {"cp36", "cp37", "cp38", "cp39", "cp310", "cp311", "pp37", "pp38", "pp39"}
@pytest.fixture
@pytest.fixture()
def mock_build_container(monkeypatch):
def fail_on_call(*args, **kwargs):
msg = "This should never be called"
@@ -46,8 +46,9 @@ def mock_build_container(monkeypatch):
monkeypatch.setattr("cibuildwheel.util.print_new_wheels", ignore_context_call)
def test_build_default_launches(mock_build_container, fake_package_dir, monkeypatch):
monkeypatch.setattr(sys, "argv", sys.argv + ["--platform=linux"])
@pytest.mark.usefixtures("mock_build_container", "fake_package_dir")
def test_build_default_launches(monkeypatch):
monkeypatch.setattr(sys, "argv", [*sys.argv, "--platform=linux"])
main()
@@ -91,7 +92,8 @@ def test_build_default_launches(mock_build_container, fake_package_dir, monkeypa
assert identifiers == {f"{x}-musllinux_i686" for x in ALL_IDS if "pp" not in x}
def test_build_with_override_launches(mock_build_container, monkeypatch, tmp_path):
@pytest.mark.usefixtures("mock_build_container")
def test_build_with_override_launches(monkeypatch, tmp_path):
pkg_dir = tmp_path / "cibw_package"
pkg_dir.mkdir()
+2 -2
View File
@@ -140,7 +140,7 @@ xfail_env_parse = pytest.mark.xfail(
pytest.param("a trailing backslash \\", marks=[xfail_env_parse]),
],
)
def test_toml_environment_evil(tmp_path, monkeypatch, env_var_value):
def test_toml_environment_evil(tmp_path, env_var_value):
args = CommandLineArguments.defaults()
args.package_dir = tmp_path
@@ -159,7 +159,7 @@ def test_toml_environment_evil(tmp_path, monkeypatch, env_var_value):
@pytest.mark.parametrize(
"toml_assignment,result_value",
("toml_assignment", "result_value"),
[
('TEST_VAR="simple_value"', "simple_value"),
# spaces
+6 -6
View File
@@ -71,7 +71,7 @@ def test_simple_settings(tmp_path, platform, fname):
options_reader.get("test-extras", table={"item": '{k}="{v}"', "sep": " "})
def test_envvar_override(tmp_path, platform, monkeypatch):
def test_envvar_override(tmp_path, platform):
config_file_path: Path = tmp_path / "pyproject.toml"
config_file_path.write_text(PYPROJECT_1)
@@ -112,14 +112,14 @@ repair-wheel-command = "repair-project-global"
assert options_reader.get("repair-wheel-command") == "repair-project-global"
def test_env_global_override_default_platform(tmp_path, platform, monkeypatch):
def test_env_global_override_default_platform(platform):
options_reader = OptionsReader(
platform=platform, env={"CIBW_REPAIR_WHEEL_COMMAND": "repair-env-global"}
)
assert options_reader.get("repair-wheel-command") == "repair-env-global"
def test_env_global_override_project_platform(tmp_path, platform, monkeypatch):
def test_env_global_override_project_platform(tmp_path, platform):
pyproject_toml = tmp_path / "pyproject.toml"
pyproject_toml.write_text(
"""
@@ -215,7 +215,7 @@ build = ["1", "2"]
)
options_reader = OptionsReader(pyproject_toml, platform="linux", env={})
assert "1, 2" == options_reader.get("build", sep=", ")
assert options_reader.get("build", sep=", ") == "1, 2"
with pytest.raises(ConfigOptionError):
options_reader.get("build")
@@ -234,7 +234,7 @@ manylinux-x86_64-image = "manylinux1"
OptionsReader(pyproject_toml, platform="windows", disallow=disallow, env={})
def test_environment_override_empty(tmp_path, monkeypatch):
def test_environment_override_empty(tmp_path):
pyproject_toml = tmp_path / "pyproject.toml"
pyproject_toml.write_text(
"""
@@ -262,7 +262,7 @@ manylinux-x86_64-image = ""
assert options_reader.get("manylinux-aarch64-image", ignore_empty=True) == "manylinux1"
@pytest.mark.parametrize("ignore_empty", (True, False))
@pytest.mark.parametrize("ignore_empty", [True, False])
def test_dig_first(ignore_empty):
d1 = {"random": "thing"}
d2 = {"this": "that", "empty": ""}
+6 -6
View File
@@ -61,8 +61,8 @@ def test_prepare_command():
@pytest.mark.parametrize(
"wheel,identifier",
(
("wheel", "identifier"),
[
("foo-0.1-cp38-abi3-win_amd64.whl", "cp310-win_amd64"),
("foo-0.1-cp38-abi3-macosx_11_0_x86_64.whl", "cp310-macosx_x86_64"),
("foo-0.1-cp38-abi3-manylinux2014_x86_64.whl", "cp310-manylinux_x86_64"),
@@ -72,7 +72,7 @@ def test_prepare_command():
("foo-0.1-py3-none-win_amd64.whl", "cp310-win_amd64"),
("foo-0.1-py38-none-win_amd64.whl", "cp310-win_amd64"),
("foo-0.1-py38-none-win_amd64.whl", "pp310-win_amd64"),
),
],
)
def test_find_compatible_wheel_found(wheel: str, identifier: str):
wheel_ = PurePath(wheel)
@@ -81,8 +81,8 @@ def test_find_compatible_wheel_found(wheel: str, identifier: str):
@pytest.mark.parametrize(
"wheel,identifier",
(
("wheel", "identifier"),
[
("foo-0.1-cp38-abi3-win_amd64.whl", "cp310-win32"),
("foo-0.1-cp38-abi3-win_amd64.whl", "cp37-win_amd64"),
("foo-0.1-cp38-abi3-macosx_11_0_x86_64.whl", "cp310-macosx_universal2"),
@@ -92,7 +92,7 @@ def test_find_compatible_wheel_found(wheel: str, identifier: str):
("foo-0.1-py38-none-win_amd64.whl", "cp37-win_amd64"),
("foo-0.1-py38-none-win_amd64.whl", "pp37-win_amd64"),
("foo-0.1-cp38-cp38-win_amd64.whl", "cp310-win_amd64"),
),
],
)
def test_find_compatible_wheel_not_found(wheel: str, identifier: str):
assert find_compatible_wheel([PurePath(wheel)], identifier) is None
+3 -4
View File
@@ -23,10 +23,9 @@ def test_printout_wheels(tmp_path, capsys):
def test_no_printout_on_error(tmp_path, capsys):
tmp_path.joinpath("example.0").touch()
with pytest.raises(RuntimeError):
with print_new_wheels("TEST_MSG: {n}", tmp_path):
tmp_path.joinpath("example.1").touch()
raise RuntimeError()
with pytest.raises(RuntimeError), print_new_wheels("TEST_MSG: {n}", tmp_path): # noqa: PT012
tmp_path.joinpath("example.1").touch()
raise RuntimeError()
captured = capsys.readouterr() # type: ignore[unreachable]
assert captured.err == ""