mirror of
https://github.com/borgbackup/borg.git
synced 2025-03-01 09:17:02 +00:00
help_cmd converted
This commit is contained in:
parent
5bc1bbd3a3
commit
a438176b85
1 changed files with 17 additions and 19 deletions
|
@ -2,26 +2,11 @@
|
|||
|
||||
from ...constants import * # NOQA
|
||||
from ...helpers.nanorst import RstToTextLazy, rst_to_terminal
|
||||
from . import ArchiverTestCaseBase, Archiver
|
||||
|
||||
|
||||
class ArchiverTestCase(ArchiverTestCaseBase):
|
||||
def test_usage(self):
|
||||
self.cmd()
|
||||
self.cmd("-h")
|
||||
|
||||
def test_help(self):
|
||||
assert "Borg" in self.cmd("help")
|
||||
assert "patterns" in self.cmd("help", "patterns")
|
||||
assert "creates a new, empty repository" in self.cmd("help", "rcreate")
|
||||
assert "positional arguments" not in self.cmd("help", "rcreate", "--epilog-only")
|
||||
assert "creates a new, empty repository" not in self.cmd("help", "rcreate", "--usage-only")
|
||||
from . import Archiver, cmd
|
||||
|
||||
|
||||
def get_all_parsers():
|
||||
"""
|
||||
Return dict mapping command to parser.
|
||||
"""
|
||||
# Return dict mapping command to parser.
|
||||
parser = Archiver(prog="borg").build_parser()
|
||||
borgfs_parser = Archiver(prog="borgfs").build_parser()
|
||||
parsers = {}
|
||||
|
@ -30,8 +15,8 @@ def discover_level(prefix, parser, Archiver, extra_choices=None):
|
|||
choices = {}
|
||||
for action in parser._actions:
|
||||
if action.choices is not None and "SubParsersAction" in str(action.__class__):
|
||||
for cmd, parser in action.choices.items():
|
||||
choices[prefix + cmd] = parser
|
||||
for command, parser in action.choices.items():
|
||||
choices[prefix + command] = parser
|
||||
if extra_choices is not None:
|
||||
choices.update(extra_choices)
|
||||
if prefix and not choices:
|
||||
|
@ -45,6 +30,19 @@ def discover_level(prefix, parser, Archiver, extra_choices=None):
|
|||
return parsers
|
||||
|
||||
|
||||
def test_usage(archiver):
|
||||
cmd(archiver)
|
||||
cmd(archiver, "-h")
|
||||
|
||||
|
||||
def test_help(archiver):
|
||||
assert "Borg" in cmd(archiver, "help")
|
||||
assert "patterns" in cmd(archiver, "help", "patterns")
|
||||
assert "creates a new, empty repository" in cmd(archiver, "help", "rcreate")
|
||||
assert "positional arguments" not in cmd(archiver, "help", "rcreate", "--epilog-only")
|
||||
assert "creates a new, empty repository" not in cmd(archiver, "help", "rcreate", "--usage-only")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("command, parser", list(get_all_parsers().items()))
|
||||
def test_help_formatting(command, parser):
|
||||
if isinstance(parser.epilog, RstToTextLazy):
|
||||
|
|
Loading…
Reference in a new issue