in uberpoet/multisuite.py [0:0]
def parse_config(args):
tmp_root = join(tempfile.gettempdir(), 'mock_app_gen_out')
log_root = join(tmp_root, 'logs')
parser = argparse.ArgumentParser(
description='Build all mock app types and log times & traces to a log file. '
'Useful as a benchmark suite to compare build performance of different computers.')
parser.add_argument('--log_dir', default=log_root, help="Where logs such as build times should exist."),
parser.add_argument(
'--app_gen_output_dir', default=tmp_root, help="Where generated mock apps should be outputted to."),
parser.add_argument('--buck_command', default='buck', help="The path to the buck binary. Defaults to `buck`."),
commandlineutil.AppGenerationConfig.add_app_gen_options(parser)
actions = parser.add_argument_group('Extra Actions')
actions.add_argument(
'--trace_cpu', action='store_true', default=False,
help="If we should add cpu utilization to build traces."),
actions.add_argument(
'--switch_xcode_versions',
action='store_true',
default=False,
help="Switch xcode verions as part of the full multisuite test. This will search your "
"`/Applications` directory for xcode.app bundles to build with. Requires sudo."),
actions.add_argument(
'--full_clean',
action='store_true',
default=False,
help="Clean all default xcode cache directories to prevent cache effects changing test results."),
testing = parser.add_argument_group('Testing Shortcuts')
testing.add_argument(
'--skip_xcode_build',
action='store_true',
default=False,
help="Skips building the mock apps. Useful for speeding up testing and making "
"integration tests independent of non-python dependencies."),
testing.add_argument(
'--test_build_only',
action='store_true',
default=False,
help="Only builds a small flat build type to create short testing loops."),
out = parser.parse_args(args)
commandlineutil.AppGenerationConfig.validate_app_gen_options(out)
return out