homemaker-layout/tests/test_evolve_cli.py

34 lines
1 KiB
Python
Raw Normal View History

"""CLI argument wiring for homemaker-evolve (homemaker-py-x3b)."""
from pathlib import Path
from homemaker_layout.evolve import _parse_args
def test_leaf_sharing_defaults_on():
args = _parse_args(["seed.dom"])
assert args.leaf_sharing is True
assert args.leaf_share_factor == 3
assert args.seed_dom == Path("seed.dom")
def test_no_leaf_sharing_flag():
args = _parse_args(["seed.dom", "--no-leaf-sharing"])
assert args.leaf_sharing is False
def test_leaf_share_factor_opt_in_mode():
args = _parse_args(["seed.dom", "--leaf-share-factor", "0"])
assert args.leaf_share_factor == 0
assert args.leaf_sharing is True
def test_leaf_sharing_env_default(monkeypatch):
monkeypatch.setenv("HOMEMAKER_LEAF_SHARING", "0")
monkeypatch.setenv("HOMEMAKER_LEAF_SHARE_FACTOR", "5")
args = _parse_args(["seed.dom"])
assert args.leaf_sharing is False
assert args.leaf_share_factor == 5
# explicit flag still wins over the env default
assert _parse_args(["seed.dom", "--leaf-sharing"]).leaf_sharing is True