def test_case_utils_miss_arg_version(self):
     """Tests the utils._handleVersionArgs with an invalid value as input"""
     theResult = False
     try:
         from piaplib import pku as pku
         if pku.__name__ is None:
             raise ImportError("Failed to import pku")
         from pku import utils as utils
         if utils.__name__ is None:
             raise ImportError("Failed to import utils")
         test_error = str(
             """__init__() missing 1 required positional argument: 'message'"""
         )
         with self.assertLogs('piaplib') as cm:
             with self.assertRaises(RuntimeError):
                 utils._handleVersionArgs(argParser=None)
         self.assertIsNotNone(cm.output, str("""No Error Message Logged"""))
         test_mesg = str(cm.output)
         self.assertIn(
             test_error, test_mesg,
             str("""Wrong Error Messages (missing test case error)"""))
         theResult = True
     except Exception as err:
         print(str(""))
         print(str(type(err)))
         print(str(err))
         print(str((err.args)))
         print(str(""))
         err = None
         del err
         theResult = False
     self.assertTrue(theResult)
def generateParser(calling_parser_group):
	"""Parses the CLI arguments."""
	if calling_parser_group is None:
		parser = argparse.ArgumentParser(
			prog=__prog__,
			description=__description__,
			epilog=__epilog__
		)
	else:
		parser = calling_parser_group.add_parser(
			str(__prog__).split(".")[-1], help=__description__
		)
	parser.add_argument('-u', '--user', default=None, help='The user to show.')
	parser.add_argument(
		'-l', '--list',
		default=False, action='store_true',
		help='List current users.'
	)
	parser.add_argument(
		'--html', dest='output_html',
		default=False, action='store_true',
		help='output HTML.'
	)
	parser.add_argument(
		'-a', '--all',
		dest='show_all', default=False,
		action='store_true', help='show all users.'
	)
	parser = utils._handleVerbosityArgs(parser, default=False)
	parser = utils._handleVersionArgs(parser)
	if calling_parser_group is None:
		calling_parser_group = parser
	return calling_parser_group
def generateParser(calling_parser_group):
    """Parses the CLI arguments."""
    if calling_parser_group is None:
        parser = argparse.ArgumentParser(prog=__prog__,
                                         description=__description__,
                                         epilog=__epilog__)
    else:
        parser = calling_parser_group.add_parser(str(__prog__).split(".")[-1],
                                                 help=__description__)
    parser.add_argument('-i',
                        '--interface',
                        default=interfaces.INTERFACE_CHOICES[0],
                        choices=interfaces.INTERFACE_CHOICES,
                        help='The interface to show.')
    parser.add_argument('-l',
                        '--list',
                        default=False,
                        action='store_true',
                        help='List current interfaces.')
    parser.add_argument('--html',
                        dest='output_html',
                        default=False,
                        action='store_true',
                        help='output html.')
    parser.add_argument('-a',
                        '--all',
                        dest='show_all',
                        default=False,
                        action='store_true',
                        help='show all interfaces.')
    parser = utils._handleVerbosityArgs(parser, default=False)
    parser = utils._handleVersionArgs(parser)
    if calling_parser_group is None:
        calling_parser_group = parser
    return calling_parser_group
예제 #4
0
def generateParser(calling_parser_group):
    """Parses the CLI arguments."""
    if calling_parser_group is None:
        parser = argparse.ArgumentParser(
            prog=__prog__,
            description=u'Run an untrusted plugin or command.',
            epilog=u'This is for all the dirty work. So unpoetic.')
    else:
        parser = calling_parser_group.add_parser(
            str(__prog__).split(".")[-1],
            help='Run an untrusted plugin or command.')
    parser.add_argument('-u',
                        '--uid',
                        default=os.geteuid(),
                        type=int,
                        required=False,
                        help='the uid to use.')
    parser.add_argument('-g',
                        '--gid',
                        default=os.getegid(),
                        type=int,
                        required=False,
                        help='the gid to use.')
    parser.add_argument('--chroot',
                        dest='chroot_path',
                        default=None,
                        type=str,
                        required=False,
                        help='the sandbox to play in.')
    parser = utils._handleVerbosityArgs(parser, default=False)
    parser.add_argument('-c',
                        '--cmd',
                        dest='unsafe_input',
                        action='append',
                        help='The command.')
    parser.add_argument('-a',
                        '--args',
                        dest='unsafe_input',
                        action='append',
                        help='The command arguments.')
    parser.add_argument('-o',
                        '--out',
                        dest='unsafe_output',
                        default=False,
                        action='store_true',
                        help='Return the command output.')
    parser = utils._handleVersionArgs(parser)
    if calling_parser_group is None:
        calling_parser_group = parser
    return calling_parser_group
예제 #5
0
def generateParser(calling_parser_group):
    """Parses the CLI arguments."""
    if calling_parser_group is None:
        parser = argparse.ArgumentParser(prog=__prog__,
                                         description=__description__,
                                         epilog=__epilog__)
    else:
        parser = calling_parser_group.add_parser(
            str(__prog__).split(".")[-1],
            help='the pocket lint service option.')
    parser = utils._handleVersionArgs(parser)
    subparser = parser.add_subparsers(title="Checks",
                                      dest='check_unit',
                                      help='the pocket service check option.',
                                      metavar="CHECK_UNIT")
    for sub_parser in sorted(CHECK_UNITS.keys()):
        if CHECK_UNITS[sub_parser] is not None:
            subparser = CHECK_UNITS[sub_parser].generateParser(subparser)
    if calling_parser_group is None:
        calling_parser_group = parser
    return calling_parser_group