+
    BiD                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHtHt ^ RIHt ^ RIt^ RIHtHtHtHtHtHtHtHtHtHtHt ^ RIHt ^ R	IHt  ! R
 R]4      t  ! R R]4      t! ! R R]PD                  4      t# ! R R]#4      t$ ! R R]#4      t% ! R R]#4      t& ! R R]#4      t'R^R^<RR`RRa/t(R t) ! R R]4      t* ! R R ]#4      t+ ! R! R"]#4      t, ! R# R$]#4      t- ! R% R&]#4      t. ! R' R(]#4      t/ ! R) R*]#4      t0 ! R+ R,]#4      t1 ! R- R.]#4      t2 ! R/ R0]#4      t3 ! R1 R2]#4      t4 ! R3 R4]#4      t5 ! R5 R6]#4      t6 ! R7 R8]#4      t7 ! R9 R:]#4      t8 ! R; R<]#4      t9 ! R= R>]#4      t: ! R? R@]#4      t; ! RA RB]#4      t< ! RC RD]#4      t= ! RE RF]#4      t> ! RG RH]#4      t? ! RI RJ]?4      t@ ! RK RL]?4      tA ! RM RN]#4      tBROtCRPtDRQtERRtFRStG ! RT RU]#4      tH ! RV RW]#4      tI ! RX RY]#4      tJ ! RZ R[]PD                  4      tK ! R\ R]]4      tL]MR^8X  d]   ]N! ] P                  4      ^8  d3   ] P                  ^,          R_8X  d   ]! ]4       ] P                  ! ^ 4       ]P                  ! 4        R# R# )b    N)StringIO)support)cpython_only	os_helper)TestTranslationsBaseupdate_translation_snapshotsensure_lazy_imports)make_optionOptionTitledHelpFormatterOptionParserOptionGroupSUPPRESS_USAGEOptionErrorOptionConflictErrorBadOptionErrorOptionValueErrorValues)_match_abbrev)
