mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
cli: lowercase metavar by default (#10227)
* cli: lowercase metavar by default * add tests for help message
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import logging
|
||||
import re
|
||||
from argparse import SUPPRESS, ArgumentParser
|
||||
from itertools import takewhile
|
||||
from typing import Tuple
|
||||
|
||||
import pytest
|
||||
@@ -44,5 +46,19 @@ def test_help(caplog, capsys, command_tuples):
|
||||
assert not caplog.text
|
||||
|
||||
out, err = capsys.readouterr()
|
||||
|
||||
# validate metavars are all in lowercase
|
||||
usage = "\n".join(takewhile(lambda o: bool(o), out.splitlines()))
|
||||
|
||||
message = (
|
||||
"metavars not lowercased, you are likely missing formatter_class=XXX "
|
||||
"in the command, where XXX should be any of the classes from "
|
||||
"`dvc.cli.formatter`, which automatically lowercases metavars.\n"
|
||||
"\nExample:\n"
|
||||
"\nfrom dvc.cli import formatter\n"
|
||||
"\nparser.add_parser(..., formatter_class=formatter.TextHelpFormatter)\n"
|
||||
)
|
||||
assert not re.findall(r"\b[A-Z]{2,}\b", usage, re.MULTILINE), message
|
||||
|
||||
assert not err
|
||||
assert out
|
||||
|
||||
Reference in New Issue
Block a user