def test_rerun_argparse(test_case): argv, should_exit = test_case parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() add_subparser(subparsers) exited = False rc = None args = None try: args = parser.parse_args(argv) except SystemExit as sys_exit: exited = True rc = sys_exit.code assert exited == should_exit if should_exit: assert rc == 2 if args: if args.verbose: assert args.verbose == 2 # '-v' yields a verbosity level... if args.execution_date: assert isinstance(args.execution_date, datetime.datetime)