_parse_numc                   0   a  ] tR t^t o RR ltR tRtV tR# )InterceptedErrorNc                *    Wn         W n        W0n        R # N)error_messageexit_statusexit_message)selfr   r   r   s   &&&&)/usr/lib/python3.14/test/test_optparse.py__init__InterceptedError.__init__   s     +&(    c                V    V P                   ;'       g    V P                  ;'       g    R # )zintercepted error)r   r   r   s   &r    __str__InterceptedError.__str__&   s%    !!MMT%6%6MM:MMr#   )r   r   r   )NNN)__name__
__module____qualname____firstlineno__r!   r&   __static_attributes____classdictcell____classdict__s   @r    r   r      s     )N Nr#   r   c                   0   a  ] tR t^)t o RR ltR tRtV tR# )InterceptingOptionParserNc                    \        WR 7      h))r   r   r   )r   statusmsgs   &&&r    exitInterceptingOptionParser.exit*   s    6DDr#   c                    \        VR 7      h))r   r3   )r   r5   s   &&r    errorInterceptingOptionParser.error-   s    S11r#    r   N)r(   r)   r*   r+   r6   r9   r,   r-   r.   s   @r    r1   r1   )   s     E2 2r#   r1   c                   H   a  ] tR t^1t o R tR tR tR	R ltR tR t	Rt
V tR# )
BaseTestc                    V P                   P                  V4      w  rE\        V4      pV P                  WbR \	        4       ,          4       V P                  WSR\	        4       ,          4       WE3# )zJ
Options are %(optdict)s.
Should be %(expected_opts)s.
Args were %(args)s.zj
Positional arguments are %(positional_args)s.
Should be %(expected_positional_args)s.
Args were %(args)s.)parser
parse_argsvarsassertEquallocals)r   argsexpected_optsexpected_positional_argsoptionspositional_argsoptdicts   &&&&   r    assertParseOKBaseTest.assertParseOK2   ss     &*[[%;%;D%A"w-  "	# 	  #	$ ))r#   c           
        Vf   RpVf   / p V! V/ VB  V P                  R\        4       ,          4       R #   T d   p\        T4      p\        T\        P
                  4      '       d6   T P                  TP                  T4      RTP                  : RT: R24       MT P                  TTRT: RT: R24       Tu R p?# R p?ii ; i)Nznexpected exception %(expected_exception)s not raised
called %(func)r
with args %(args)r
and kwargs %(kwargs)r
z%expected exception message pattern:
/z/
actual exception message:
'''z'''
zexpected exception message:
'''z!'''
actual exception message:
'''r;   )
failrD   str
isinstancerePattern
assertTruesearchpatternrC   )r   funcrE   kwargsexpected_exceptionexpected_messageerractual_messages   &&&&&&  r    assertRaisesBaseTest.assertRaisesP   s    * <D>F	$!&!. II  i	 - " 	 XN*BJJ77 0 7 7 G 12   !1 ")* J)	s   8 CA=C<CCc                     V P                   P                  V4       V P                  R 4       R#   \         d(   pT P	                  TP
                  T4        Rp?R# Rp?ii ; i)zexpected parse failureN)r@   rA   assertFalser   rC   r   )r   cmdline_argsexpected_outputrZ   s   &&& r    assertParseFailBaseTest.assertParseFail   sW    
	7KK""<0 56   	AS..@@	As   0 A"AA"Nc                   \         P                  p  \        4       \         n        V P                  P	                  V4       \         P                  P                  4       pV\         n         V P                  R 4       R#   \         P                  P                  4       pT\         n        i ; i  \         d   pT P                  \        X\        4      R\        T4      ,          4       Yb8w  d.   T P                  RT,           R,           T,           R,           4       T P                  TP                  T4       T P                  TP                  T4        Rp?R# Rp?ii ; i)zexpected parser.exit()z0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z'''N)sysstdoutr   r@   rA   getvaluer_   r   rS   rP   rO   typerN   rC   r   r   )r   r`   ra   expected_statusexpected_errorsave_stdoutoutputrZ   s   &&&&&   r    assertOutputBaseTest.assertOutput   s    jj	7)%Z
&&|4,,.(
 56 ,,.(
 
	?OO63'Bv, 
 (		-?0139:<AB CS__o>S--~>>
	?s*   .A> )B, >+B))B, ,E7BEEc                6    V P                  WR \        V4       R # r   )r\   	TypeError)r   rV   rY   rE   s   &&&*r    assertTypeErrorBaseTest.assertTypeError   s    $dI7GHr#   c                    VP                  4       pW28w  d.   V P                  R V,           R,           V,           R,           4      hR# )zhelp text failure; expected:
"z	"; got:
"z"
N)format_helpfailureException)r   r@   expected_helpactual_helps   &&& r    
assertHelpBaseTest.assertHelp   sQ    ((*'''1 ,-#$% % (r#   r;   r<   )r(   r)   r*   r+   rK   r\   rb   rm   rq   rx   r,   r-   r.   s   @r    r>   r>   1   s*     *<6v
77:I% %r#   r>   c                      a  ] tR t^t o R t. / 3R ltR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestOptionChecksc                0    \        \        R 7      V n        R# usageNr   r   r@   r%   s   &r    setUpTestOptionChecks.setUp       "8r#   c                >    V P                  \        W#\        V4       R # r   )r\   r   r   )r   rY   rE   rW   s   &&&&r    assertOptionError"TestOptionChecks.assertOptionError   s    +t%'7	9r#   c                2    V P                  \        R 4       R# )z+at least one option string must be suppliedN)rq   r   r%   s   &r    test_opt_string_empty&TestOptionChecks.test_opt_string_empty   s    [J	Lr#   c                ,    V P                  R R.4       R# )z?invalid option string 'b': must be at least two characters longbNr   r%   s   &r    test_opt_string_too_short*TestOptionChecks.test_opt_string_too_short   s    ME	r#   c                ,    V P                  R R.4       R# )zOinvalid short option string '--': must be of the form -x, (x any non-dash char)--Nr   r%   s   &r    test_opt_string_short_invalid.TestOptionChecks.test_opt_string_short_invalid   s    4F	r#   c                ,    V P                  R R.4       R# )zJinvalid long option string '---': must start with --, followed by non-dashz---Nr   r%   s   &r    test_opt_string_long_invalid-TestOptionChecks.test_opt_string_long_invalid   s    7G	r#   c                6    V P                  R R.RRRR/4       R# )z.option -b: invalid keyword arguments: bar, foo-bfooNbarr   r%   s   &r    test_attr_invalid"TestOptionChecks.test_attr_invalid   s#    <FUD%.	0r#   c                2    V P                  R R.RR/4       R# )z option -b: invalid action: 'foo'r   actionr   Nr   r%   s   &r    test_action_invalid$TestOptionChecks.test_action_invalid   s    .FXu%	'r#   c                f    V P                  R R.RR/4       V P                  RR.R\        /4       R# )z%option -b: invalid option type: 'foo'r   rh   r   z'option -b: invalid option type: 'tuple'N)r   tupler%   s   &r    test_type_invalid"TestOptionChecks.test_type_invalid   s<    3FVUO	% 	5FVUO	%r#   c                6    V P                  R R.RRRR/4       R# )z4option -b: must not supply a type for action 'count'r   r   countrh   intNr   r%   s   &r    test_no_type_for_action(TestOptionChecks.test_no_type_for_action   s#    BFXw6	8r#   c                4    V P                  R RR.RR/4       R# )z@option -b/--bad: must supply a list of choices for type 'choice'r   --badrh   choiceNr   r%   s   &r    test_no_choices_list%TestOptionChecks.test_no_choices_list   s#    (7Ofh/	1r#   c                p    \        R 4      P                  pV P                  RV,          RR.RRRR/4       R# )	 zBoption -b/--bad: choices must be a list of strings ('%s' supplied)r   r   rh   r   choiceszbad choicesN)rh   r(   r   )r   typenames   & r    test_bad_choices_list&TestOptionChecks.test_bad_choices_list   s?    8$$&(017OXy7		9r#   c                6    V P                  R R.RRRR/4       R# )z1option -b: must not supply choices for type 'int'r   rh   r   r   badNr   r%   s   &r    test_no_choices_for_type)TestOptionChecks.test_no_choices_for_type  s#    ?FVUIe4	6r#   c                6    V P                  R R.RRR^/4       R# )z:option -b: 'const' must not be supplied for action 'store'r   r   storeconstNr   r%   s   &r    test_no_const_for_action)TestOptionChecks.test_no_const_for_action  #    HFXw3	5r#   c                6    V P                  R R.RRR^/4       R# )z:option -b: 'nargs' must not be supplied for action 'count'r   r   r   nargsNr   r%   s   &r    test_no_nargs_for_action)TestOptionChecks.test_no_nargs_for_action  r   r#   c                6    V P                  R R.RRRR/4       R# )z'option -b: callback not callable: 'foo'r   r   callbackr   Nr   r%   s   &r    test_callback_not_callable+TestOptionChecks.test_callback_not_callable  s&    5FXz(	)r#   c                    R # r   r;   r%   s   &r    dummyTestOptionChecks.dummy      r#   c           
     N    V P                  R R.RRRV P                  RR/4       R# )zAoption -b: callback_args, if supplied, must be a tuple: not 'foo'r   r   r   callback_argsr   Nr   r   r%   s   &r    test_callback_args_no_tuple,TestOptionChecks.test_callback_args_no_tuple   s1    )FXz$e-	.r#   c           
     N    V P                  R R.RRRV P                  RR/4       R# )zBoption -b: callback_kwargs, if supplied, must be a dict: not 'foo'r   r   r   callback_kwargsr   Nr   r%   s   &r    test_callback_kwargs_no_dict-TestOptionChecks.test_callback_kwargs_no_dict(  s1    (FXz&/	0r#   c                6    V P                  R R.RRRR/4       R# )z<option -b: callback supplied ('foo') for non-callback optionr   r   r   r   r   Nr   r%   s   &r    test_no_callback_for_action,TestOptionChecks.test_no_callback_for_action0  s&    JFXw(	)r#   c                6    V P                  R R.RRRR/4       R# )z9option -b: callback_args supplied for non-callback optionr   r   r   r   r   Nr   r%   s   &r     test_no_callback_args_for_action1TestOptionChecks.test_no_callback_args_for_action6  s&    GFXw$e-	.r#   c                6    V P                  R R.RRRR/4       R# )z;option -b: callback_kwargs supplied for non-callback optionr   r   r   r   r   Nr   r%   s   &r    "test_no_callback_kwargs_for_action3TestOptionChecks.test_no_callback_kwargs_for_action<  s&    IFXw&/	0r#   c                |    V P                  R R.4       V P                  RRR.4       V P                  R RR.4       R# )zMinvalid long option string '-debug': must start with --, followed by non-dashz-debugzXoption -d: invalid long option string '-debug': must start with --, followed by non-dash-dz--debugNr   r%   s   &r    test_no_single_dash$TestOptionChecks.test_no_single_dashB  sT    7J	
 	(8	
 	7y!	#r#   r@   N)r(   r)   r*   r+   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r,   r-   r.   s   @r    r{   r{      s     9 8:" 9L
0
'
%8
196
5
5
).0).0# #r#   r{   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR t]P                  ! RRR7      R 4       tRtV tR# )TestOptionParseriR  c           	         \        4       V n        V P                  P                  R RRRRRR7       V P                  P                  RRR	R
RR7       R# )-v	--verbose-n--noisy
store_trueverboser   dest-q--quiet--silentstore_falseN)r   r@   
add_optionr%   s   &r    r   TestOptionParser.setUpS  sR    "nt[$	!-I 	 	?tY
!.Y 	 	@r#   c                T    V P                  V P                  P                  R R4       R# )znot an Option instance: NoneNrq   r@   r   r%   s   &r    test_add_option_no_Option*TestOptionParser.test_add_option_no_OptionZ  s"    T[[33;T	Cr#   c                V    V P                  V P                  P                  R RR4       R# zinvalid argumentsNr   r%   s   &r    !test_add_option_invalid_arguments2TestOptionParser.test_add_option_invalid_arguments^  s#    T[[330$	>r#   c                P   V P                   P                  R 4      pV P                  V\        4       V P	                  VP
                  R R.4       V P	                  VP                  RR.4       V P	                  VP                  R4       V P	                  VP                  R4       R# )r   r   r   r   r   r   N)	r@   
get_optionassertIsInstancer   rC   _short_opts
_long_optsr   r   )r   opt1s   & r    test_get_option TestOptionParser.test_get_optionb  s    {{%%d+dF+))D$<8;	*BCl3I.r#   c                H   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pV P                   P                  R4      pT P                  Yu;J ;'       d    Tu;J ;'       d    VJ 4       R# u 4       R# )r   r   r   r   N)r@   r   rS   )r   r   opt2opt3opt4s   &    r    test_get_option_equals'TestOptionParser.test_get_option_equalsj  sw    {{%%d+{{%%k2{{%%d+{{%%i044444545r#   c                    V P                  V P                  P                  R 4      4       V P                  V P                  P                  R4      4       R# )r   r   N)rS   r@   
has_optionr%   s   &r    test_has_option TestOptionParser.test_has_optionq  s8    ..t45..{;<r#   c                ^   V P                  V P                  P                  R 4      RJ 4       V P                  V P                  P                  R4      RJ 4       V P                  V P                  P                  R4      RJ 4       V P                  V P                  P                  R4      RJ 4       V P                  V P                  P	                  R 4      4       V P                  V P                  P	                  R4      4       V P                  V P                  P	                  R4      4       V P                  V P                  P	                  R4      4       V P                  V P                  P	                  R4      4       V P                  V P                  P	                  R4      4       R# )r   Nr   r   r   r   r   )rS   r@   r   r_   r	  r%   s   &r    assertTrueremoved"TestOptionParser.assertTrueremovedu  s,   ..t4<=..{;tCD..t4<=..y9TAB//56//<=//56//	:;..t45..z:;r#   c                \    V P                   P                  R 4       V P                  4        R# )r   Nr@   remove_optionr  r%   s   &r    test_remove_short_opt&TestOptionParser.test_remove_short_opt  s     !!$' r#   c                \    V P                   P                  R 4       V P                  4        R# )r   Nr  r%   s   &r    test_remove_long_opt%TestOptionParser.test_remove_long_opt  s     !!+. r#   c                `    V P                  V P                  P                  RR\        R4       R# )r   Nzno such option 'foo'r   )r\   r@   r  
ValueErrorr%   s   &r    test_remove_nonexistent(TestOptionParser.test_remove_nonexistent  s&    $++33Xt$&<	>r#   zRelies on sys.getrefcountT)cpythonc                    ^*.p\         P                  ! V4      p\        4       pVP                  RR4       Wn        VP                  4        ?V P                  V\         P                  ! V4      4       R# )*   -az	--aaargghN)re   getrefcountr   r   	big_thingdestroyrC   )r   r!  refcountr@   s   &   r    test_refleakTestOptionParser.test_refleak  s\     D	??9-$,$3??9#=>r#   r   N)r(   r)   r*   r+   r   r   r   r   r  r
  r  r  r  r  r   impl_detailr$  r,   r-   r.   s   @r    r   r   R  s\     @C>/6=<!!> 4dC? D?r#   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestOptionValuesi  c                    R # r   r;   r%   s   &r    r   TestOptionValues.setUp  r   r#   c                   \        4       pV P                  \        V4      / 4       V P                  V/ 4       V P                  VR R/4       V P                  VR4       R RR^*/p\        VR7      pV P                  \        V4      V4       V P                  W4       V P                  VR R/4       V P                  V/ 4       V P                  VR4       V P                  V. 4       R# )r   r   r   baz)defaultsN)r   rC   rB   assertNotEqual)r   valuesdicts   &  r    test_basicsTestOptionValues.test_basics  s    fr*$FUEN3FB'ueR(&ft,&FUEN3FB'FB'FB'r#   r;   N)r(   r)   r*   r+   r   r1  r,   r-   r.   s   @r    r(  r(    s     ( (r#   r(  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestTypeAliasesi  c                $    \        4       V n        R # r   )r   r@   r%   s   &r    r   TestTypeAliases.setUp  s    "nr#   c                    V P                   P                  R RR7       V P                  V P                   P                  R 4      P                  R4       R# )-srO   rh   stringN)r@   r   rC   r   rh   r%   s   &r    test_str_aliases_string'TestTypeAliases.test_str_aliases_string  s>    t%0//5::HEr#   c                ^   V P                   P                  R \        R7       V P                  V P                   P	                  R 4      P
                  R4       V P                   P                  R\        R7       V P                  V P                   P	                  R4      P
                  R4       R# )r8  r9  r:  -xr   N)r@   r   rO   rC   r   rh   r   r%   s   &r    test_type_object TestTypeAliases.test_type_object  sz    t#.//5::HEt#.//5::EBr#   r   N)	r(   r)   r*   r+   r   r;  r?  r,   r-   r.   s   @r    r4  r4    s     %FC Cr#   r4  smhdc                      VR,          P                  4       '       d   \        V4      # \        VRR 4      \        VR,          ,          ,          #   \        \        3 d    \        RT: RT: 24      hi ; i)   Nzoption z: invalid duration: )isdigitr   _time_unitsr  
IndexErrorr   optionoptvalues   &&&r    _check_durationrO    sk    >9u:uSbz?[r%;;;
# >14e<> 	>>s   'A &A %A6c                   ~    ] tR tRt]P
                  R,           t]P                  ! ]P                  4      t]]R&   Rt	R# )DurationOptioni  durationr;   N)rR  )
