|
39 | 39 | actions={Action.REPORT_UNDECLARED, Action.REPORT_UNUSED},
|
40 | 40 | code={Path(".")},
|
41 | 41 | deps={Path(".")},
|
42 |
| - pyenvs=set(), |
| 42 | + pyenvs={Path(".")}, |
43 | 43 | custom_mapping_file=set(),
|
44 | 44 | custom_mapping=None,
|
45 | 45 | output_format=OutputFormat.HUMAN_SUMMARY,
|
@@ -81,22 +81,23 @@ def _inner(**kwargs: str):
|
81 | 81 |
|
82 | 82 | safe_string = strategies.text(alphabet=string.ascii_letters + string.digits, min_size=1)
|
83 | 83 | nonempty_string_set = strategies.sets(safe_string, min_size=1)
|
84 |
| -three_different_string_groups = strategies.tuples( |
85 |
| - nonempty_string_set, nonempty_string_set, nonempty_string_set |
86 |
| -).filter(lambda ss: ss[0] != ss[1] and ss[0] != ss[2] and ss[1] != ss[2]) |
| 84 | +four_different_string_groups = strategies.tuples( |
| 85 | + *([nonempty_string_set] * 4), |
| 86 | +).filter(lambda ss: all(a != b for a, b in combinations(ss, 2))) |
87 | 87 |
|
88 | 88 |
|
89 |
| -@given(code_deps_base=three_different_string_groups) |
90 |
| -def test_code_deps_and_base_unequal__raises_error(code_deps_base): |
91 |
| - code, deps, base = code_deps_base |
92 |
| - args = list(base) + ["--code"] + list(code) + ["--deps"] + list(deps) |
| 89 | +@given(code_deps_pyenvs_base=four_different_string_groups) |
| 90 | +def test_code_deps_pyenvs_and_base_unequal__raises_error(code_deps_pyenvs_base): |
| 91 | + code, deps, pyenvs, base = code_deps_pyenvs_base |
| 92 | + args = [*base, "--code", *code, "--deps", *deps, "--pyenv", *pyenvs] |
93 | 93 | with pytest.raises(argparse.ArgumentError):
|
94 | 94 | run_build_settings(args)
|
95 | 95 |
|
96 | 96 |
|
97 | 97 | path_options = { # options (-> settings members) that interact with basepath
|
98 | 98 | "--code": "code",
|
99 | 99 | "--deps": "deps",
|
| 100 | + "--pyenv": "pyenvs", |
100 | 101 | }
|
101 | 102 |
|
102 | 103 | Item = TypeVar("Item")
|
@@ -151,13 +152,19 @@ def test_base_path_fills_path_options_when_other_path_settings_are_absent(basepa
|
151 | 152 | pytest.param(conf_sett, base, id=test_name)
|
152 | 153 | for conf_sett, base, test_name in [
|
153 | 154 | (None, {"single-base"}, "empty-config"),
|
154 |
| - (dict(code=["test-code"]), {"base1", "base2"}, "only-code-set"), |
155 |
| - (dict(deps=["deps-test"]), {"single-base"}, "only-deps-set"), |
| 155 | + ({"code": ["test-code"]}, {"base1", "base2"}, "only-code-set"), |
| 156 | + ({"deps": ["deps-test"]}, {"single-base"}, "only-deps-set"), |
| 157 | + ({"pyenvs": ["pyenvs-test"]}, {"single-base"}, "only-pyenvs-set"), |
156 | 158 | (
|
157 |
| - dict(code=["code-test"], deps=["test-deps"]), |
| 159 | + {"code": ["code-test"], "deps": ["test-deps"]}, |
158 | 160 | {"base1", "base2"},
|
159 | 161 | "code-and-deps-set",
|
160 | 162 | ),
|
| 163 | + ( |
| 164 | + {"code": ["code-test"], "deps": ["test-deps"], "pyenvs": ["abc"]}, |
| 165 | + {"base1", "base2"}, |
| 166 | + "all-three-set", |
| 167 | + ), |
161 | 168 | ]
|
162 | 169 | ],
|
163 | 170 | )
|
|
0 commit comments