18
18
from ansible_dev_environment .output import Output
19
19
from ansible_dev_environment .utils import JSONVal
20
20
21
+ class SafeEnvBuilder (EnvBuilder ):
22
+ def __init__ (self , system_site_packages = False , clear = False ,
23
+ symlinks = True , upgrade = False , with_pip = False , prompt = None ,
24
+ upgrade_deps = False ):
25
+ """Ensure that symlinks defaults to True because otherwise it will create broken venvs with tools like pyenv, asdf or mise."""
26
+ super ().__init__ (system_site_packages = system_site_packages , clear = clear , symlinks = symlinks , upgrade = upgrade , with_pip = with_pip , prompt = prompt , upgrade_deps = upgrade_deps )
21
27
22
28
def test_tree_empty (
23
29
capsys : pytest .CaptureFixture [str ],
@@ -32,7 +38,8 @@ def test_tree_empty(
32
38
tmp_path: Pytest fixture.
33
39
"""
34
40
venv_path = tmp_path / "venv"
35
- EnvBuilder ().create (venv_path )
41
+ env = SafeEnvBuilder ()
42
+ env .create (venv_path )
36
43
37
44
args = Namespace (
38
45
venv = venv_path ,
@@ -63,7 +70,7 @@ def test_tree_malformed_info(
63
70
tmp_path: Pytest fixture.
64
71
"""
65
72
venv_path = tmp_path / "venv"
66
- EnvBuilder ().create (venv_path )
73
+ SafeEnvBuilder ().create (venv_path )
67
74
68
75
args = Namespace (
69
76
venv = venv_path ,
@@ -118,7 +125,7 @@ def test_tree_malformed_deps(
118
125
tmp_path: Pytest fixture.
119
126
"""
120
127
venv_path = tmp_path / "venv"
121
- EnvBuilder ().create (venv_path )
128
+ SafeEnvBuilder ().create (venv_path )
122
129
123
130
args = Namespace (
124
131
venv = venv_path ,
@@ -175,7 +182,7 @@ def test_tree_malformed_deps_not_string(
175
182
tmp_path: Pytest fixture.
176
183
"""
177
184
venv_path = tmp_path / "venv"
178
- EnvBuilder ().create (venv_path )
185
+ SafeEnvBuilder ().create (venv_path )
179
186
180
187
args = Namespace (
181
188
venv = venv_path ,
@@ -232,7 +239,7 @@ def test_tree_malformed_repo_not_string(
232
239
capsys: Pytest stdout capture fixture.
233
240
"""
234
241
venv_path = tmp_path / "venv"
235
- EnvBuilder ().create (venv_path )
242
+ SafeEnvBuilder ().create (venv_path )
236
243
237
244
args = Namespace (
238
245
venv = venv_path ,
0 commit comments