MCPcopy Index your code
hub / github.com/python/cpython / __init__

Method __init__

Lib/test/test_argparse.py:4115–4197  ·  view source on GitHub ↗
(cls, name, bases, bodydict)

Source from the content-addressed store, hash-verified

4113class TestHelpFormattingMetaclass(type):
4114
4115 def __init__(cls, name, bases, bodydict):
4116 if name == 'HelpTestCase':
4117 return
4118
4119 class AddTests(object):
4120
4121 def __init__(self, test_class, func_suffix, std_name):
4122 self.func_suffix = func_suffix
4123 self.std_name = std_name
4124
4125 for test_func in [self.test_format,
4126 self.test_print,
4127 self.test_print_file]:
4128 test_name = '%s_%s' % (test_func.__name__, func_suffix)
4129
4130 def test_wrapper(self, test_func=test_func):
4131 test_func(self)
4132 try:
4133 test_wrapper.__name__ = test_name
4134 except TypeError:
4135 pass
4136 setattr(test_class, test_name, test_wrapper)
4137
4138 def _get_parser(self, tester):
4139 parser = argparse.ArgumentParser(
4140 *tester.parser_signature.args,
4141 **tester.parser_signature.kwargs)
4142 for argument_sig in getattr(tester, 'argument_signatures', []):
4143 parser.add_argument(*argument_sig.args,
4144 **argument_sig.kwargs)
4145 group_sigs = getattr(tester, 'argument_group_signatures', [])
4146 for group_sig, argument_sigs in group_sigs:
4147 group = parser.add_argument_group(*group_sig.args,
4148 **group_sig.kwargs)
4149 for argument_sig in argument_sigs:
4150 group.add_argument(*argument_sig.args,
4151 **argument_sig.kwargs)
4152 subparsers_sigs = getattr(tester, 'subparsers_signatures', [])
4153 if subparsers_sigs:
4154 subparsers = parser.add_subparsers()
4155 for subparser_sig in subparsers_sigs:
4156 subparsers.add_parser(*subparser_sig.args,
4157 **subparser_sig.kwargs)
4158 return parser
4159
4160 def _test(self, tester, parser_text):
4161 expected_text = getattr(tester, self.func_suffix)
4162 expected_text = textwrap.dedent(expected_text)
4163 tester.maxDiff = None
4164 tester.assertEqual(expected_text, parser_text)
4165
4166 @force_not_colorized
4167 def test_format(self, tester):
4168 parser = self._get_parser(tester)
4169 format = getattr(parser, 'format_%s' % self.func_suffix)
4170 self._test(tester, format())
4171
4172 @force_not_colorized

Callers

nothing calls this directly

Calls 1

AddTestsClass · 0.70

Tested by

no test coverage detected