Ejemplo n.º 1
0
    def test_configfile_missing_config_file(self, expanduser):
        def main(arg, unk):
            pass

        expanduser.return_value = os.path.join(os.curdir, 'tests')
        with self.assertWarns(UserWarning):
            cmdline.create_parser(main, config_section='foo')
Ejemplo n.º 2
0
    def test_configfile_wrong_config_section(self, expanduser):
        def main(arg, unk, foo_arg, bar_arg):
            pass

        expanduser.return_value = os.path.join(os.curdir, 'tests')
        with self.assertRaises(TypeError):
            cmdline.create_parser(main,
                                  config_file='config_test.cfg',
                                  config_section=('foo', 'bar'))
        with self.assertRaises(TypeError):
            cmdline.create_parser(main,
                                  config_file='config_test.cfg',
                                  config_section=set(['foo', 'bar']))
Ejemplo n.º 3
0
    def test_keyword_argument(self):
        def main(opt=Ellipsis):
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._optionals._actions), 2)
        self.assertIs(parser._optionals._actions[1].default, Ellipsis)
Ejemplo n.º 4
0
    def test_keyword_argument(self):
        def main(opt=Ellipsis):
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._optionals._actions), 2)
        self.assertIs(parser._optionals._actions[1].default, Ellipsis)
Ejemplo n.º 5
0
 def test_lexical_order(self):
     def main(zeta, alpha, delta):
         pass
     parser = cmdline.create_parser(main, lexical_order=True)
     self.assertEqual(parser._optionals._actions[1].dest, 'alpha')
     self.assertEqual(parser._optionals._actions[2].dest, 'delta')
     self.assertEqual(parser._optionals._actions[3].dest, 'zeta')
Ejemplo n.º 6
0
 def test_subcommand_conflict_resoltion(self):
     @subcommands.subcommand
     def subcmd(help):
         pass
     def main():
         pass
     parser = cmdline.create_parser(main)
Ejemplo n.º 7
0
    def test_void_function(self):
        def main():
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._optionals._actions), 1)
        self.assertEqual(parser._optionals._actions[0].dest, 'help')
Ejemplo n.º 8
0
    def test_help_strings(self):
        def main(a, b=None):
            pass

        parser = cmdline.create_parser(main)
        self.assertIs(parser._optionals._actions[1].help, None)
        self.assertEqual(parser._optionals._actions[2].help, "(default: %(default)s)")
Ejemplo n.º 9
0
 def test_tracebacks(self):
     @extensions.Tracebacks
     def main():
         pass
     parser = cmdline.create_parser(main)
     self.assertEqual(len(parser._action_groups), 3)
     self.assertEqual(len(parser._optionals._actions), 3)
Ejemplo n.º 10
0
 def test_configfile(self, expanduser):
     def main(arg, unk):
         pass
     expanduser.return_value = os.path.join(os.curdir, 'tests')
     parser = cmdline.create_parser(main, config_file='config_test.cfg')
     self.assertEqual(parser._optionals._actions[1].default, 'value')
     self.assertEqual(parser._optionals._actions[2].default, cmdline.NODEFAULT)
Ejemplo n.º 11
0
    def test_positional_arguments(self):
        def main(a, b, c):
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._optionals._actions), 4)
        self.assertIs(parser._optionals._actions[1].default, cmdline.NODEFAULT)
Ejemplo n.º 12
0
    def test_positional_arguments(self):
        def main(a, b, c):
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._optionals._actions), 4)
        self.assertIs(parser._optionals._actions[1].default, cmdline.NODEFAULT)
Ejemplo n.º 13
0
 def test_false_flag(self):
     def main(flag=False):
         pass
     parser = cmdline.create_parser(main)
     self.assertIs(parser._optionals._actions[1].default, False)
     self.assertEqual(parser._optionals._actions[1].dest, 'flag')
     self.assertIs(parser._optionals._actions[2].default, False)
     self.assertEqual(parser._optionals._actions[2].dest, 'flag')
Ejemplo n.º 14
0
    def test_help_strings(self):
        def main(a, b=None):
            pass

        parser = cmdline.create_parser(main)
        self.assertIs(parser._optionals._actions[1].help, None)
        self.assertEqual(parser._optionals._actions[2].help,
                         '(default: %(default)s)')
Ejemplo n.º 15
0
    def test_lexical_order(self):
        def main(zeta, alpha, delta):
            pass

        parser = cmdline.create_parser(main, lexical_order=True)
        self.assertEqual(parser._optionals._actions[1].dest, 'alpha')
        self.assertEqual(parser._optionals._actions[2].dest, 'delta')
        self.assertEqual(parser._optionals._actions[3].dest, 'zeta')
Ejemplo n.º 16
0
    def test_tracebacks(self):
        @extensions.Tracebacks
        def main():
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._action_groups), 3)
        self.assertEqual(len(parser._optionals._actions), 3)
Ejemplo n.º 17
0
    def test_configfile(self, expanduser):
        def main(arg, unk):
            pass

        expanduser.return_value = os.path.join(os.curdir, 'tests')
        parser = cmdline.create_parser(main, config_file='config_test.cfg')
        self.assertEqual(parser._optionals._actions[1].default, 'value')
        self.assertEqual(parser._optionals._actions[2].default,
                         cmdline.NODEFAULT)
