def test_dummy_arguments_covered(): parser = arg_parsing._build_parser() expected_dummy_commands = [] for action in parser._actions: for opt in action.option_strings: if opt.startswith(parser.prefix_chars * 2): expected_dummy_commands.append(opt[1:]) assert set(expected_dummy_commands) == set(parser._CommentIgnoringArgumentParser__dummy_arguments)
def build_bad_dummy_arguments(): parser = arg_parsing._build_parser() dummy_arguments = parser._CommentIgnoringArgumentParser__dummy_arguments bad_commands = [] safe_pattern = "-d -S -i - -o - {arg}" partial_patterns = { "-decrypt": "{arg} -i - -o - -S", "-encrypt": "{arg} -i - -o - -S", "-input": "-d {arg} - -o - -S", "-output": "-d -i - {arg} - -S", } for arg in dummy_arguments: pattern = partial_patterns.get(arg, safe_pattern) bad_commands.append(pattern.format(arg=arg)) return bad_commands