feat: config settings placeholders (#2827)

* feat: config settings placeholders

Assisted-by: Copilot:GPT-5.4
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>

* Update docs/options.md

Co-authored-by: agriya khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>

---------

Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
Co-authored-by: agriya khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
This commit is contained in:
Henry Schreiner
2026-05-09 14:11:40 -04:00
committed by GitHub
co-authored by agriya khetarpal
parent aed06ac94d
commit cbef1e8b89
9 changed files with 99 additions and 15 deletions
+25 -1
View File
@@ -10,7 +10,11 @@ import pytest
from cibuildwheel import errors
from cibuildwheel.bashlex_eval import local_environment_executor
from cibuildwheel.frontend import BuildFrontendConfig, get_build_frontend_extra_flags
from cibuildwheel.frontend import (
BuildFrontendConfig,
get_build_frontend_extra_flags,
prepare_config_settings,
)
from cibuildwheel.logger import Logger
from cibuildwheel.options import (
CommandLineArguments,
@@ -593,6 +597,26 @@ def test_get_build_frontend_extra_flags_warning(
mock_warning.assert_called_once()
@pytest.mark.parametrize(
("config_settings", "expected"),
[
(
"setup-args=--cross-file={project}/meson_cross_files/windows-386.ini",
"setup-args=--cross-file=C:/project/meson_cross_files/windows-386.ini",
),
(
"setup-args=--cross-file={package}/meson_cross_files/windows-386.ini",
"setup-args=--cross-file=C:/project/pkg/meson_cross_files/windows-386.ini",
),
],
)
def test_prepare_config_settings(config_settings: str, expected: str) -> None:
assert (
prepare_config_settings(config_settings, project="C:/project", package="C:/project/pkg")
== expected
)
@pytest.mark.parametrize(
("definition", "expected_args"),
[