@@ -51,14 +51,15 @@ def test_set_env_bad_line() -> None:
5151 SetEnv ("A" , "py" , "py" , Path ())
5252
5353
54- _ConfType = Literal ["ini" , "toml" ]
54+ ConfigFileFormat = Literal ["ini" , "toml" ]
5555
5656
5757class EvalSetEnv (Protocol ):
5858 def __call__ (
5959 self ,
6060 config : str ,
61- conf_type : _ConfType = "ini" ,
61+ * ,
62+ of_type : ConfigFileFormat = "ini" ,
6263 extra_files : dict [str , Any ] | None = ...,
6364 from_cwd : Path | None = ...,
6465 ) -> SetEnv : ...
@@ -68,14 +69,12 @@ def __call__(
6869def eval_set_env (tox_project : ToxProjectCreator ) -> EvalSetEnv :
6970 def func (
7071 config : str ,
71- conf_type : _ConfType = "ini" ,
72+ * ,
73+ of_type : ConfigFileFormat = "ini" ,
7274 extra_files : dict [str , Any ] | None = None ,
7375 from_cwd : Path | None = None ,
7476 ) -> SetEnv :
75- if conf_type == "ini" :
76- prj = tox_project ({"tox.ini" : config , ** (extra_files or {})})
77- else :
78- prj = tox_project ({"tox.toml" : config , ** (extra_files or {})})
77+ prj = tox_project ({f"tox.{ of_type } " : config , ** (extra_files or {})})
7978 result = prj .run ("c" , "-k" , "set_env" , "-e" , "py" , from_cwd = None if from_cwd is None else prj .path / from_cwd )
8079 result .assert_success ()
8180 set_env : SetEnv = result .env_conf ("py" )["set_env" ]
@@ -162,17 +161,18 @@ def test_set_env_honor_override(eval_set_env: EvalSetEnv) -> None:
162161
163162
164163@pytest .mark .parametrize (
165- ("conf_type " , "config" ),
164+ ("of_type " , "config" ),
166165 [
167- ("ini" , "[testenv]\n package=skip\n set_env=file|A{/}a.txt\n change_dir=C" ),
168- ("toml" , '[env_run_base]\n package="skip"\n set_env={file="A{/}a.txt"}\n change_dir="C"' ),
169- # Using monkeypatched env setting as a reference
170- ("ini" , "[testenv]\n package=skip\n set_env=file|{env:myenvfile}\n change_dir=C" ),
171- ("toml" , '[env_run_base]\n package="skip"\n set_env={file="{env:myenvfile}"}\n change_dir="C"' ),
166+ pytest .param ("ini" , "[testenv]\n package=skip\n set_env=file|A{/}a.txt\n change_dir=C" , id = "ini" ),
167+ pytest .param ("toml" , '[env_run_base]\n package="skip"\n set_env={file="A{/}a.txt"}\n change_dir="C"' , id = "toml" ),
168+ pytest .param ("ini" , "[testenv]\n package=skip\n set_env=file|{env:env_file}\n change_dir=C" , id = "ini-env" ),
169+ pytest .param (
170+ "toml" , '[env_run_base]\n package="skip"\n set_env={file="{env:env_file}"}\n change_dir="C"' , id = "toml-env"
171+ ),
172172 ],
173173)
174174def test_set_env_environment_file (
175- conf_type : _ConfType , config : str , eval_set_env : EvalSetEnv , monkeypatch : MonkeyPatch
175+ of_type : ConfigFileFormat , config : str , eval_set_env : EvalSetEnv , monkeypatch : MonkeyPatch
176176) -> None :
177177 env_file = """
178178 A=1
@@ -182,11 +182,10 @@ def test_set_env_environment_file(
182182 E = "1"
183183 F =
184184 """
185- # Monkeypatch only used for some of the parameters
186- monkeypatch .setenv ("myenvfile" , "A{/}a.txt" )
185+ monkeypatch .setenv ("env_file" , "A{/}a.txt" )
187186
188187 extra = {"A" : {"a.txt" : env_file }, "B" : None , "C" : None }
189- set_env = eval_set_env (config , conf_type = conf_type , extra_files = extra , from_cwd = Path ("B" ))
188+ set_env = eval_set_env (config , of_type = of_type , extra_files = extra , from_cwd = Path ("B" ))
190189 content = {k : set_env .load (k ) for k in set_env }
191190 assert content == {
192191 "PIP_DISABLE_PIP_VERSION_CHECK" : "1" ,
@@ -201,26 +200,31 @@ def test_set_env_environment_file(
201200
202201
203202@pytest .mark .parametrize (
204- ("conf_type " , "config" ),
203+ ("of_type " , "config" ),
205204 [
206- ("ini" , "[testenv]\n package=skip\n set_env=file|A{/}a.txt\n X=y\n change_dir=C" ),
207- ("toml" , '[env_run_base]\n package="skip"\n set_env={file="A{/}a.txt", X="y"}\n change_dir="C"' ),
208- # Using monkeypatched env setting as a reference
209- ("ini" , "[testenv]\n package=skip\n set_env=file|{env:myenvfile}\n X=y\n change_dir=C" ),
210- ("toml" , '[env_run_base]\n package="skip"\n set_env={file="{env:myenvfile}", X="y"}\n change_dir="C"' ),
205+ pytest .param ("ini" , "[testenv]\n package=skip\n set_env=file|A{/}a.txt\n X=y\n change_dir=C" , id = "ini" ),
206+ pytest .param (
207+ "toml" , '[env_run_base]\n package="skip"\n set_env={file="A{/}a.txt", X="y"}\n change_dir="C"' , id = "toml"
208+ ),
209+ pytest .param ("ini" , "[testenv]\n package=skip\n set_env=file|{env:env_file}\n X=y\n change_dir=C" , id = "ini-env" ),
210+ pytest .param (
211+ "toml" ,
212+ '[env_run_base]\n package="skip"\n set_env={file="{env:env_file}", X="y"}\n change_dir="C"' ,
213+ id = "toml-env" ,
214+ ),
211215 ],
212216)
213217def test_set_env_environment_file_combined_with_normal_setting (
214- conf_type : _ConfType , config : str , eval_set_env : EvalSetEnv , monkeypatch : MonkeyPatch
218+ of_type : ConfigFileFormat , config : str , eval_set_env : EvalSetEnv , monkeypatch : MonkeyPatch
215219) -> None :
216220 env_file = """
217221 A=1
218222 """
219223 # Monkeypatch only used for some of the parameters
220- monkeypatch .setenv ("myenvfile " , "A{/}a.txt" )
224+ monkeypatch .setenv ("env_file " , "A{/}a.txt" )
221225
222226 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" ))
227+ set_env = eval_set_env (config , of_type = of_type , extra_files = extra , from_cwd = Path ("B" ))
224228 content = {k : set_env .load (k ) for k in set_env }
225229 assert content == {
226230 "PIP_DISABLE_PIP_VERSION_CHECK" : "1" ,
0 commit comments