def parse_config()

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