Ejemplo n.º 18
0
 def test_subcommand(self):
     @subcommands.subcommand
     def subcmd():
         pass
     def main():
         pass
     parser = cmdline.create_parser(main)
     self.assertEqual(len(parser._action_groups), 3)
     self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 19
0
    def test_subcommand_conflict_resoltion(self):
        @subcommands.subcommand
        def subcmd(help):
            pass

        def main():
            pass

        parser = cmdline.create_parser(main)
Ejemplo n.º 20
0
 def test_subcommand_group(self):
     @subcommands.subcommand(group='named.collector')
     def subcmd():
         pass
     def main():
         pass
     parser = cmdline.create_parser(main, sub_group='named.collector')
     self.assertEqual(len(parser._action_groups), 3)
     self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 21
0
    def test_true_flag(self):
        def main(flag=True):
            pass

        parser = cmdline.create_parser(main)
        self.assertIs(parser._optionals._actions[1].default, True)
        self.assertEqual(parser._optionals._actions[1].dest, 'flag')
        self.assertIs(parser._optionals._actions[2].default, True)
        self.assertEqual(parser._optionals._actions[2].dest, 'flag')
Ejemplo n.º 22
0
 def __init__(self, func, auto_convert=False, cmd_delim=None,
         sub_group=None, collector=None, **kwargs):
     if auto_convert:
         func = convert(_automatic=True)(func)
     Wrapping.__init__(self, func)
     self._cmd_delim = cmd_delim
     self._group = sub_group
     self._collector = collector
     self._parser = cmdline.create_parser(func, sub_group=self._group,
             collector=self._collector, **kwargs)
Ejemplo n.º 23
0
 def test_plugins(self, iep):
     def main():
         pass
     def subcmd():
         pass
     def entry_points(group, *args):
         yield subcmd
     iep.side_effect = entry_points
     parser = cmdline.create_parser(main, plugins='entry.point')
     self.assertEqual(len(parser._action_groups), 3)
     self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 24
0
 def test_env_disabled(self):
     def main(one, two):
         pass
     try:
         original = os.environ
         os.environ = {'ONE': 1}
         parser = cmdline.create_parser(main)
         self.assertEqual(parser._optionals._actions[1].default, cmdline.NODEFAULT)
         self.assertIs(parser._optionals._actions[2].default, cmdline.NODEFAULT)
     finally:
         os.environ = original
Ejemplo n.º 25
0
    def test_subcommand(self):
        @subcommands.subcommand
        def subcmd():
            pass

        def main():
            pass

        parser = cmdline.create_parser(main)
        self.assertEqual(len(parser._action_groups), 3)
        self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 26
0
    def test_subcommand_group(self):
        @subcommands.subcommand(group='named.collector')
        def subcmd():
            pass

        def main():
            pass

        parser = cmdline.create_parser(main, sub_group='named.collector')
        self.assertEqual(len(parser._action_groups), 3)
        self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 27
0
    def test_subcommand_description(self):
        @subcommands.subcommand
        def subcmd():
            """SUBCOMMAND_HELP

            SUBCOMMAND_DESC
            """
        def main():
            pass
        parser = cmdline.create_parser(main)
        self.assertIn('SUBCOMMAND_HELP', parser.format_help())
        self.assertNotIn('SUBCOMMAND_DESC', parser.format_help())
Ejemplo n.º 28
0
 def test_env_prefixes(self):
     def main(one, two, three=True):
         pass
     try:
         original = os.environ
         os.environ = {'X_ONE': 1, 'TWO': 2, 'X_THREE': 'no'}
         parser = cmdline.create_parser(main, env_prefix='X_')
         self.assertEqual(parser._optionals._actions[1].default, 1)
         self.assertIs(parser._optionals._actions[2].default, cmdline.NODEFAULT)
         self.assertIs(parser._optionals._actions[3].default, False)
     finally:
         os.environ = original
Ejemplo n.º 29
0
    def test_env_prefixes(self):
        def main(one, two):
            pass

        try:
            original = os.environ
            os.environ = {"X_ONE": 1, "TWO": 2}
            parser = cmdline.create_parser(main, env_prefix="X_")
            self.assertEqual(parser._optionals._actions[1].default, 1)
            self.assertIs(parser._optionals._actions[2].default, cmdline.NODEFAULT)
        finally:
            os.environ = original
Ejemplo n.º 30
0
    def test_plugins(self, iep):
        def main():
            pass

        def subcmd():
            pass

        def entry_points(group, *args):
            yield subcmd

        iep.side_effect = entry_points
        parser = cmdline.create_parser(main, plugins='entry.point')
        self.assertEqual(len(parser._action_groups), 3)
        self.assertIn('subcmd', parser.format_help())
Ejemplo n.º 31
0
    def test_env_disabled(self):
        def main(one, two):
            pass

        try:
            original = os.environ
            os.environ = {'ONE': 1}
            parser = cmdline.create_parser(main)
            self.assertEqual(parser._optionals._actions[1].default,
                             cmdline.NODEFAULT)
            self.assertIs(parser._optionals._actions[2].default,
                          cmdline.NODEFAULT)
        finally:
            os.environ = original
