nixos-rebuild-ng: remove --verbose flag hack

This commit is contained in:
Thiago Kenji Okada
2024-12-13 20:43:46 +00:00
parent 49afd97aab
commit df1de458e0
4 changed files with 12 additions and 6 deletions
@@ -20,7 +20,7 @@ logger.setLevel(logging.INFO)
def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentParser]]:
common_flags = argparse.ArgumentParser(add_help=False)
common_flags.add_argument("--verbose", "-v", action="count", default=0)
common_flags.add_argument("--verbose", "-v", action="count", dest="v", default=0)
common_flags.add_argument("--max-jobs", "-j")
common_flags.add_argument("--cores")
common_flags.add_argument("--log-format")
@@ -202,7 +202,7 @@ def parse_args(
print(f"{parser.prog}: warning: {msg}", file=sys.stderr)
# verbose affects both nix commands and this script, debug only this script
if args.verbose or args.debug:
if args.v or args.debug:
logger.setLevel(logging.DEBUG)
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh#L56
@@ -29,8 +29,11 @@ def dict_to_flags(d: dict[str, Args]) -> list[str]:
flags.append(f"-{key}")
case True:
flags.append(flag)
case int() if len(key) == 1:
flags.append(f"-{key * value}")
case int():
flags.append(f"-{key[0] * value}")
for i in range(value):
flags.append(flag)
case str():
flags.append(flag)
flags.append(value)
@@ -67,12 +67,12 @@ def test_parse_args() -> None:
]
)
assert nr.logger.level == logging.DEBUG
assert r2.verbose == 3
assert r2.v == 3
assert r2.flake is False
assert r2.action == "dry-build"
assert r2.file == "foo"
assert r2.attr == "bar"
assert g2["common_flags"].verbose == 3
assert g2["common_flags"].v == 3
@patch.dict(nr.process.os.environ, {}, clear=True)
@@ -10,7 +10,8 @@ def test_dict_to_flags() -> None:
"test_flag_4": ["v1", "v2"],
"test_flag_5": None,
"t": True,
"verbose": 5,
"v": 5,
"verbose": 2,
}
)
assert r1 == [
@@ -22,6 +23,8 @@ def test_dict_to_flags() -> None:
"v2",
"-t",
"-vvvvv",
"--verbose",
"--verbose",
]
r2 = u.dict_to_flags({"verbose": 0, "empty_list": []})
assert r2 == []