Skip to content

Commit 222c89c

Browse files
committed
Testing set_env 'file' option in TOML as dict
1 parent 4ec2bf5 commit 222c89c

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

tests/config/test_set_env.py

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,10 +165,10 @@ def test_set_env_honor_override(eval_set_env: EvalSetEnv) -> None:
165165
("conf_type", "config"),
166166
[
167167
("ini", "[testenv]\npackage=skip\nset_env=file|A{/}a.txt\nchange_dir=C"),
168-
("toml", '[env_run_base]\npackage="skip"\nset_env="file|A{/}a.txt"\nchange_dir="C"'),
168+
("toml", '[env_run_base]\npackage="skip"\nset_env={file="A{/}a.txt"}\nchange_dir="C"'),
169169
# Using monkeypatched env setting as a reference
170170
("ini", "[testenv]\npackage=skip\nset_env=file|{env:myenvfile}\nchange_dir=C"),
171-
("toml", '[env_run_base]\npackage="skip"\nset_env="file|{env:myenvfile}"\nchange_dir="C"'),
171+
("toml", '[env_run_base]\npackage="skip"\nset_env={file="{env:myenvfile}"}\nchange_dir="C"'),
172172
],
173173
)
174174
def test_set_env_environment_file(
@@ -200,6 +200,37 @@ def test_set_env_environment_file(
200200
}
201201

202202

203+
@pytest.mark.parametrize(
204+
("conf_type", "config"),
205+
[
206+
("ini", "[testenv]\npackage=skip\nset_env=file|A{/}a.txt\n X=y\nchange_dir=C"),
207+
("toml", '[env_run_base]\npackage="skip"\nset_env={file="A{/}a.txt", X="y"}\nchange_dir="C"'),
208+
# Using monkeypatched env setting as a reference
209+
("ini", "[testenv]\npackage=skip\nset_env=file|{env:myenvfile}\n X=y\nchange_dir=C"),
210+
("toml", '[env_run_base]\npackage="skip"\nset_env={file="{env:myenvfile}", X="y"}\nchange_dir="C"'),
211+
],
212+
)
213+
def test_set_env_environment_file_combined_with_normal_setting(
214+
conf_type: _ConfType, config: str, eval_set_env: EvalSetEnv, monkeypatch: MonkeyPatch
215+
) -> None:
216+
env_file = """
217+
A=1
218+
"""
219+
# Monkeypatch only used for some of the parameters
220+
monkeypatch.setenv("myenvfile", "A{/}a.txt")
221+
222+
extra = {"A": {"a.txt": env_file}, "B": None, "C": None}
223+
set_env = eval_set_env(config, conf_type=conf_type, extra_files=extra, from_cwd=Path("B"))
224+
content = {k: set_env.load(k) for k in set_env}
225+
assert content == {
226+
"PIP_DISABLE_PIP_VERSION_CHECK": "1",
227+
"PYTHONHASHSEED": ANY,
228+
"A": "1",
229+
"X": "y",
230+
"PYTHONIOENCODING": "utf-8",
231+
}
232+
233+
203234
def test_set_env_environment_file_missing(tox_project: ToxProjectCreator) -> None:
204235
project = tox_project({"tox.ini": "[testenv]\npackage=skip\nset_env=file|magic.txt"})
205236
result = project.run("r")

0 commit comments

Comments
 (0)