Ejemplo n.º 32
0
    def test_env_prefixes(self):
        def main(one, two, three=True):
            pass

        try:
            original = os.environ
            os.environ = {'X_ONE': 1, 'TWO': 2, 'X_THREE': 'no'}
            parser = cmdline.create_parser(main, env_prefix='X_')
            self.assertEqual(parser._optionals._actions[1].default, 1)
            self.assertIs(parser._optionals._actions[2].default,
                          cmdline.NODEFAULT)
            self.assertIs(parser._optionals._actions[3].default, False)
        finally:
            os.environ = original
Ejemplo n.º 33
0
    def test_subcommand_description(self):
        @subcommands.subcommand
        def subcmd():
            """SUBCOMMAND_HELP

            SUBCOMMAND_DESC
            """

        def main():
            pass

        parser = cmdline.create_parser(main)
        self.assertIn('SUBCOMMAND_HELP', parser.format_help())
        self.assertNotIn('SUBCOMMAND_DESC', parser.format_help())
Ejemplo n.º 34
0
    def test_configfile_multiple_config_section(self, expanduser):
        def main(arg, unk, foo_arg, bar_arg):
            pass

        expanduser.return_value = os.path.join(os.curdir, 'tests')
        parser = cmdline.create_parser(main,
                                       config_file='config_test.cfg',
                                       config_section=['foo', 'bar'])
        self.assertEqual(parser._optionals._actions[1].default, 'alt_value')
        self.assertNotEqual(parser._optionals._actions[1].default,
                            'bar_alt_value')
        self.assertEqual(parser._optionals._actions[2].default,
                         cmdline.NODEFAULT)
        self.assertEqual(parser._optionals._actions[3].default, 'foo_value')
        self.assertEqual(parser._optionals._actions[4].default, 'bar_value')
Ejemplo n.º 35
0
 def __init__(self,
              func,
              auto_convert=False,
              cmd_delim=None,
              sub_group=None,
              collector=None,
              **kwargs):
     if auto_convert:
         func = convert(_automatic=True)(func)
     Wrapping.__init__(self, func)
     self._cmd_delim = cmd_delim
     self._group = sub_group
     self._collector = collector
     self._parser = cmdline.create_parser(func,
                                          sub_group=self._group,
                                          collector=self._collector,
                                          **kwargs)
Ejemplo n.º 36
0
    def test_variable_arguments(self):
        def main(*variable_arguments):
            pass

        parser = cmdline.create_parser(main)
        self.assertIn('variable_arguments', parser.format_help())
Ejemplo n.º 37
0
 def test_void_function(self):
     def main():
         pass
     parser = cmdline.create_parser(main)
     self.assertEqual(len(parser._optionals._actions), 1)
     self.assertEqual(parser._optionals._actions[0].dest, 'help')
Ejemplo n.º 38
0
 def __init__(self, func, sub_group=None, collector=None, **kwargs):
     Wrapping.__init__(self, func)
     self._group = sub_group
     self._collector = collector
     self._parser = cmdline.create_parser(func, sub_group=self._group,
             collector=self._collector, **kwargs)
Ejemplo n.º 39
0
    def test_variable_keyword_arguments(self):
        def main(**args):
            pass

        with self.assertRaises(ValueError):
            cmdline.create_parser(main)
Ejemplo n.º 40
0
    def test_no_short_args(self):
        def main(alpha):
            pass

        parser = cmdline.create_parser(main, short_args=False)
        self.assertNotIn(' -a ', parser.format_help())
Ejemplo n.º 41
0
    def test_function_description(self):
        def main(a):
            "program description"

        parser = cmdline.create_parser(main)
        self.assertEqual(parser.description, main.__doc__)
Ejemplo n.º 42
0
    def test_function_description(self):
        def main(a):
            'program description'

        parser = cmdline.create_parser(main)
        self.assertEqual(parser.description, main.__doc__)
Ejemplo n.º 43
0
    def test_variable_keyword_arguments(self):
        def main(**args):
            pass

        with self.assertRaises(ValueError):
            cmdline.create_parser(main)
Ejemplo n.º 44
0
    def test_conflict_resoltion(self):
        def main(help):
            pass

        parser = cmdline.create_parser(main)
Ejemplo n.º 45
0
    def test_no_short_args(self):
        def main(alpha):
            pass

        parser = cmdline.create_parser(main, short_args=False)
        self.assertNotIn(" -a ", parser.format_help())
Ejemplo n.º 46
0
    def test_void_function(self):
        def main():
            pass

        parser = cmdline.create_parser(main)
        self.assertIs(parser, None)
Ejemplo n.º 47
0
    def test_variable_arguments(self):
        def main(*variable_arguments):
            pass

        parser = cmdline.create_parser(main)
        self.assertIn("variable_arguments", parser.format_help())
Ejemplo n.º 48
0
    def test_conflict_resoltion(self):
        def main(help):
            pass

        parser = cmdline.create_parser(main)