# No args # One arg and no matching flags argv help # Five args with two matching a flag _flag_h '--help' '-h' _flag_help '--help' '-h' argv 'help' 'me' 'a lot more' # Required, optional, and multiple flags _flag_a ABC _flag_abc ABC _flag_d _flag_def _flag_g 'g1' 'g2' 'g3' _flag_ghk 'g1' 'g2' 'g3' _flag_h --help _flag_help --help argv 'help' 'me' # --stop-nonopt works _flag_a A2 _flag_abc A2 _flag_h -h _flag_help -h argv 'non-opt' 'second non-opt' '--help' # Implicit int flags work _flag_val 123 argv 'abc' 'def' _flag_t woohoo _flag_token woohoo _flag_v '-v' '--verbose' _flag_val -234 _flag_verbose '-v' '--verbose' argv 'a1' 'a2' # Should be set to 987 _flag_m 987 _flag_max 987 argv 'argle' 'bargle' # Should be set to 765 _flag_m 765 _flag_max 765 argv 'argle' 'bargle' # Bool short flag only _flag_C -C _flag_v '-v' '-v' argv 'arg1' 'arg2' # Value taking short flag only _flag_v '--verbose' '-v' _flag_verbose '--verbose' '-v' _flag_x arg2 argv arg1 # Implicit int short flag only _flag_v '-v' '-v' '-v' _flag_verbose '-v' '-v' '-v' _flag_x 321 argv 'argle' 'bargle' # Implicit int short flag only with custom validation passes _flag_v '-v' '-v' '-v' _flag_verbose '-v' '-v' '-v' _flag_x 499 argv # Check the exit status from argparse validation _flag_name max _flag_value 83 expected argparse return status 57