r(   r)   r*   r+   r   TYPEScopyTYPE_CHECKERrO  r,   r;   r#   r    rQ  rQ    s.    LL=(E99V001L.Lr#   rQ  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestDefaultValuesi  c                   \        4       V n        V P                  P                  R RRR7       V P                  P                  RRRR7       V P                  P                  RR	^%R
7       V P                  P                  RR	R7       V P                  P                  RRR7       V P                  P                  R4       V P                  P                  RRR7       RRR^%RRRRRRRR/V n        R# )r   r   Tdefaultr   r   r   )r   r   r   rh   rZ  z-mr9  r8  r   -tz-uNnrB  rA  tu)r   r@   r   expectedr%   s   &r    r   TestDefaultValues.setUp  s    "nt[$?tYY?t%<t%0tU3t$tT2#Trtutt&r#   c                n    V P                  V P                  P                  4       V P                  4       R # r   )rC   r@   get_default_valuesr`  r%   s   &r    test_basic_defaults%TestDefaultValues.test_basic_defaults  s#    7794==Ir#   c                    V P                   P                  ^*RR7       V P                  P                  R^*RR/4       V P	                  V P                   P                  4       V P                  4       R# )r  )r]  rB  r]  rB  Ni)r@   set_defaultsr`  updaterC   rc  r%   s   &r    test_mixed_defaults_post*TestDefaultValues.test_mixed_defaults_post  sU      2 .c2sD127794==Ir#   c                h   V P                   P                  R RR7       V P                   P                  RRR7       V P                   P                  R4       V P                  P	                  RRRR/4       V P                  V P                   P                  4       V P                  4       V P                   P                  R4       V P                   P                  RR	R7       V P                  P	                  RR	/4       V P                  V P                   P                  4       V P                  4       R	# )
barfblah)xyr>  frobrY  z-yrn  ro  N)r@   rg  r   r`  rh  rC   rc  r  r%   s   &r    test_mixed_defaults_pre)TestDefaultValues.test_mixed_defaults_pre  s      6V 4tV4t$c63787794==I!!$'tT2c4[)7794==Ir#   c                j   \         V P                  n        V P                  P                  R RRR7       V P                  P                  RRRR7       V P                  P	                  RR7       V P
                  P                  RRR	R
R^*/4       V P                  V P                  P                  4       V P
                  4       V P                  P                  R4       V P
                  P                  RRR	RRR/4       V P                  V P                  P                  4       V P
                  4       R# )r   rR  i,  r[  z-e6m42)r]  rD  eih  r]  FN)
rQ  r@   option_classr   rg  r`  rh  rC   rc  set_process_default_valuesr%   s   &r    test_process_default&TestDefaultValues.test_process_default  s    #1 t*cBt*dC  4 (c3S#r:;7794==I..u5c3T3=>7794==Ir#   )r`  r@   N)r(   r)   r*   r+   r   rd  ri  rq  ry  r,   r-   r.   s   @r    rW  rW    s(     & JJ
J
J 
Jr#   rW  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestProgNamei
  c                F    V P                  VP                  4       V4       R # r   )rC   	get_usager   r@   expected_usages   &&&r    assertUsageTestProgName.assertUsage  s    ))+^<r#   c                F    V P                  VP                  4       V4       R # r   )rC   get_version)r   r@   expected_versions   &&&r    assertVersionTestProgName.assertVersion  s    ++-/?@r#   c                   \         P                  R ,          p \        P                  P	                  RRR4      \         P                  ^ &   \        RRR7      pRpV P                  W#4       V P                  VR4       V P                  VVR	,           R
,           4       V\         P                  R &   R#   T\         P                  R &   i ; i)NNNr   r   zbaz.pyz	%prog ...z	%prog 1.2)versionzUsage: baz.py ...
z
baz.py 1.2
zlOptions:
  --version   show program's version number and exit
  -h, --help  show this help message and exit
N)	re   argvospathjoinr   r  r  rx   )r   	save_argvr@   r  s   &   r    test_default_progname"TestProgName.test_default_progname  s    HHQK		$'',,ueX>CHHQK!+{CF2NV4v|4OOF*T1NNO $CHHQK)CHHQKs   BB2 2Cc                    \        R RRR7      pVP                  R4       VP                  R4       RpV P                  W4       V P                  VR4       V P	                  WR,           4       R	# )
thingy	%prog 0.1z%prog arg arg)progr  r   -h	--versionzUsage: thingy arg arg
z
thingy 0.1r  N)r   r  r  r  rx   r  s   &  r    test_custom_progname!TestProgName.test_custom_progname(  sf    8&1$35 	T"[)206<0 56r#   r;   N)
r(   r)   r*   r+   r  r  r  r  r,   r-   r.   s   @r    r|  r|  
  s     =A$"	7 	7r#   r|  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )TestExpandDefaultsi4  c                    \        R R7      V n        RV n        RV n        V P                  R,           V n        V P                  R,           V n        R# )test)r  zXUsage: test [options]

Options:
  -h, --help            show this help message and exit
z"read from FILE [default: %default]z:  -f FILE, --file=FILE  read from FILE [default: foo.txt]
z7  -f FILE, --file=FILE  read from FILE [default: none]
N)r   r@   help_prefix	file_helpexpected_help_fileexpected_help_noner%   s   &r    r   TestExpandDefaults.setUp5  sO    "/ >"&"2"2I#J"&"2"2F#Gr#   c                    V P                   P                  R RRV P                  R7       V P                  V P                   V P                  4       R# )-f--filefoo.txtrZ  helpN)r@   r   r  rx   r  r%   s   &r    test_option_default&TestExpandDefaults.test_option_defaultC  sA    tX'0$(NN 	 	4 	T%<%<=r#   c                    V P                   P                  R RV P                  R7       V P                   P                  RR4       V P	                  V P                   V P
                  4       R# )r  r  r  filer  N)r@   r   r  set_defaultrx   r  r%   s   &r    test_parser_default_1(TestExpandDefaults.test_parser_default_1I  sP    tX$(NN 	 	4	2T%<%<=r#   c                    V P                   P                  R RV P                  R7       V P                   P                  RR7       V P	                  V P                   V P
                  4       R# )r  r  r  r  r  N)r@   r   r  rg  rx   r  r%   s   &r    test_parser_default_2(TestExpandDefaults.test_parser_default_2O  sQ    tX$(NN 	 	4  i 0T%<%<=r#   c                    V P                   P                  R RV P                  R7       V P                  V P                   V P                  4       R# )r  r  r  Nr@   r   r  rx   r  r%   s   &r    test_no_default"TestExpandDefaults.test_no_defaultU  s<    tX$(NN 	 	4T%<%<=r#   c                    V P                   P                  R RRV P                  R7       V P                  V P                   V P                  4       R# )r  r  Nr  r  r%   s   &r    test_default_none_1&TestExpandDefaults.test_default_none_1Z  sA    tX'+$(NN 	 	4 	T%<%<=r#   c                    V P                   P                  R RV P                  R7       V P                   P                  RR7       V P	                  V P                   V P
                  4       R# )r  r  r  Nr  )r@   r   r  rg  rx   r  r%   s   &r    test_default_none_2&TestExpandDefaults.test_default_none_2`  sQ    tX$(NN 	 	4  d +T%<%<=r#   c                    V P                   P                  R RRR7       V P                   P                  RR7       V P                  R,           pV P	                  V P                   V4       R# )-pz--probz1blow up with probability PROB [default: %default]r  g      ?)probzF  -p PROB, --prob=PROB  blow up with probability PROB [default: 0.25]
N)r@   r   rg  r  rx   r   rv   s   & r    test_float_default%TestExpandDefaults.test_float_defaultf  s_    (D 	 	F 	  d +((UV]3r#   c                    V P                   P                  R RRRR7       RV P                   P                  n        V P	                  V P                   V P
                  4       R# )r  r  r  z#read from FILE [default: *DEFAULT*]r  z	*DEFAULT*N)r@   r   	formatterdefault_tagrx   r  r%   s   &r    test_alt_expand"TestExpandDefaults.test_alt_expando  sP    tX'0$I 	 	K -8)T%<%<=r#   c                    V P                   P                  R RRRR7       RV P                   P                  n        V P                  R,           pV P                  V P                   V4       R# )r  r  r  zread from %default filer  Nz0  -f FILE, --file=FILE  read from %default file
)r@   r   r  r  r  rx   r  s   & r    test_no_expand!TestExpandDefaults.test_no_expandv  s]    tX'0$= 	 	? -1)((?@]3r#   )r  r  r  r  r@   N)r(   r)   r*   r+   r   r  r  r  r  r  r  r  r  r  r,   r-   r.   s   @r    r  r  4  s=     G>>>>
>>4>4 4r#   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV t R# )TestStandardi  c                    \        R RR7      \        RRRRR7      \        RR	R
7      .p\        \        VR7      V n        R# )r  r:  r9  r   --boor   boorh   r   --fooappendr   r   option_listNr   r1   r   r@   r   rH   s   & r    r   TestStandard.setUp  s?    t(3tW5uEwx8: /^;BDr#   c                ,    V P                  R .R4       R# )r  z-a option requires 1 argumentNrb   r%   s   &r    test_required_value TestStandard.test_required_value  s    dV%DEr#   c                .    V P                  R R.R4       R# )r   5xz&option -b: invalid integer value: '5x'Nr  r%   s   &r    test_invalid_integer!TestStandard.test_invalid_integer  s    dD\E	Gr#   c                ,    V P                  R .R4       R# )z--boo13zno such option: --boo13Nr  r%   s   &r    test_no_such_option TestStandard.test_no_such_option  s    i[*CDr#   c                ,    V P                  R .R4       R# )z--boo=x5z)option --boo: invalid integer value: 'x5'Nr  r%   s   &r    test_long_invalid_integer&TestStandard.test_long_invalid_integer  s    j\H	Jr#   c           	     8    V P                  . R RRRRR/. 4       R# )aNr  r   rK   r%   s   &r    
test_emptyTestStandard.test_empty  s!    2T5$tDbIr#   c           
     @    V P                  . RORRRRRRR./. 4       R# )r  r   r  r  Nr   rm  )r  r   z
