Improve the formatting of the preamble

This commit is contained in:
Joe Rickerby
2022-11-26 17:16:54 +00:00
parent 9c6416d4ac
commit 8d05681491
9 changed files with 223 additions and 98 deletions
+42 -28
View File
@@ -35,7 +35,7 @@ def test_simple_settings(tmp_path, platform, fname):
config_file_path: Path = tmp_path / fname
config_file_path.write_text(PYPROJECT_1)
options_reader = OptionsReader(config_file_path, platform=platform)
options_reader = OptionsReader(config_file_path, platform=platform, environ={})
assert options_reader.get("build", env_plat=False, sep=" ") == "cp39*"
@@ -72,16 +72,20 @@ def test_simple_settings(tmp_path, platform, fname):
def test_envvar_override(tmp_path, platform, monkeypatch):
monkeypatch.setenv("CIBW_BUILD", "cp38*")
monkeypatch.setenv("CIBW_MANYLINUX_X86_64_IMAGE", "manylinux_2_24")
monkeypatch.setenv("CIBW_TEST_COMMAND", "mytest")
monkeypatch.setenv("CIBW_TEST_REQUIRES", "docs")
monkeypatch.setenv("CIBW_TEST_REQUIRES_LINUX", "scod")
config_file_path: Path = tmp_path / "pyproject.toml"
config_file_path.write_text(PYPROJECT_1)
options_reader = OptionsReader(config_file_path, platform=platform)
options_reader = OptionsReader(
config_file_path,
platform=platform,
environ={
"CIBW_BUILD": "cp38*",
"CIBW_MANYLINUX_X86_64_IMAGE": "manylinux_2_24",
"CIBW_TEST_COMMAND": "mytest",
"CIBW_TEST_REQUIRES": "docs",
"CIBW_TEST_REQUIRES_LINUX": "scod",
},
)
assert options_reader.get("archs", sep=" ") == "auto"
@@ -104,18 +108,18 @@ def test_project_global_override_default_platform(tmp_path, platform):
repair-wheel-command = "repair-project-global"
"""
)
options_reader = OptionsReader(pyproject_toml, platform=platform)
options_reader = OptionsReader(pyproject_toml, platform=platform, environ={})
assert options_reader.get("repair-wheel-command") == "repair-project-global"
def test_env_global_override_default_platform(tmp_path, platform, monkeypatch):
monkeypatch.setenv("CIBW_REPAIR_WHEEL_COMMAND", "repair-env-global")
options_reader = OptionsReader(platform=platform)
options_reader = OptionsReader(
platform=platform, environ={"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):
monkeypatch.setenv("CIBW_REPAIR_WHEEL_COMMAND", "repair-env-global")
pyproject_toml = tmp_path / "pyproject.toml"
pyproject_toml.write_text(
"""
@@ -127,7 +131,13 @@ repair-wheel-command = "repair-project-windows"
repair-wheel-command = "repair-project-macos"
"""
)
options_reader = OptionsReader(pyproject_toml, platform=platform)
options_reader = OptionsReader(
pyproject_toml,
platform=platform,
environ={
"CIBW_REPAIR_WHEEL_COMMAND": "repair-env-global",
},
)
assert options_reader.get("repair-wheel-command") == "repair-env-global"
@@ -145,7 +155,7 @@ repair-wheel-command = "repair-project-macos"
repair-wheel-command = "repair-project-global"
"""
)
options_reader = OptionsReader(pyproject_toml, platform=platform)
options_reader = OptionsReader(pyproject_toml, platform=platform, environ={})
assert options_reader.get("repair-wheel-command") == f"repair-project-{platform}"
@@ -161,7 +171,7 @@ repairs-wheel-command = "repair-project-linux"
)
with pytest.raises(ConfigOptionError) as excinfo:
OptionsReader(pyproject_toml, platform="linux")
OptionsReader(pyproject_toml, platform="linux", environ={})
assert "repair-wheel-command" in str(excinfo.value)
@@ -178,7 +188,7 @@ repair_wheel_command = "repair-project-linux"
)
with pytest.raises(ConfigOptionError) as excinfo:
OptionsReader(pyproject_toml, platform="linux")
OptionsReader(pyproject_toml, platform="linux", environ={})
assert "repair-wheel-command" in str(excinfo.value)
@@ -192,7 +202,7 @@ repair-wheel-command = "repair-project-linux"
"""
)
with pytest.raises(ConfigOptionError):
OptionsReader(pyproject_toml, platform="linux")
OptionsReader(pyproject_toml, platform="linux", environ={})
def test_unsupported_join(tmp_path):
@@ -203,7 +213,7 @@ def test_unsupported_join(tmp_path):
build = ["1", "2"]
"""
)
options_reader = OptionsReader(pyproject_toml, platform="linux")
options_reader = OptionsReader(pyproject_toml, platform="linux", environ={})
assert "1, 2" == options_reader.get("build", sep=", ")
with pytest.raises(ConfigOptionError):
@@ -219,9 +229,9 @@ manylinux-x86_64-image = "manylinux1"
"""
)
disallow = {"windows": {"manylinux-x86_64-image"}}
OptionsReader(pyproject_toml, platform="linux", disallow=disallow)
OptionsReader(pyproject_toml, platform="linux", disallow=disallow, environ={})
with pytest.raises(ConfigOptionError):
OptionsReader(pyproject_toml, platform="windows", disallow=disallow)
OptionsReader(pyproject_toml, platform="windows", disallow=disallow, environ={})
def test_environment_override_empty(tmp_path, monkeypatch):
@@ -234,10 +244,14 @@ manylinux-x86_64-image = ""
"""
)
monkeypatch.setenv("CIBW_MANYLINUX_I686_IMAGE", "")
monkeypatch.setenv("CIBW_MANYLINUX_AARCH64_IMAGE", "manylinux1")
options_reader = OptionsReader(pyproject_toml, platform="linux")
options_reader = OptionsReader(
pyproject_toml,
platform="linux",
environ={
"CIBW_MANYLINUX_I686_IMAGE": "",
"CIBW_MANYLINUX_AARCH64_IMAGE": "manylinux1",
},
)
assert options_reader.get("manylinux-x86_64-image") == ""
assert options_reader.get("manylinux-i686-image") == ""
@@ -306,7 +320,7 @@ def test_pyproject_2(tmp_path, platform):
pyproject_toml: Path = tmp_path / "pyproject.toml"
pyproject_toml.write_text(PYPROJECT_2)
options_reader = OptionsReader(config_file_path=pyproject_toml, platform=platform)
options_reader = OptionsReader(config_file_path=pyproject_toml, platform=platform, environ={})
assert options_reader.get("test-command") == "pyproject"
with options_reader.identifier("random"):
@@ -330,7 +344,7 @@ test-command = "pyproject-override"
)
with pytest.raises(ConfigOptionError):
OptionsReader(config_file_path=pyproject_toml, platform=platform)
OptionsReader(config_file_path=pyproject_toml, platform=platform, environ={})
def test_config_settings(tmp_path):
@@ -343,7 +357,7 @@ other = ["two", "three"]
"""
)
options_reader = OptionsReader(config_file_path=pyproject_toml, platform="linux")
options_reader = OptionsReader(config_file_path=pyproject_toml, platform="linux", environ={})
assert (
options_reader.get("config-settings", table={"item": '{k}="{v}"', "sep": " "})
== 'example="one" other="two" other="three"'
@@ -359,7 +373,7 @@ def test_pip_config_settings(tmp_path):
"""
)
options_reader = OptionsReader(config_file_path=pyproject_toml, platform="linux")
options_reader = OptionsReader(config_file_path=pyproject_toml, platform="linux", environ={})
assert (
options_reader.get(
"config-settings", table={"item": "--config-settings='{k}=\"{v}\"'", "sep": " "}