You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/lib/ansible_test/_internal/cli/commands/sanity.py

106 lines
2.4 KiB
Python

"""Command line parsing for the `sanity` command."""
from __future__ import annotations
import argparse
from ...config import (
SanityConfig,
)
from ...commands.sanity import (
command_sanity,
sanity_get_tests,
)
from ...target import (
walk_sanity_targets,
)
from ..environments import (
CompositeActionCompletionFinder,
ControllerMode,
TargetMode,
add_environments,
)
def do_sanity(
subparsers,
parent: argparse.ArgumentParser,
completer: CompositeActionCompletionFinder,
):
"""Command line parsing for the `sanity` command."""
parser: argparse.ArgumentParser = subparsers.add_parser(
'sanity',
parents=[parent],
help='sanity tests',
)
parser.set_defaults(
func=command_sanity,
targets_func=walk_sanity_targets,
config=SanityConfig,
)
sanity = parser.add_argument_group(title='sanity test arguments')
sanity.add_argument(
'--test',
metavar='TEST',
action='append',
choices=[test.name for test in sanity_get_tests()],
help='tests to run',
)
sanity.add_argument(
'--skip-test',
metavar='TEST',
action='append',
choices=[test.name for test in sanity_get_tests()],
help='tests to skip',
)
sanity.add_argument(
'--allow-disabled',
action='store_true',
help='allow tests to run which are disabled by default',
)
sanity.add_argument(
'--list-tests',
action='store_true',
help='list available tests',
)
sanity.add_argument(
'--enable-optional-errors',
action='store_true',
help='enable optional errors',
)
sanity.add_argument(
'--lint',
action='store_true',
help='write lint output to stdout, everything else stderr',
)
sanity.add_argument(
'--junit',
action='store_true',
help='write test failures to junit xml files',
)
sanity.add_argument(
'--failure-ok',
action='store_true',
help='exit successfully on failed tests after saving results',
)
sanity.add_argument(
'--prime-venvs',
action='store_true',
help='prepare virtual environments without running tests',
)
add_environments(parser, completer, ControllerMode.DELEGATED, TargetMode.SANITY) # sanity