--foo=blahz--foo=r  r%   s   &r    "test_shortopt_empty_longopt_append/TestStandard.test_shortopt_empty_longopt_append  s*    =UD%&"F	r#   c           
     @    V P                  . RORRRRR. RO/. 4       R# )r  r  Nr  r   )r  r   r  r   z--foo=x)r   r   rn  r  r%   s   &r    test_long_option_append$TestStandard.test_long_option_append  s-    C!4!#35 		r#   c           	     :    V P                  R .RRRRRR/. 4       R# )z-abcr  bcr  Nr   r  r%   s   &r    test_option_argument_joined(TestStandard.test_option_argument_joined  s'    F8udE4@	r#   c           	     <    V P                  R R.RRRRRR/. 4       R# )r  34r  r  Nr   r  r%   s   &r    test_option_argument_split'TestStandard.test_option_argument_split  s)    D$<udE4@	r#   c           	     :    V P                  R .RRR^"RR/. 4       R# )z-b34r  Nr  r   r  r%   s   &r    #test_option_argument_joined_integer0TestStandard.test_option_argument_joined_integer  s'    F8ub%>	r#   c           	     <    V P                  R R.RRRRRR/. 4       R# )r   -5r  Nr  r   r  r%   s   &r    +test_option_argument_split_negative_integer8TestStandard.test_option_argument_split_negative_integer  s)    D$<ub%>	r#   c           	     :    V P                  R .RRR^RR/. 4       R# )z--boo=13r  Nr  r   r  r%   s   &r     test_long_option_argument_joined-TestStandard.test_long_option_argument_joined  s'    J<ub%>	r#   c           	     <    V P                  R R.RRR^oRR/. 4       R# )r  111r  Nr  r   r  r%   s   &r    test_long_option_argument_split,TestStandard.test_long_option_argument_split  s*    GU+uc5$?	r#   c           	     >    V P                  R R.RRRRRR./. 4       R# )	--foo=bar-axyzr  xyzr  Nr   r   r  r%   s   &r    test_long_option_short_option*TestStandard.test_long_option_short_option  s,    K1tUUGD	r#   c           	     >    V P                  R R.RRRRRR./. 4       R# )--f=barr  r  r  r  Nr   r   r  r%   s   &r    test_abbrev_long_option$TestStandard.test_abbrev_long_option  s,    Iw/tUUGD	r#   c                    V P                   P                  . 4      w  rV P                   P                  4       pV P                  \	        V4      \	        V4      4       R # r   )r@   rA   rc  rC   rB   )r   rH   rE   r-  s   &   r    test_defaultsTestStandard.test_defaults  sB    ++004;;113hg7r#   c                j    V P                   P                  R RRRR7       V P                  R.R4       R# )--fozr   r:  r   r   rh   r   r  z%ambiguous option: --f (--foo, --foz?)Nr@   r   rb   r%   s   &r    test_ambiguous_option"TestStandard.test_ambiguous_option  s8    ww$,5 	 	:i[D	Fr#   c           	     >    V P                  . RORRRRRR./. 4       R# )r  r  r   r  r  Nr   )r  r  r  r   r  r%   s   &r     test_short_and_long_option_split-TestStandard.test_short_and_long_option_split  s(    8tUUGD	r#   c           
     @    V P                  . RORRR^{RRR./. 4       R# )r  r,  r  Nr  r   r   )r  r   123r  r,  r  r%   s   &r    *test_short_option_split_long_option_append7TestStandard.test_short_option_split_long_option_append  s*    Euc55%.I	r#   c           	     >    V P                  . RORRRRRR/R.4       R# )r  r   r   r  r  N)r  r   r   r  r%   s   &r    *test_short_option_split_one_positional_arg7TestStandard.test_short_option_split_one_positional_arg  s(    /tUDA!7	$r#   c           	     x    V P                  . RORRRRRR/RR.4       V P                  . RORRRRRR./. 4       R# )	r  r   r   r   r  r  N)r  r   r   r   )r  r   r  r   r  r%   s   &r    $test_short_option_consumes_separator1TestStandard.test_short_option_consumes_separator  sR    5udE4@!5>	+ 	7udEE7C	r#   c           	     B    V P                  . RORRRRRR/RR.4      3 R# )	-abr  r   r  r   r  Nr   )r-  r   r  r   r  r%   s   &r    &test_short_option_joined_and_separator3TestStandard.test_short_option_joined_and_separator  s0    8eT5$?#U+	- 	.r#   c           	     @    V P                  . RORRRRRR./R.4       R# )	r-  -r   r  r   r  Nr   )r-  r1  r  r   r  r%   s   &r    "test_hyphen_becomes_positional_arg/TestStandard.test_hyphen_becomes_positional_arg  s*    7eT55'B5	"r#   c           
     @    V P                  . RORRR^RRR./. 4       R# )-b3r,  r  Nr  r   r   )r5  r   5r  r  r,  r  r%   s   &r    test_no_append_versus_append)TestStandard.test_no_append_versus_append  s*    JuaG	r#   c           	     <    V P                  R R.RRRRRR/. 4       R# )r  r5  r  r  Nr   r  r%   s   &r    &test_option_consumes_optionlike_string3TestStandard.test_option_consumes_optionlike_string  s)    D%=tUDA	r#   c                f    V P                   P                  R RR7       V P                  R.R4       R# )r\  r   r  z-testzno such option: -eNr  r%   s   &r    #test_combined_single_invalid_option0TestStandard.test_combined_single_invalid_option  s.    tL9gY1	3r#   r   N)!r(   r)   r*   r+   r   r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r   r$  r'  r*  r.  r2  r7  r:  r=  r,   r-   r.   s   @r    r  r    s     DFGEJJ








8
F

$
.
"


3 3r#   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestBooli  c                f    \        R RRRRR7      \        RRRRR	7      .p\        VR
7      V n        R# )r   r   r   r   r   r   r   rZ  r   r   r   r   r  N)r   r   r@   r  s   & r    r   TestBool.setUp  sB    t*&2$-')	+
 t(&3$-/0 #9r#   c                0    V P                  . R R/. 4       R# )r   r   Nr  r%   s   &r    test_bool_defaultTestBool.test_bool_default  s    2%r?	r#   c                p    V P                  R .R^ /. 4      w  rV P                  VP                  RJ 4       R# )r   r   FNrK   rS   r   r   rH   rE   s   &  r    test_bool_falseTestBool.test_bool_false  s9    ,,dV.7^-/1 	501r#   c                p    V P                  R .R^/. 4      w  rV P                  VP                  RJ 4       R# )r   r   TNrI  rJ  s   &  r    test_bool_trueTestBool.test_bool_true$  s9    ,,dV.7^-/1 	4/0r#   c                4    V P                  . ROR^/. 4       R# )-qvqr   N)rQ  r   r   r  r%   s   &r    test_bool_flicker_on_and_off%TestBool.test_bool_flicker_on_and_off*  s    /%q>	r#   r   N)r(   r)   r*   r+   r   rF  rK  rN  rR  r,   r-   r.   s   @r    r@  r@    s#     
:
21 r#   r@  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )
TestChoicei/  c                t    \        \        R 7      V n        V P                  P                  RRRR. ROR7       R# )r~   -cr   r   )r   rh   r   r   N)onetwothreer1   r   r@   r   r%   s   &r    r   TestChoice.setUp0  s2    .^DtG($,6M 	 	Or#   c                6    V P                  . RORR/R.4       R# )rW  rX  r  r   N)rW  rX  r  r  r%   s   &r    test_valid_choiceTestChoice.test_valid_choice5  s     /$e,!7	$r#   c                .    V P                  . ROR4       R# )rW  zEoption -c: invalid choice: 'four' (choose from 'one', 'two', 'three')N)rW  fourabcr  r%   s   &r    test_invalid_choiceTestChoice.test_invalid_choice:  s    2C	Dr#   c                    V P                   P                  R R. ROR7       V P                   P                  R 4      pV P                  VP                  R4       V P                  VP
                  R4       R# )r   z	--default)r   r   r   N)ra  fivesix)r@   r   r   rC   rh   r   r   rM  s   & r    test_add_choice_option!TestChoice.test_add_choice_option?  s]    t['> 	 	@kk$$T*8,W-r#   r   N)
r(   r)   r*   r+   r   r^  rc  ri  r,   r-   r.   s   @r    rU  rU  /  s      O
$
D
. .r#   rU  c                   t   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tRtV tR# )	TestCountiF  c                   \        \        R 7      V n        \        RRRR7      V n        V P                  P                  V P                  4       V P                  P                  RRRR7       V P                  P                  RR	R
R^ R7       R# )r~   r   r   r   r   r   r   r  r   r   store_constr   r   r   N)r1   r   r@   r   v_optr   r%   s   &r    r   TestCount.setUpG  sp    .^D gIF
tzz*{YGtY&3)1 	 	Nr#   c                0    V P                  . R R/. 4       R# r   Nr  r%   s   &r    r  TestCount.test_emptyO  s    2	40"5r#   c                2    V P                  R .R^/. 4       R# )r   r   Nr  r%   s   &r    test_count_oneTestCount.test_count_oneR  s    D6Iq>26r#   c                2    V P                  R .R^/. 4       R# )-vvvr   Nr  r%   s   &r    test_count_threeTestCount.test_count_threeU  s    F8i^R8r#   c                4    V P                  . ROR^/. 4       R# )r   r   N)r   r   r   r  r%   s   &r    test_count_three_apart TestCount.test_count_three_apartX  s    -	1~rBr#   c                4    V P                  R R.R^/. 4       R# )ry  --verbose=2r   Nr  r%   s   &r    test_count_override_amount$TestCount.test_count_override_amount[  s    FM2YNBGr#   c                4    V P                  . ROR^ /. 4       R# )ry  r   N)ry  r  r   r  r%   s   &r    test_count_override_quiet#TestCount.test_count_override_quiet^  s    89a."Mr#   c                4    V P                  . ROR^/. 4       R# )ry  r   Nry  r  r   r   r  r%   s   &r    test_count_overridingTestCount.test_count_overridinga  s    >%q>2	/r#   c                6    V P                  . ROR^/R.4       R# )r   3r   Nr   r  r   r  r%   s   &r    test_count_interspersed_args&TestCount.test_count_interspersed_argse  s    1%q>5	"r#   c                l    V P                   P                  4        V P                  . ROR^ /RR.4       R# )r   r  r   r   Nr  )r@   disable_interspersed_argsrK   r%   s   &r    test_count_no_interspersed_args)TestCount.test_count_no_interspersed_argsj  s1    --/1%q>;	(r#   c                .    V P                  R R.R4       R# )z-q3r   zno such option: -3Nr  r%   s   &r    test_count_no_such_option#TestCount.test_count_no_such_optionp  s    eT],@Ar#   c                .    V P                  R R.R4       R# )z	--quiet=3r   z$--quiet option does not take a valueNr  r%   s   &r    test_count_option_no_value$TestCount.test_count_option_no_values  s    k40C	Er#   c                h    V P                   P                  R ^ 4       V P                  . R ^ /. 4       R# rs  r@   r  rK   r%   s   &r    test_count_with_default!TestCount.test_count_with_defaultw  s,    	1-2	!}b1r#   c                l    V P                   P                  R ^ 4       V P                  . ROR ^/. 4       R# )r   Nr  r  r%   s   &r    test_count_overriding_default'TestCount.test_count_overriding_default{  s0    	1->%q>2	/r#   )r@   rp  N)r(   r)   r*   r+   r   r  rv  rz  r}  r  r  r  r  r  r  r  r  r  r,   r-   r.   s   @r    rl  rl  F  sV     N679CHN/"
(BE2/ /r#   rl  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestMultipleArgsi  c           	     r    \        \        R 7      V n        V P                  P                  RRR^RRR7       R# )r~   r  --pointr   floatpointr   r   rh   r   Nr[  r%   s   &r    r   TestMultipleArgs.setUp  s3    .^DtY&-QW7 	 	Tr#   c                8    V P                  . RORR/R R.4       R# )r   r  r  N)r   r  12.5z-4.3r  )g      ?      @g333333r  r%   s   &r    test_nargs_with_positional_args0TestMultipleArgs.test_nargs_with_positional_args  s#    C#%56!5>	+r#   c                6    V P                  . RORR/R.4       R# )r  r  r  N)r  -1r  z-0r  )g      r  g       r  r%   s   &r    test_nargs_long_opt$TestMultipleArgs.test_nargs_long_opt  s!    @#%67!7	$r#   c                .    V P                  . ROR4       R# )r  z-option -p: invalid floating-point value: '2x'N)r  1.02x3.5r  r%   s   &r    test_nargs_invalid_float_value/TestMultipleArgs.test_nargs_invalid_float_value  s    7B	Cr#   c                .    V P                  . ROR4       R# )r  z#--point option requires 3 argumentsN)r  r  r  r  r%   s   &r    test_nargs_required_values+TestMultipleArgs.test_nargs_required_values  s    6B	Dr#   r   N)r(   r)   r*   r+   r   r  r  r  r  r,   r-   r.   s   @r    r  r    s'     T
+
$
C
D Dr#   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestMultipleArgsAppendi  c           	         \        \        R 7      V n        V P                  P                  RRR^RRR7       V P                  P                  RRR	^R
RR7       V P                  P                  RRRRRR7       R# )r~   r  r  r   r  r  r  r  r  r  r   r   -z--zeroappend_constro  Nr   r   r[  r%   s   &r    r   TestMultipleArgsAppend.setUp  sx    .^DtYwa$+' 	 	;tWXQ$) 	 	7tXn$) 	 	9r#   c                >    V P                  . RORRRRR./R.4       R# )r  rm  r  Nr   )r  4-3rm  r  r  666)   )rF  i  r  r%   s   &r    test_nargs_append(TestMultipleArgsAppend.test_nargs_append  s)    I#T57H2EF"8	%r#   c                ,    V P                  R .R4       R# )z-f4,3z-f option requires 2 argumentsNr  r%   s   &r    !test_nargs_append_required_values8TestMultipleArgsAppend.test_nargs_append_required_values  s    gY=	?r#   c                :    V P                  R R.RRRR./. 4       R# )z--foo=3r  r  Nr      r  r  r%   s   &r    test_nargs_append_simple/TestMultipleArgsAppend.test_nargs_append_simple  s(    Is+#T5&:	r#   c                <    V P                  . RORRR. RO/. 4       R# )r  r  Nr   )r  r  r  r  r  )r  r  r  r  r%   s   &r    test_nargs_append_const.TestMultipleArgsAppend.test_nargs_append_const  s#    >#T51IJ	r#   r   N)r(   r)   r*   r+   r   r  r  r  r  r,   r-   r.   s   @r    r  r    s#     9%
?
 r#   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestVersioni  c                ^   \        \        R R7      V n        \        P                  R,          p \
        P                  P                  \
        P                  RR4      \        P                  ^ &   V P                  R.R4       V\        P                  R&   R#   T\        P                  R&   i ; i)r  )r   r  r  r   r   r  zbar 0.1
N)
r1   r   r@   re   r  r  r  r  curdirrm   )r   r  s   & r    test_versionTestVersion.test_version  su    .^7BDHHQK		$'',,ryy%?CHHQK{m[9#CHHQK)CHHQKs   AB B,c                V    \        \        R 7      V n        V P                  R.R4       R# )r~   r  zno such option: --versionN)r1   r   r@   rb   r%   s   &r    test_no_versionTestVersion.test_no_version  s#    .^Dk]8	:r#   r   N)r(   r)   r*   r+   r  r  r,   r-   r.   s   @r    r  r    s     $: :r#   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestConflictingDefaultsi  c           	     D    \        \        R RR^R7      .R7      V n        R# )r   r   r   rB  rC  N)r   r   r@   r%   s   &r    r   TestConflictingDefaults.setUp  s#    "\	1M0O Pr#   c                n    V P                   P                  R RR^ R7       V P                  . R^ /. 4       R# )r   r   r   rB  Nr@   r   rK   r%   s   &r    test_conflict_default-TestConflictingDefaults.test_conflict_default  s8    tM	'( 	 	*2	1~r2r#   c                n    V P                   P                  R RRRR7       V P                  . RR/. 4       R# )r   r   r   NrB  r  r%   s   &r    test_conflict_default_none2TestConflictingDefaults.test_conflict_default_none  s9    tM	'+ 	 	-2	40"5r#   r   N)	r(   r)   r*   r+   r   r  r  r,   r-   r.   s   @r    r  r    s     P3
6 6r#   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestOptionGroupi  c                0    \        \        R 7      V n        R# r}   r   r%   s   &r    r   TestOptionGroup.setUp  r   r#   c                    \        V P                  R 4      pV P                  P                  V4       VP                  RRRR7       V P	                  R.R^/. 4       R# )Spamz--spamr   zspam spam spam spamr   r  spamN)r   r@   add_option_groupr   rK   r   groups   & r    !test_option_group_create_instance1TestOptionGroup.test_option_group_create_instance  sV    DKK0$$U+,3 	 	5H:{B7r#   c                T    V P                  V P                  P                  R R4       R# )z!not an OptionGroup instance: NoneNrq   r@   r  r%   s   &r    test_add_group_no_group'TestOptionGroup.test_add_group_no_group  s"    T[[99@$	Hr#   c                V    V P                  V P                  P                  R RR4       R# r   r  r%   s   &r     test_add_group_invalid_arguments0TestOptionGroup.test_add_group_invalid_arguments  s#    T[[990$	>r#   c                    \        V P                  R 4      p\        4       Vn        V P                  V P                  P                  V3R\
        R4       R# )r  Nz"invalid OptionGroup (wrong parser))r   r@   r   r\   r  r  r  s   & r    test_add_group_wrong_parser+TestOptionGroup.test_add_group_wrong_parser  sB    DKK0#~$++66$$&J	Lr#   c                    V P                   P                  R RR7      pVP                  R4       VP                  RRR7       V P	                  V P                   P                  R4      V4       R# )zGroup 2zSome more options)descriptionBaconz--baconr   r9  N)r@   r  	set_titler   rS   get_option_groupr  s   & r    test_group_manipulate%TestOptionGroup.test_group_manipulate  s]    ,,Y9L - N /44Y?Gr#   r   N)r(   r)   r*   r+   r   r  r  r  r  r  r,   r-   r.   s   @r    r  r    s,     98H>LH Hr#   r  c                   T   a  ] tR tRt o R tR t ! R R]4      tR tR t	R t
R	tV tR
# )TestExtendAddTypesi  c                    \        \        V P                  R 7      V n        V P                  P	                  RRRRR7       V P                  P	                  RRRRR7       R# )	)r   rw  r  Nr:  r  r  r  r  r  )r1   r   MyOptionr@   r   r%   s   &r    r   TestExtendAddTypes.setUp  sN    .^<@MMKtTsCtXFHr#   c                j   \         P                  P                  \        P                  4      '       d'   \         P
                  ! \        P                  4       R # \         P                  P                  \        P                  4      '       d'   \         P                  ! \        P                  4       R # R # r   )r  r  isdirr   TESTFNrmdirisfileunlinkr%   s   &r    tearDownTestExtendAddTypes.tearDown  s]    77==))**HHY%%&WW^^I,,--IIi&&' .r#   c                      a  ] tR tRt o R t]P                  R,           t]P                  ! ]P                  4      t]]R&   Rt	V t
R# )TestExtendAddTypes.MyOptioni  c                    \         P                  P                  V4      '       g   \        R V,          4      h\         P                  P	                  V4      '       g   \        RV,          4      hV# )%s: file does not exist%s: not a regular file)r  r  existsr   r  rK  s   &&&r    
check_file&TestExtendAddTypes.MyOption.check_file  sO    77>>%((&'@5'HIIWW^^E**&'?%'GHHLr#   r  r;   Nr  )r(   r)   r*   r+   r  r   rS  rT  rU  r,   r-   r.   s   @r    r  r    s8     	 y(yy!4!45)Vr#   r  c                    \         P                  ! \         P                  4       V P                  R \         P                  R.R\         P                  RR/. 4       R# )r  -afoor  r  r   N)r   create_empty_filer  rK   r%   s   &r    test_filetype_ok#TestExtendAddTypes.test_filetype_ok  sH    ##I$4$45Hi&6&6@"I$4$4c5A	r#   c                v    V P                  R \        P                  R.R\        P                  ,          4       R# )r  r  r  N)rb   r   r  r%   s   &r    test_filetype_noexist(TestExtendAddTypes.test_filetype_noexist  s0    h	(8(8'B6&--.	/r#   c                    \         P                  ! \        P                  4       V P	                  R \        P                  R.R\        P                  ,          4       R# )r  r  r  N)r  mkdirr   r  rb   r%   s   &r    test_filetype_notfile(TestExtendAddTypes.test_filetype_notfile  sB    
!!"h	(8(8'B5&--.	/r#   r   N)r(   r)   r*   r+   r   r  r   r  r   r#  r'  r,   r-   r.   s   @r    r	  r	    s0     I(
*F 
*/
/ /r#   r	  c                   H   a  ] tR tRt o R t ! R R]4      tR tR tRt	V t
R# )	TestExtendAddActionsi%  c                V    V P                  R RRRRR7      .p\        VR7      V n        R# )r  --appleextendr:  appler  rC  N)r  r   r@   r  s   & r    r   TestExtendAddActions.setUp&  s1    ==y&.W ! > ?"w7r#   c                      a  ] tR tRt o ]P
                  R,           t]P                  R,           t]P                  R,           tR tRt	V t
R# )TestExtendAddActions.MyOptioni+  c           	         VR 8X  d5   VP                  R4      pVP                  V. 4      P                  V4       R# \        P                  ! WW#WdV4       R# )r-  ,N)splitensure_valuer-  r   take_action)r   r   r   rM  rN  r/  r@   lvalues   &&&&&&& r    r6  )TestExtendAddActions.MyOption.take_action0  sJ    !S)##D"-44V<""4F#)+r#   r;   N)r-  )r(   r)   r*   r+   r   ACTIONSSTORE_ACTIONSTYPED_ACTIONSr6  r,   r-   r.   s   @r    r  r1  +  s=     ..;.,,{:,,{:	+ 	+r#   r  c                8    V P                  R R.R. RO/. 4       R# )z	-afoo,barz--apple=blahr.  N)r   r   rm  r  r%   s   &r    test_extend_add_action+TestExtendAddActions.test_extend_add_action8  s#    K8#%;<	r#   c                8    V P                  . ROR. RO/. 4       R# )r  r.  N)r  r   z-abarz--apple=x,y)r   r   rn  ro  r  r%   s   &r    test_extend_add_action_normal2TestExtendAddActions.test_extend_add_action_normal=  s    @#%=>	r#   r   N)r(   r)   r*   r+   r   r   r  r=  r@  r,   r-   r.   s   @r    r*  r*  %  s%     8
+F +
 r#   r*  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestCallbackiD  c           
         \        R RRV P                  R7      \        RRRV P                  RRR7      .p\        VR	7      V n        R# )
r>  Nr   r   r   r  r  r:  filename)r   r   rh   r   rC  )r   process_optr   r@   r  s   & r    r   TestCallback.setUpE  sQ    t#&0(,(8(8: t'&0(,(8(8$,$.0		1 #w7r#   c                   VR 8X  d   V P                  VP                  R .4       V P                  VP                  . 4       V P                  W@P                  J 4       V P                  VRJ 4       V P                  \        VP                  4      RR/4       ^*VP                  n        R# VR8X  d   V P                  VP                  R.4       V P                  VP                  R.4       V P                  W@P                  J 4       V P                  VR4       V P                  \        VP                  4      RRR^*/4       \        VP                  VP                  V4       R# V P                  RV,          4       R# )r>  NrF  r  r  r   rn  z!Unknown option %r in process_opt.)rC   r   r   rS   r@   rB   r/  rn  setattrr   rN   r   rL  rM  rN  parser_s   &&&&&r    rG  TestCallback.process_optR  s&   $;V//$8V..3OOG{{23OOETM*T'..1J3EF!GNNH_V//$8V..
;OOG{{23UE*T'..1Jc23NOGNNFKK7II9C?@r#   c                8    V P                  R R.RRR^*/. 4       R# )r>  z
--file=foorF  r   rn  Nr  r%   s   &r    test_callbackTestCallback.test_callbackf  s&    D,/&sB7	r#   c           	         \        \        R 7      pVP                  R4       VP                  RRRR RRR7       R	pV P	                  W4       R
# )r~   r  r\  z--testr   c                      R # r   r;   r;   r#   r    <lambda>1TestCallback.test_callback_help.<locals>.<lambda>r  s    4r#   r:  r   )r   r   rh   r  z%Options:
  -t TEST, --test=TEST  foo
N)r   r   r  r   rx   )r   r@   rv   s   &  r    test_callback_helpTestCallback.test_callback_helpk  sP     N3T"$#/h$ 	 	&9.r#   r   N)
r(   r)   r*   r+   r   rG  rO  rU  r,   r-   r.   s   @r    rC  rC  D  s     8A(
/ /r#   rC  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestCallbackExtraArgsiz  c                p    \        R RRV P                  ^\        3RR. R7      .p\        VR7      V n        R# )r  r  r   r:  points)r   r   r   rh   r   rZ  rC  N)r   process_tupler   r   r@   r  s   & r    r   TestCallbackExtraArgs.setUp{  s<    tYz(,(:(:./XH$,b: ; #w7r#   c                b   V P                  V^4       V P                  V\        J 4       VR8X  d   V P                  VR4       MVR8X  d   V P                  VR4       \        \	        WcP                  R4      4      4      p\        VP                  VP                  4      P                  V4       R# )r  r  z1,2,3r  4,5,6r3  N)
rC   rS   r   r   mapr4  getattrr/  r   r  )r   rL  rM  rN  rL  lenrh   s   &&&&&&&r    r[  #TestCallbackExtraArgs.process_tuple  s    a $$;UG,IUG,c$C 012,33E:r#   c                8    V P                  . RORRR./. 4       R# )-p1,2,3rZ  N)rd  r  r^  rF     r  )r        r  r%   s   &r    test_callback_extra_args.TestCallbackExtraArgs.test_callback_extra_args  s#    :$w&89	r#   r   N)	r(   r)   r*   r+   r   r[  ri  r,   r-   r.   s   @r    rX  rX  z  s     8
; r#   rX  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestCallbackMeddleArgsi  c           
         \        RRR4       Uu. uF%  p\        \        V4      RV P                  RR7      NK'  	  pp\	        VR7      V n        R# u upi )rF  r   thingsr   r   r   rC  NrG  i)ranger   rO   	process_nr   r@   )r   rn  rH   s   &  r    r   TestCallbackMeddleArgs.setUp  sW     ""b"-/-q s1vj(,XG- 	 / #w7/s   +Ac                Z   \        VR ,          4      pVP                  p\        V4      V8  d   V P                  RWR3,          4       VP                  P                  VP                  . 4      pVP                  \        V^ V 4      4       VP                  P                  V4       V^ V1 R# ):rF  NNz$Expected %d arguments for %s option.N)
r   rargsra  rN   r/  r5  r   r  r   largs)r   rL  rM  rN  rL  r   rt  r   s   &&&&&   r    rq   TestCallbackMeddleArgs.process_n  s    CGu:II<|KL~~**6;;;E%%.)*U#!E'Nr#   c                <    V P                  . RORRR./^^.4       R# )r  rn  N)r  r   r  r   r,  quxr  )r   r,  rx  r  r%   s   &r    test_callback_meddle_args0TestCallbackMeddleArgs.test_callback_meddle_args  s(    C$x1F&GHq6	#r#   c                8    V P                  . RORR./^.4       R# )-2rn  N)r|  r   r   )r   r   r  r%   s   &r    #test_callback_meddle_args_separator:TestCallbackMeddleArgs.test_callback_meddle_args_separator  s"    .$}o63	 r#   r   N)
r(   r)   r*   r+   r   rq  ry  r}  r,   r-   r.   s   @r    rl  rl    s     8	#
   r#   rl  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestCallbackManyArgsi  c           
         \        R RR^V P                  RR7      \        RRR^V P                  RR7      .p\        VR7      V n        R	# )
