Source code for autotest.client.optparser

'''
Autotest client/local option parser
'''

import optparse
import sys

from autotest.client.cmdparser import CommandParser

__all__ = ['AutotestLocalOptionParser']


[docs]class AutotestLocalOptionParser(optparse.OptionParser): ''' Default autotest option parser ''' def __init__(self): command_info = ('[command]\t\tOne of: %s' % ", ".join(CommandParser.COMMAND_LIST)) if sys.version_info[0:2] < (2, 6): optparse.OptionParser.__init__( self, usage='Usage: %prog [options] [command] <control-file>', description=command_info ) else: optparse.OptionParser.__init__( self, usage='Usage: %prog [options] [command] <control-file>', epilog=command_info ) general = optparse.OptionGroup(self, 'GENERAL JOB CONTROL') general.add_option("-a", "--args", dest='args', help="additional args to pass to control file") general.add_option("-c", "--continue", dest="cont", action="store_true", default=False, help="continue previously started job") general.add_option("-H", "--harness", dest="harness", type="string", default='', help="set the harness type") general.add_option("-P", "--harness_args", dest="harness_args", type="string", default='', help="arguments delivered to harness") general.add_option('--client_test_setup', dest='client_test_setup', type='string', default=None, action='store', help=('a comma separated list of client tests to ' 'prebuild on the server. Use all to prebuild ' 'all of them.')) general.add_option("-d", '--test_directory', dest='test_directory', type='string', default=None, action='store', help=('Specify a custom test directory ')) self.add_option_group(general) job_id = optparse.OptionGroup(self, 'JOB IDENTIFICATION') job_id.add_option("-t", "--tag", dest="tag", type="string", default="default", help="set the job tag") job_id.add_option('--hostname', dest='hostname', type='string', default=None, action='store', help=('Take this as the hostname of this machine ' '(given by autoserv)')) job_id.add_option("-U", "--user", dest="user", type="string", default='', help="set the job username") self.add_option_group(job_id) verbosity = optparse.OptionGroup(self, 'VERBOSITY') verbosity.add_option('-v', '--verbose', dest='verbose', action='store_true', default=False, help='Include DEBUG messages in console output. ' 'If omitted, only informational messages will be ' 'shown.') self.add_option_group(verbosity) output = optparse.OptionGroup(self, 'OUTPUT LOCATION AND FORMAT') output.add_option("-l", "--external_logging", dest="log", action="store_true", default=False, help="Enable external logging. This only makes any " "difference if you have a site_job.py file that " "implements the custom logging functionality ") output.add_option('--output_dir', dest='output_dir', type='string', default="", action='store', help=('Specify an alternate path to store test result ' 'logs')) output.add_option('--tap', dest='tap_report', action='store_true', default=None, help='Output TAP (Test anything ' 'protocol) reports') self.add_option_group(output)