# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""argparse.ArgumentParser for the mini_installer test suite.
The provided parser is based on that created by typ.
"""
import typ
def ArgumentParser(host=None):
"""Returns an argparse.ArgumentParser for the mini_installer test suite.
Args:
host: A typ.Host to pass to typ's argument parser.
Returns:
A filled out ArgumentParser instance.
"""
parser = typ.ArgumentParser(host)
group = parser.add_argument_group(title='run_mini_installer_tests')
group.add_argument('--force-clean',
action='store_true',
default=False,
help='Force cleaning existing installations')
group.add_argument(
'--output-dir',
metavar='DIR',
help='Directory into which crash dumps and other output '
' files are to be written')
group.add_argument('--installer-path',
default='mini_installer.exe',
metavar='FILENAME',
help='The path of the installer.')
group.add_argument('--previous-version-installer-path',
default='previous_version_mini_installer.exe',
metavar='FILENAME',
help='The path of the previous version installer.')
group.add_argument('--chromedriver-path',
default='chromedriver.exe',
help='The path to chromedriver.')
group.add_argument('--config',
default='config.config',
metavar='FILENAME',
help='Path to test configuration file')
return parser