r  r,  r   r:  )r   r   r   rh   r   --bobr   rC  N)r   process_manyr   r@   r  s   & r    r   TestCallbackManyArgs.setUp  sP    tYz(,(9(9JtWZq(,(9(9GH #w7r#   c                    VR 8X  d   V P                  VR4       R# VR8X  d   V P                  VR4       R# VR8X  d   V P                  VR4       R# VR8X  d   V P                  VR4       R# R# )	r  r,  r   r  N)r   r   )dingdongre  )ifr  r   rC   rK  s   &&&&&r    r  !TestCallbackManyArgs.process_many  se    $;UN3IU$45D[UI.G^UM2 r#   c                8    V P                  . RORRRR/. 4       R# )r  r.  Nbob)r  r   r   r,  r  r  r   r  2r  r  z-666ru  0r  r%   s   &r    test_many_args#TestCallbackManyArgs.test_many_args  s&     ! $T5$7		r#   r   N)	r(   r)   r*   r+   r   r  r  r,   r-   r.   s   @r    r  r    s     83 r#   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestCallbackCheckAbbrevi  c                t    \        4       V n        V P                  P                  R RV P                  R7       R# )	--foo-barr   rE  N)r   r@   r   check_abbrevr%   s   &r    r   TestCallbackCheckAbbrev.setUp  s/    "n{:(,(9(9 	 	;r#   c                *    V P                  VR 4       R# )r  Nr  r   rL  rM  rN  r@   s   &&&&&r    r  $TestCallbackCheckAbbrev.check_abbrev  s    k*r#   c                .    V P                  R ./ . 4       R# )r  Nr  r%   s   &r    test_abbrev_callback_expansion6TestCallbackCheckAbbrev.test_abbrev_callback_expansion  s    G9b"-r#   r   N)	r(   r)   r*   r+   r   r  r  r,   r-   r.   s   @r    r  r    s     ;
+. .r#   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestCallbackVarArgsi  c           
         \        R R^RR7      \        RRRR7      \        RR	R
V P                  RR7      .p\        \        VR7      V n        R# )r  r   r  )rh   r   r   r   r   r   r   rW  
--callbackr   cro  r  N)r   variable_argsr1   r   r@   r  s   & r    r   TestCallbackVarArgs.setUp  sR    t%qsCtLsCt\*(,(:(:FG /^;BDr#   c                n   V P                  VR J 4       . pVP                  pV'       dk   V^ ,          pVR,          R8X  d   \        V4      ^8  g-   VR,          R8X  d    \        V4      ^8  d   V^,          R8w  d   MVP                  V4       V^  Kr  \	        VP
                  VP                  V4       R # )N:Nrf  Nr   :NrF  Nr1  )rS   rt  ra  r  rJ  r/  r   )r   rL  rM  rN  r@   rt  args   &&&&&  r    r  !TestCallbackVarArgs.variable_args  s    &(CRDSX\RCCHqLSVs]S!!Hv{{E2r#   c           
     @    V P                  . RORRRRRRR./. 4       R# )	-a3r   r   r  r   Nr  )r  r  r  r   r   )r  r  r  r%   s   &r    test_variable_args&TestCallbackVarArgs.test_variable_args  s*    D#tS5%.I	r#   c           
     B    V P                  . RORRRRR. RO/R.4       R# )	rW  hellor  Nr   Tr  )rW  37r   xxxr   r  )r  r   r  r  r%   s   &r    %test_consume_separator_stop_at_option9TestCallbackVarArgs.test_consume_separator_stop_at_option  s/    C!46 $9		&r#   c           
     B    V P                  . RORRRRR. RO/R .4       R# )r  r  Nr   r  )r  rW  r   r1  r   )r   r1  r   r  r%   s   &r    %test_positional_arg_and_variable_args9TestCallbackVarArgs.test_positional_arg_and_variable_args  s/    = 35 $9		&r#   c           	     >    V P                  . RORRRRRR./. 4       R# )rW  r   r  Nr   Tr  )rW  r   r   r  r%   s   &r    test_stop_at_option'TestCallbackVarArgs.test_stop_at_option  s(    .sD#w?	r#   c                .    V P                  . ROR4       R# )rW  zno such option: -5N)rW  r  r  r  r  r%   s   &r    test_stop_at_invalid_option/TestCallbackVarArgs.test_stop_at_invalid_option  s    46JKr#   r   N)r(   r)   r*   r+   r   r  r  r  r  r  r  r,   r-   r.   s   @r    r  r    s0     D3
&&
L Lr#   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )ConflictBasei
  c                T    \        R RRRRR7      .p\        \        VR7      V n        R# )r   r   r   r   zincrement verbosityr   r   r  r  Nr  r  s   & r    r   ConflictBase.setUp  s1    t[$-4IK L.^;BDr#   c                (    ^VP                   n        R# )rF  N)r/  show_versionr  s   &&&&&r    r  ConflictBase.show_version  s    %&"r#   r   N)r(   r)   r*   r+   r   r  r,   r-   r.   s   @r    r  r  
  s     D' 'r#   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestConflicti  c           
         V P                  VR	RRRV P                  RR/\        R4      pV P                  VP                  R4       V P                  VP
                  R4       R# )
r   r   r   r  show versionz5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--versionN)r   r  )r\   r  r   rC   r5   	option_id)r   rV   rZ   s   && r    assertTrueconflict_error%TestConflict.assertTrueconflict_error  sf    %:(2T5F5F(.(A  CE 	"DE7r#   c                P    V P                  V P                  P                  4       R # r   )r  r@   r   r%   s   &r    test_conflict_error TestConflict.test_conflict_error!  s    %%dkk&<&<=r#   c                h    \        V P                  R 4      pV P                  VP                  4       R# )zGroup 1N)r   r@   r  r   r  s   & r    test_conflict_error_group&TestConflict.test_conflict_error_group$  s&    DKK3%%e&6&67r#   c                `    V P                  V P                  P                  RR\        R4       R# )r   Nz'invalid conflict_resolution value 'foo'r  )r\   r@   set_conflict_handlerr  r%   s   &r    test_no_such_conflict_handler*TestConflict.test_no_such_conflict_handler(  s(    KK,,hA	Cr#   r;   N)
r(   r)   r*   r+   r  r  r  r  r,   r-   r.   s   @r    r  r    s      	8>8C Cr#   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestConflictResolvei.  c                    \         P                  V 4       V P                  P                  R 4       V P                  P	                  RRRV P
                  RR7       R# )resolver   r  r   r  )r   r   r  N)r  r   r@   r  r   r  r%   s   &r    r   TestConflictResolve.setUp/  sK    4 ((3t[(,(9(9 	 	Pr#   c                   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pV P                  WJ 4       V P                  WJ4       V P                  VP                  R.4       V P                  VP
                  R .4       V P                  VP                  R.4       V P                  VP
                  . 4       V P                  VP                  R.4       R# )r   r   r  N)r@   r   rS   rC   r   r   )r   rp  verbose_optversion_opts   &   r    test_conflict_resolve)TestConflictResolve.test_conflict_resolve5  s    &&t,kk,,[9kk,,[9,-01))K=9004&9//+?00"5//+?r#   c                ,    V P                  R .R4       R# )r  z}Options:
  --verbose      increment verbosity
  -h, --help     show this help message and exit
  -v, --version  show version
Nrm   r%   s   &r    test_conflict_resolve_help.TestConflictResolve.test_conflict_resolve_helpB  s    4& # 	r#   c                6    V P                  R .RRR^/. 4       R# )r   r   Nr  r  r%   s   &r    test_conflict_resolve_short_opt3TestConflictResolve.test_conflict_resolve_short_optJ  s#    D6%t^Q?	r#   c                2    V P                  R .R^/. 4       R# )r   r   Nr  r%   s   &r    test_conflict_resolve_long_opt2TestConflictResolve.test_conflict_resolve_long_optO  s    K=%q>	r#   c                8    V P                  R R.R^R^/. 4       R# )r   r  r   r  Nr  r%   s   &r    test_conflict_resolve_long_opts3TestConflictResolve.test_conflict_resolve_long_optsT  s&    K5%q.!<	r#   r;   N)r(   r)   r*   r+   r   r  r  r  r  r  r,   r-   r.   s   @r    r  r  .  s*     P@

 r#   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestConflictOverrideiY  c           	         \        \        R 7      V n        V P                  P                  R4       V P                  P	                  RRRRRR7       V P                  P	                  RRR^*RR	R
7       R# )r~   r  r   	--dry-runr   dry_runzdon't do anythingr  rn  zdry run mode)r   r   r   r  N)r1   r   r@   r  r   r%   s   &r    r   TestConflictOverride.setUpZ  sj    .^D((3t[&2$7 	 	9 	{D&32I$2 	 	4r#   c                    V P                   P                  R 4      pV P                  VP                  R.4       V P                  VP                  R .4       R# )r  r   N)r@   r   rC   r   r   rh  s   & r    test_conflict_override_opts0TestConflictOverride.test_conflict_override_optsd  sB    kk$$[14&1+7r#   c                ,    V P                  R .R4       R# )r  zXOptions:
  -h, --help     show this help message and exit
  -n, --dry-run  dry run mode
Nr  r%   s   &r    test_conflict_override_help0TestConflictOverride.test_conflict_override_helpi  s    4& # 	r#   c                2    V P                  R .R^*/. 4       R# )r   r  Nr  r%   s   &r    test_conflict_override_args0TestConflictOverride.test_conflict_override_argsp  s    D6%r?	r#   r   N)
r(   r)   r*   r+   r   r  r  r  r,   r-   r.   s   @r    r  r  Y  s     48
 r#   r  aS  Usage: bar.py [options]

Options:
  -a APPLE           throw APPLEs at basket
  -b NUM, --boo=NUM  shout "boo!" NUM times (in order to frighten away all the
                     evil spirits that cause trouble and mayhem)
  --foo=FOO          store FOO in the foo list for later fooing
  -h, --help         show this help message and exit
aS  Usage: bar.py [options]

Options:
  -a APPLE           throw APPLEs at basket
  --boo=NUM, -b NUM  shout "boo!" NUM times (in order to frighten away all the
                     evil spirits that cause trouble and mayhem)
  --foo=FOO          store FOO in the foo list for later fooing
  --help, -h         show this help message and exit
aW  Usage
=====
  bar.py [options]

Options
=======
-a APPLE           throw APPLEs at basket
--boo=NUM, -b NUM  shout "boo!" NUM times (in order to frighten away all the
                   evil spirits that cause trouble and mayhem)
--foo=FOO          store FOO in the foo list for later fooing
--help, -h         show this help message and exit
a}  Usage: bar.py [options]

Options:
  -a APPLE           throw APPLEs at basket
  -b NUM, --boo=NUM  shout "boo!" NUM times (in order to
                     frighten away all the evil spirits
                     that cause trouble and mayhem)
  --foo=FOO          store FOO in the foo list for later
                     fooing
  -h, --help         show this help message and exit
a~  Usage: bar.py [options]

Options:
  -a APPLE
    throw
    APPLEs at
    basket
  -b NUM, --boo=NUM
    shout
    "boo!" NUM
    times (in
    order to
    frighten
    away all
    the evil
    spirits
    that cause
    trouble and
    mayhem)
  --foo=FOO
    store FOO
    in the foo
    list for
    later
    fooing
  -h, --help
    show this
    help
    message and
    exit
c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestHelpi  c                2    V P                  ^P4      V n        R# )P   N)make_parserr@   r%   s   &r    r   TestHelp.setUp  s    &&r*r#   c           
        \        R RRRRR7      \        RRRR	R
RR7      \        RRRRRR7      .p\        P                  ! 4       ;_uu_ 4       p\        V4      VR&   \	        VR7      uuRRR4       #   + '       g   i     R# ; i)r  r:  r  APPLEzthrow APPLEs at basket)rh   r   metavarr  r   r  r   r  NUMzeshout "boo!" NUM times (in order to frighten away all the evil spirits that cause trouble and mayhem)r  r  r   z*store FOO in the foo list for later fooing)r   rh   r   r  COLUMNSrC  N)r   r   EnvironmentVarGuardrO   r1   )r   columnsrH   envs   &&  r    r  TestHelp.make_parser  s    8# '.FHgE %NO
 xeIK
  **,, \C	N+@ -,,,s   A33B	c                   \         P                  R ,          p \        P                  P	                  RR4      \         P                  ^ &   V P                  R.V4       V\         P                  R &   R#   T\         P                  R &   i ; i)r  r   zbar.pyr  N)re   r  r  r  r  rm   )r   ra   r  s   && r    assertHelpEqualsTestHelp.assertHelpEquals  s]    HHQK		$'',,uh7CHHQKtfo6#CHHQK)CHHQKs   AA2 2Bc                0    V P                  \        4       R # r   )r  _expected_help_basicr%   s   &r    	test_helpTestHelp.test_help  s    23r#   c                f    V P                   P                  R 4       V P                  \        4       R# )zUsage: %prog [options]N)r@   	set_usager  r  r%   s   &r    test_help_old_usageTestHelp.test_help_old_usage  s$    6723r#   c                f    ^ V P                   P                  n        V P                  \        4       R# r<   )r@   r  short_firstr  _expected_help_long_opts_firstr%   s   &r    test_help_long_opts_first"TestHelp.test_help_long_opts_first  s#    ,-)<=r#   c                    \         P                  ! 4       ;_uu_ 4       pR VR&   \        4       V P                  n        V P                  \        4       RRR4       R#   + '       g   i     R# ; i)80r  N)r   r  r   r@   r  r  _expected_help_title_formatter)r   r  s   & r    test_help_title_formatter"TestHelp.test_help_title_formatter  sI    **,,!C	N$7$9DKK!!!"@A -,,,s   4AA-	c                    V P                  ^<4      V n        V P                  \        4       V P                  ^ 4      V n        V P                  \        4       R# )<   N)r  r@   r  _expected_help_short_lines_expected_very_help_short_linesr%   s   &r    test_wrap_columnsTestHelp.test_wrap_columns  sF     &&r*89&&q)=>r#   c                    \        \        R 7      V n        V P                  P                  RRRR7       RpV P	                  V4       R# )r~   r  r      olé!r  uK   Options:
  -h, --help  show this help message and exit
  -a          olé!
N)r1   r   r@   r   r  r   expects   & r    test_help_unicodeTestHelp.test_help_unicode  s>    .^DtL{K
 	f%r#   c                X    \        \        R R7      V n        RpV P                  V4       R# )r#  )r   r  u>   olé!

Options:
  -h, --help  show this help message and exit
N)r1   r   r@   r  r$  s   & r    test_help_unicode_description&TestHelp.test_help_unicode_description  s+    .^;FH 	f%r#   c                @   V P                   P                  R 4       \        V P                   RR4      pVP                  RRRR7       V P                   P	                  V4       RpV P                  V4       RV P                   n        V P                  VR	,           4       R
# )z`This is the program description for %prog.  %prog has an option group as well as single options.zDangerous OptionszZCaution: use of these options is at your own risk.  It is believed that some of them bite.z-gr   zGroup option.r  aT  Usage: bar.py [options]

This is the program description for bar.py.  bar.py has an option group as
well as single options.

Options:
  -a APPLE           throw APPLEs at basket
  -b NUM, --boo=NUM  shout "boo!" NUM times (in order to frighten away all the
                     evil spirits that cause trouble and mayhem)
  --foo=FOO          store FOO in the foo list for later fooing
  -h, --help         show this help message and exit

  Dangerous Options:
    Caution: use of these options is at your own risk.  It is believed
    that some of them bite.

    -g               Group option.
z Please report bugs to /dev/null.z"
Please report bugs to /dev/null.
N)r@   set_descriptionr   r   r  r  epilog)r   r  r%  s   &  r    test_help_description_groups%TestHelp.test_help_description_groups  s    ##9	: KK,56 	lI$$U+( 	f%?f'MMNr#   r   N)r(   r)   r*   r+   r   r  r  r  r  r  r  r   r&  r)  r.  r,   r-   r.   s   @r    r  r    sE     +A*$44>B?&	&#O #Or#   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestMatchAbbrevi@  c                N    V P                  \        R RRRRRRR R/4      R 4       R# )--fr  Nr  --fie)rC   r   r%   s   &r    test_match_abbrev!TestMatchAbbrev.test_match_abbrevA  s7    u(/(/(/(-t(56
 	 r#   c                V    R pRRRRRR/pV P                  \        W3R\        R4       R# )r3  r  Nr  r4  z,ambiguous option: --f (--fie, --foo, --foz?))r\   r   r   )r   rA  wordmaps   &  r    test_match_abbrev_error'TestMatchAbbrev.test_match_abbrev_errorI  s7    D'4$?A<J	Lr#   r;   N)r(   r)   r*   r+   r5  r9  r,   r-   r.   s   @r    r1  r1  @  s      L Lr#   r1  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestParseNumberiQ  c                    \        4       V n        V P                  P                  R \        R7       V P                  P                  R\        R7       R# )r   r9  -lN)r1   r@   r   r   r%   s   &r    r   TestParseNumber.setUpR  s:    .0t#.t#.r#   c           	         V P                  \        R \        3/ \        \        P
                  ! R4      4       V P                  \        R\        3/ \        \        P
                  ! R4      4       R# )r   z!invalid literal for int().*: '?'?0xOoopsz*invalid literal for int().*: s?'?0xOoops'?N)r\   r   r   r  rQ   compiler%   s   &r    test_parse_num_fail#TestParseNumber.test_parse_num_failW  sX    S	2JJ;<	> 	C("JJDE	Gr#   c                   V P                  \        R \        4      ^ 4       V P                  \        R\        4      ^4       V P                  \        R\        4      ^
4       V P                  \        R\        4      ^4       V P                  \        R\        4      ^4       V P                  \        R\        4      ^ 4       R# )r  0x100XA0100b110bN)rC   r   r   r%   s   &r    test_parse_num_ok!TestParseNumber.test_parse_num_oka  s    C-q1FC0"5E3/4E3/3FC0!4D#.2r#   c                    V P                  . ROR^*R^ /. 4       V P                  . ROR^R^/. 4       V P                  R.R4       V P                  R.R4       V P                  RR.R	4       R
# )r   r>  r]  lz-n008z'option -n: invalid integer value: '008'z-l0b0123z*option -l: invalid integer value: '0b0123'0x12xz)option -l: invalid integer value: '0x12x'N)r   ru  r>  0x20)r   0b0101z-l010)rK   rb   r%   s   &r    test_numeric_options$TestParseNumber.test_numeric_optionsi  s    5 "c412	74 !S!-r	3gYF	Hj\I	KdG_H	Jr#   r   N)
r(   r)   r*   r+   r   rC  rK  rR  r,   r-   r.   s   @r    r<  r<  Q  s!     /
G3
J 
Jr#   r<  c                   6   a  ] tR tRt o R t]R 4       tRtV tR# )MiscTestCaseiv  c                H    0 Rmp\         P                  ! V \        VR7       R# )check_builtin)not_exportedN>   
NO_DEFAULTrW  AmbiguousOptionError)r   check__all__optparse)r   rX  s   & r    test__all__MiscTestCase.test__all__w  s    NT8,Gr#   c                     \        R R04       R# )r\  textwrapNr	   r%   s   &r    test_lazy_importMiscTestCase.test_lazy_import{  s    J5r#   r;   N)	r(   r)   r*   r+   r]  r   ra  r,   r-   r.   s   @r    rU  rU  v  s     H 6 6r#   rU  c                   &   a  ] tR tRt o R tRtV tR# )TestTranslationsi  c                0    V P                  \        4       R # r   )assertMsgidsEqualr\  r%   s   &r    test_translations"TestTranslations.test_translations  s    x(r#   r;   N)r(   r)   r*   r+   rg  r,   r-   r.   s   @r    rd  rd    s     ) )r#   rd  __main__z--snapshot-updatei  iQ )Rre   r  rQ   rT  unittestior   r  r   test.supportr   r   test.support.i18n_helperr   r   test.support.import_helperr
   r\  r   r   r   r   r   r   r   r   r   r   r   r   r   	Exceptionr   r1   TestCaser>   r{   r   r(  r4  rI  rO  rQ  rW  r|  r  r  r@  rU  rl  r  r  r  r  r  r	  r*  rC  rX  rl  r  r  r  r  r  r  r  r  r  r  r  r  r  r1  r<  rU  rd  r(   ra  r  r6   mainr;   r#   r    <module>rr     s    	 	     0 W : . . . . # 
Ny 
N2| 2M%x   M%jJ#x J#XL?x L?^(x (*Ch C  ar3h@>/V /
0J 0Jf'78 '7TI4 I4\H38 H3T!x !F. ..8/ 8/tDx D2X ::( :$6h 6 Hh HD(/ (/V8 >3/8 3/lH 2 X  :8 2
.h 
.0L( 0Lj'8 'C< C4), )V8 <	 	" "  # BtOx tOnLh L""Jh "JJ68$$ 6)+ )
 z
388}qSXXa[,??$X.MMO r#   