Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_optparse.cpython-310.pyc
o

�9j��@s(ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlZddlmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZGdd	�d	e�ZGd
d�de�ZGdd
�d
ej�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!ddddd�Z"dd�Z#Gdd�de
�Z$Gdd �d e�Z%Gd!d"�d"e�Z&Gd#d$�d$e�Z'Gd%d&�d&e�Z(Gd'd(�d(e�Z)Gd)d*�d*e�Z*Gd+d,�d,e�Z+Gd-d.�d.e�Z,Gd/d0�d0e�Z-Gd1d2�d2e�Z.Gd3d4�d4e�Z/Gd5d6�d6e�Z0Gd7d8�d8e�Z1Gd9d:�d:e�Z2Gd;d<�d<e�Z3Gd=d>�d>e�Z4Gd?d@�d@e�Z5GdAdB�dBe�Z6GdCdD�dDe�Z7GdEdF�dFe�Z8GdGdH�dHe�Z9GdIdJ�dJe9�Z:GdKdL�dLe9�Z;GdMdN�dNe�Z<dOZ=dPZ>dQZ?dRZ@dSZAGdTdU�dUe�ZBGdVdW�dWe�ZCGdXdY�dYe�ZDGdZd[�d[ej�ZEeFd\k�r�e�G�dSdS)]�N)�StringIO)�support)�	os_helper)�make_option�Option�TitledHelpFormatter�OptionParser�OptionGroup�SUPPRESS_USAGE�OptionError�OptionConflictError�BadOptionError�OptionValueError�Values)�
_match_abbrev)�
_parse_numc@s$eZdZ			ddd�Zdd�ZdS)�InterceptedErrorNcCs||_||_||_dS�N)�
error_message�exit_status�exit_message)�selfrrr�r�)/usr/lib/python3.10/test/test_optparse.py�__init__s
zInterceptedError.__init__cCs|jp|jpdS)Nzintercepted error)rr�rrrr�__str__%�zInterceptedError.__str__)NNN)�__name__�
__module__�__qualname__rrrrrrrs
�rc@seZdZddd�Zdd�ZdS)�InterceptingOptionParserrNcCst||d��)N)rr�r)r�status�msgrrr�exit)�zInterceptingOptionParser.exitcCs
t|d��)N)rr")rr$rrr�error,s
zInterceptingOptionParser.error�rN)rrr r%r'rrrrr!(s
r!c@sBeZdZdd�Zdd�Zdd�Z		dd	d
�Zdd�Zd
d�ZdS)�BaseTestcCsH|j�|�\}}t|�}|�||dt��|�||dt��||fS)a�Assert the options are what we expected when parsing arguments.

        Otherwise, fail with a nicely formatted message.

        Keyword arguments:
        args -- A list of arguments to parse with OptionParser.
        expected_opts -- The options expected.
        expected_positional_args -- The positional arguments expected.

        Returns the options and positional args for further testing.
        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�optdictrrr�
assertParseOK1s
����zBaseTest.assertParseOKc
Cs�|durd}|duri}z	||i|��Wn8|yM}z,t|�}t|tj�r6|�|�|�d|j|f�n|�||d||f�|WYd}~Sd}~ww|�dt	��dS)a-
        Assert that the expected exception is raised when calling a
        function, and that the right error message is included with
        that exception.

        Arguments:
          func -- the function to call
          args -- positional arguments to `func`
          kwargs -- keyword arguments to `func`
          expected_exception -- exception that should be raised
          expected_message -- expected exception message (or pattern
            if a compiled regex object)

        Returns the exception raised for further testing.
        NrzLexpected exception message pattern:
/%s/
actual exception message:
'''%s'''
zHexpected exception message:
'''%s'''
actual exception message:
'''%s'''
znexpected exception %(expected_exception)s not raised
called %(func)r
with args %(args)r
and kwargs %(kwargs)r
)
�str�
isinstance�re�Pattern�
assertTrue�search�patternr-�failr.)r�funcr/�kwargs�expected_exception�expected_message�err�actual_messagerrr�assertRaisesOs4����	��
�zBaseTest.assertRaisesc
CsTz|j�|�Wnty"}z|�|j|�WYd}~dSd}~ww|�d�dS)z�
        Assert the parser fails with the expected message.  Caller
        must ensure that self.parser is an InterceptingOptionParser.
        Nzexpected parse failure)r*r+rr-r�assertFalse)r�cmdline_args�expected_outputrBrrr�assertParseFail�s��zBaseTest.assertParseFailrNc
Cs�tj}z zt�t_|j�|�Wtj��}|t_n	tj��}|t_wWn?tyb}z3|�t|t	�dt
|��||krI|�d|d|d�|�|j
|�|�|j|�WYd}~dSd}~ww|�d�dS)z7Assert the parser prints the expected output on stdout.z0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z'''Nzexpected parser.exit())�sys�stdoutrr*r+�getvaluerr:r7r6�typer=r-rrrE)rrFrG�expected_status�expected_error�save_stdout�outputrBrrr�assertOutput�s:

���
�����zBaseTest.assertOutputcGs|�||dt|�dS)z4Assert that TypeError is raised when executing func.N)rD�	TypeError)rr>rAr/rrr�assertTypeError�szBaseTest.assertTypeErrorcCs.|��}||kr|�d|d|d��dS)Nzhelp text failure; expected:
"z	"; got:
"z"
)�format_help�failureException)rr*�
expected_help�actual_helprrr�
assertHelp�s������zBaseTest.assertHelpr()	rrr r5rDrHrQrSrXrrrrr)0s;
�r)c@s�eZdZdd�Zgifdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�TestOptionCheckscC�ttd�|_dS�N��usage�rr
r*rrrr�setUp�rzTestOptionChecks.setUpcCs|�t||t|�dSr)rDrr)rrAr/r?rrr�assertOptionError��
�z"TestOptionChecks.assertOptionErrorcCs|�td�dS)Nz+at least one option string must be supplied)rSrrrrr�test_opt_string_empty�s�z&TestOptionChecks.test_opt_string_emptycC�|�ddg�dS)Nz?invalid option string 'b': must be at least two characters long�b�r`rrrr�test_opt_string_too_short�s�z*TestOptionChecks.test_opt_string_too_shortcCrc)NzOinvalid short option string '--': must be of the form -x, (x any non-dash char)�--rerrrr�test_opt_string_short_invalid���z.TestOptionChecks.test_opt_string_short_invalidcCrc)NzJinvalid long option string '---': must start with --, followed by non-dashz---rerrrr�test_opt_string_long_invalid�riz-TestOptionChecks.test_opt_string_long_invalidcCs|�ddgddd��dS)Nz.option -b: invalid keyword arguments: bar, foo�-b��foo�barrerrrr�test_attr_invalid���z"TestOptionChecks.test_attr_invalidcCs|�ddgddi�dS)Nz option -b: invalid action: 'foo'rk�actionrmrerrrr�test_action_invalid�s
�z$TestOptionChecks.test_action_invalidcCs,|�ddgddi�|�ddgdti�dS)Nz%option -b: invalid option type: 'foo'rkrLrmz'option -b: invalid option type: 'tuple')r`�tuplerrrr�test_type_invalid�s
�
�z"TestOptionChecks.test_type_invalidcC�|�ddgddd��dS)Nz4option -b: must not supply a type for action 'count'rk�count�int)rqrLrerrrr�test_no_type_for_action�rpz(TestOptionChecks.test_no_type_for_actioncCs|�dddgddi�dS)Nz@option -b/--bad: must supply a list of choices for type 'choice'rk�--badrL�choicererrrr�test_no_choices_list�s�z%TestOptionChecks.test_no_choices_listcCs*td�j}|�d|ddgddd��dS)N�zBoption -b/--bad: choices must be a list of strings ('%s' supplied)rkryrzzbad choices�rL�choices)rLrr`)r�typenamerrr�test_bad_choices_list�s
��z&TestOptionChecks.test_bad_choices_listcCru)Nz1option -b: must not supply choices for type 'int'rkrw�badr}rerrrr�test_no_choices_for_typerpz)TestOptionChecks.test_no_choices_for_typecCru)Nz:option -b: 'const' must not be supplied for action 'store'rk�store�)rq�constrerrrr�test_no_const_for_actionrpz)TestOptionChecks.test_no_const_for_actioncCru)Nz:option -b: 'nargs' must not be supplied for action 'count'rkrv�)rq�nargsrerrrr�test_no_nargs_for_actionrpz)TestOptionChecks.test_no_nargs_for_actioncCru)Nz'option -b: callback not callable: 'foo'rk�callbackrm�rqr�rerrrr�test_callback_not_callable���z+TestOptionChecks.test_callback_not_callablecC�dSrrrrrr�dummy�zTestOptionChecks.dummycC�|�ddgd|jdd��dS)NzAoption -b: callback_args, if supplied, must be a tuple: not 'foo'rkr�rm)rqr��
callback_args�r`r�rrrr�test_callback_args_no_tuple���z,TestOptionChecks.test_callback_args_no_tuplecCr�)NzBoption -b: callback_kwargs, if supplied, must be a dict: not 'foo'rkr�rm)rqr��callback_kwargsr�rrrr�test_callback_kwargs_no_dict'r�z-TestOptionChecks.test_callback_kwargs_no_dictcCru)Nz<option -b: callback supplied ('foo') for non-callback optionrkr�rmr�rerrrr�test_no_callback_for_action/r�z,TestOptionChecks.test_no_callback_for_actioncCru)Nz9option -b: callback_args supplied for non-callback optionrkr�rm)rqr�rerrrr� test_no_callback_args_for_action5r�z1TestOptionChecks.test_no_callback_args_for_actioncCru)Nz;option -b: callback_kwargs supplied for non-callback optionrkr�rm)rqr�rerrrr�"test_no_callback_kwargs_for_action;r�z3TestOptionChecks.test_no_callback_kwargs_for_actioncCs2|�ddg�|�dddg�|�dddg�dS)NzMinvalid 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--debugrerrrr�test_no_single_dashAs���z$TestOptionChecks.test_no_single_dashN)rrr r_r`rbrfrhrjrorrrtrxr{r�r�r�r�r�r�r�r�r�r�r�r�rrrrrY�s0rYc@sreZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
jddd�dd��ZdS)�TestOptionParsercCs:t�|_|jjddddddd�|jjdd	d
ddd�dS)N�-v�	--verbose�-n�--noisy�
store_true�verbose�rq�dest�-q�--quiet�--silent�store_false)rr*�
add_optionrrrrr_Rs�
�zTestOptionParser.setUpcC�|�|jjdd�dS)Nznot an Option instance: None�rSr*r�rrrr�test_add_option_no_OptionYraz*TestOptionParser.test_add_option_no_OptioncC�|�|jjddd�dS�Nzinvalid argumentsr�rrrr�!test_add_option_invalid_arguments]�
�z2TestOptionParser.test_add_option_invalid_argumentscCs\|j�d�}|�|t�|�|jddg�|�|jddg�|�|jd�|�|jd�dS)Nr�r�r�r�r�r�)	r*�
get_option�assertIsInstancerr-�_short_opts�
_long_optsrqr�)r�opt1rrr�test_get_optionasz TestOptionParser.test_get_optioncCsb|j�d�}|j�d�}|j�d�}|j�d�}|�||uo+|uo+|u�dS�dS)Nr�r�r�r�)r*r�r:)rr��opt2�opt3�opt4rrr�test_get_option_equalsis
2z'TestOptionParser.test_get_option_equalscCs(|�|j�d��|�|j�d��dS)Nr�r�)r:r*�
has_optionrrrr�test_has_optionpsz TestOptionParser.test_has_optioncCs�|�|j�d�du�|�|j�d�du�|�|j�d�du�|�|j�d�du�|�|j�d��|�|j�d��|�|j�d��|�|j�d��|�|j�d��|�|j�d��dS)Nr�r�r�r�r�r�)r:r*r�rEr�rrrr�assertTrueremovedtsz"TestOptionParser.assertTrueremovedcC�|j�d�|��dS)Nr��r*�
remove_optionr�rrrr�test_remove_short_opt��z&TestOptionParser.test_remove_short_optcCr�)Nr�r�rrrr�test_remove_long_opt�r�z%TestOptionParser.test_remove_long_optcC�|�|jjddtd�dS)N�rmzno such option 'foo')rDr*r��
ValueErrorrrrr�test_remove_nonexistent�s�z(TestOptionParser.test_remove_nonexistentzRelies on sys.getrefcountT)�cpythoncCsHdg}t�|�}t�}|�dd�||_|��~|�|t�|��dS)N�*�-az	--aaarggh)rI�getrefcountrr��	big_thing�destroyr-)rr��refcountr*rrr�test_refleak�s
zTestOptionParser.test_refleakN)rrr r_r�r�r�r�r�r�r�r�r�r�impl_detailr�rrrrr�Qsr�c@�eZdZdd�Zdd�ZdS)�TestOptionValuescCr�rrrrrrr_�r�zTestOptionValues.setUpcCs�t�}|�t|�i�|�|i�|�|ddi�|�|d�ddd�}t|d�}|�t|�|�|�||�|�|ddi�|�|i�|�|d�|�|g�dS)Nrmrnr|r�)rm�baz)�defaults)rr-r,�assertNotEqual)r�values�dictrrr�test_basics�s

zTestOptionValues.test_basicsN)rrr r_r�rrrrr��sr�c@�$eZdZdd�Zdd�Zdd�ZdS)�TestTypeAliasescCst�|_dSr)rr*rrrrr_�r&zTestTypeAliases.setUpcCs*|jjddd�|�|j�d�jd�dS)N�-sr6�rL�string)r*r�r-r�rLrrrr�test_str_aliases_string�sz'TestTypeAliases.test_str_aliases_stringcCsP|jjdtd�|�|j�d�jd�|jjdtd�|�|j�d�jd�dS)Nr�r�r��-xrw)r*r�r6r-r�rLrwrrrr�test_type_object�sz TestTypeAliases.test_type_objectN)rrr r_r�r�rrrrr��sr�r��<ii�Q)�s�m�h�dc	CsXz|d��rt|�WSt|dd��t|dWSttfy+td||f��w)N���zoption %s: invalid duration: %r)�isdigitrw�_time_unitsr��
IndexErrorr��option�opt�valuerrr�_check_duration�s

��r�c@s*eZdZejdZe�ej�Zeed<dS)�DurationOption)�durationr�N)rrr r�TYPES�copy�TYPE_CHECKERr�rrrrr��s
r�c@�4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestDefaultValuescCs�t�|_|jjdddd�|jjdddd�|jjd	d
dd�|jjd
d
d�|jjddd�|j�d�|jjddd�ddddddd�|_dS)Nr�r�T��defaultr�r�r�)r�r�rw�%�rLr�z-mr�r�rm�-tz-u)r��nr�r��t�u)rr*r��expectedrrrrr_�s�zTestDefaultValues.setUpcCs|�|j��|j�dSr)r-r*�get_default_valuesr�rrrr�test_basic_defaults��z%TestDefaultValues.test_basic_defaultscCs:|jjddd�|j�ddd��|�|j��|j�dS)Nr�i����)r�r�)r*�set_defaultsr��updater-rrrrr�test_mixed_defaults_post�sz*TestDefaultValues.test_mixed_defaults_postcCs�|jjddd�|jjddd�|j�d�|j�ddd��|�|j��|j�|j�d�|jjddd�|j�ddi�|�|j��|j�dS)	N�barf�blah)�x�yr��frobr�z-yr	)r*rr�r�rr-rr�rrrr�test_mixed_defaults_pre�sz)TestDefaultValues.test_mixed_defaults_precCs�t|j_|jjdddd�|jjdddd�|jjdd�|j�dd	d
d��|�|j��|j�|j�	d�|j�dddd��|�|j��|j�dS)
Nr�r�i,r�z-e�6m�42)r�ihr�)r��er�F)
r�r*�option_classr�rr�rr-r�set_process_default_valuesrrrr�test_process_default�sz&TestDefaultValues.test_process_defaultN)rrr r_rrrrrrrrr��s
r�c@�0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�TestProgNamez]
    Test that %prog expands to the right thing in usage, version,
    and help strings.
    cC�|�|��|�dSr)r-�	get_usage�rr*�expected_usagerrr�assertUsage�zTestProgName.assertUsagecCrr)r-�get_version)rr*�expected_versionrrr�
assertVersionrzTestProgName.assertVersionc
Cs�tjdd�}z3tj�ddd�tjd<tddd�}d}|�||�|�|d	�|�||d
d�W|tjdd�<dS|tjdd�<w)Nrmrnzbaz.pyrz	%prog ...z	%prog 1.2)�versionzUsage: baz.py ...
z
baz.py 1.2�
zlOptions:
  --version   show program's version number and exit
  -h, --help  show this help message and exit
)	rI�argv�os�path�joinrrrrX)r�	save_argvr*rrrr�test_default_prognames��"z"TestProgName.test_default_prognamecCsRtdddd�}|�d�|�d�d}|�||�|�|d�|�||d	�dS)
N�thingy�	%prog 0.1z
%prog arg arg)�progrr]�-h�	--versionzUsage: thingy arg arg
z
thingy 0.1r)rr�rrrXrrrr�test_custom_progname's�

z!TestProgName.test_custom_prognameN)rrr �__doc__rrr$r*rrrrr	src@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestExpandDefaultscCs4tdd�|_d|_d|_|jd|_|jd|_dS)N�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]
)rr*�help_prefix�	file_help�expected_help_file�expected_help_nonerrrrr_4s�
�zTestExpandDefaults.setUpcCs*|jjddd|jd�|�|j|j�dS)N�-f�--file�foo.txt�r��help)r*r�r/rXr0rrrr�test_option_defaultB�

�z&TestExpandDefaults.test_option_defaultcCs6|jjdd|jd�|j�dd�|�|j|j�dS)Nr2r3�r6�filer4)r*r�r/�set_defaultrXr0rrrr�test_parser_default_1H�

�z(TestExpandDefaults.test_parser_default_1cCs6|jjdd|jd�|jjdd�|�|j|j�dS)Nr2r3r9r4�r:)r*r�r/rrXr0rrrr�test_parser_default_2Nr=z(TestExpandDefaults.test_parser_default_2cCs(|jjdd|jd�|�|j|j�dS)Nr2r3r9�r*r�r/rXr1rrrr�test_no_defaultTs
�z"TestExpandDefaults.test_no_defaultcCs*|jjddd|jd�|�|j|j�dS)Nr2r3r5r@rrrr�test_default_none_1Yr8z&TestExpandDefaults.test_default_none_1cCs6|jjdd|jd�|jjdd�|�|j|j�dS)Nr2r3r9r>)r*r�r/rrXr1rrrr�test_default_none_2_r=z&TestExpandDefaults.test_default_none_2cCs<|jjdddd�|jjdd�|jd}|�|j|�dS)N�-pz--probz1blow up with probability PROB [default: %default]r9g��Q���?)�probzF  -p PROB, --prob=PROB  blow up with probability PROB [default: 0.43]
)r*r�rr.rX�rrVrrr�test_float_defaultes��z%TestExpandDefaults.test_float_defaultcCs2|jjddddd�d|jj_|�|j|j�dS)Nr2r3r4z#read from FILE [default: *DEFAULT*]r5z	*DEFAULT*)r*r��	formatter�default_tagrXr0rrrr�test_alt_expandns
�
z"TestExpandDefaults.test_alt_expandcCs:|jjddddd�d|jj_|jd}|�|j|�dS)Nr2r3r4zread from %default filer5z0  -f FILE, --file=FILE  read from %default file
)r*r�rHrIr.rXrFrrr�test_no_expandus
�
�z!TestExpandDefaults.test_no_expandN)
rrr r_r7r<r?rArBrCrGrJrKrrrrr,3s	r,c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)8�TestStandardcCs8tddd�tddddd�td	d
d�g}tt|d�|_dS)
Nr�r�r�rk�--boorw�boo�rLr��--foo�append�rq�r]�option_list�rr!r
r*�rr2rrrr_�s

��zTestStandard.setUpcC�|�dgd�dS)Nr�z-a option requires 1 argument�rHrrrr�test_required_value��z TestStandard.test_required_valuecC�|�ddgd�dS)Nrk�5xz&option -b: invalid integer value: '5x'rXrrrr�test_invalid_integer��
�z!TestStandard.test_invalid_integercCrW)Nz--boo13zno such option: --boo13rXrrrr�test_no_such_option�rZz TestStandard.test_no_such_optioncCrW)Nz--boo=x5z)option --boo: invalid integer value: 'x5'rXrrrr�test_long_invalid_integer���z&TestStandard.test_long_invalid_integercCs|�gdddd�g�dS)N��arNrm�r5rrrr�
test_empty��zTestStandard.test_emptycCs"|�gd�ddddgd�g�dS)N)r�r|z
--foo=blahz--foo=r|rrbrdrrrr�"test_shortopt_empty_longopt_append��
�z/TestStandard.test_shortopt_empty_longopt_appendcCs"|�gd�ddgd�d�g�dS)N)rPrnrPr|z--foo=x)rnr|rrbrdrrrr�test_long_option_append�s
��z$TestStandard.test_long_option_appendcCs|�dgdddd�g�dS)Nz-abc�bcrbrdrrrr�test_option_argument_joined��
�z(TestStandard.test_option_argument_joinedcC�|�ddgdddd�g�dS)Nr��34rbrdrrrr�test_option_argument_split��

�z'TestStandard.test_option_argument_splitcC�|�dgdddd�g�dS)Nz-b34�"rbrdrrrr�#test_option_argument_joined_integer�rlz0TestStandard.test_option_argument_joined_integercC�|�ddgdddd�g�dS)Nrk�-5���rbrdrrrr�+test_option_argument_split_negative_integer�rpz8TestStandard.test_option_argument_split_negative_integercCrq)Nz--boo=13�
rbrdrrrr� test_long_option_argument_joined�rlz-TestStandard.test_long_option_argument_joinedcCrt)NrM�111�orbrdrrrr�test_long_option_argument_split�rpz,TestStandard.test_long_option_argument_splitcC� |�ddgdddgd�g�dS)N�	--foo=bar�-axyz�xyzrnrbrdrrrr�test_long_option_short_option��
�z*TestStandard.test_long_option_short_optioncCr})N�--f=barrr�rnrbrdrrrr�test_abbrev_long_option�r�z$TestStandard.test_abbrev_long_optioncCs2|j�g�\}}|j��}|�t|�t|��dSr)r*r+rr-r,)rr2r/r�rrr�
test_defaults�s
zTestStandard.test_defaultscCs&|jjddddd�|�dgd�dS)N�--fozr�r�rm�rqrLr�r�z%ambiguous option: --f (--foo, --foz?)�r*r�rHrrrr�test_ambiguous_option�s
��z"TestStandard.test_ambiguous_optioncCs |�gd�dddgd�g�dS)N)r�r�rPrnr�rnrbrdrrrr� test_short_and_long_option_split�r�z-TestStandard.test_short_and_long_option_splitcC�"|�gd�ddddgd�g�dS)N)r~rk�123rPr��{rnr�rbrdrrrr�*test_short_option_split_long_option_append�rhz7TestStandard.test_short_option_split_long_option_appendcCs |�gd�dddd�dg�dS)N)r�rmrnrmrbrnrdrrrr�*test_short_option_split_one_positional_arg�s

�z7TestStandard.test_short_option_split_one_positional_argcCs>|�gd�dddd�ddg�|�gd�dddgd�g�dS)N)r�rgrmrnrgrbrmrn)r�rgrPrnrdrrrr�$test_short_option_consumes_separator�s

�
�z1TestStandard.test_short_option_consumes_separatorcCs$|�gd�dddd�ddg�fdS)N)�-abrgrPrnrdrbrPrnrdrrrr�&test_short_option_joined_and_separator�s


�z3TestStandard.test_short_option_joined_and_separatorcCs"|�gd�dddgd�dg�dS)N)r��-rPrnrdrnrbr�rdrrrr�"test_hyphen_becomes_positional_arg��
�z/TestStandard.test_hyphen_becomes_positional_argcCr�)N)�-b3rk�5r~rPr��rnr�rbrdrrrr�test_no_append_versus_append�rhz)TestStandard.test_no_append_versus_appendcCrm)Nr�r�rbrdrrrr�&test_option_consumes_optionlike_stringrpz3TestStandard.test_option_consumes_optionlike_stringcCs"|jjddd�|�dgd�dS)Nr�r�rRz-testzno such option: -er�rrrr�#test_combined_single_invalid_options�z0TestStandard.test_combined_single_invalid_optionN)rrr r_rYr]r_r`rergrirkrorsrwryr|r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrL�s8rLc@r�)�TestBoolcCs2tdddddd�tddd	dd
�g}t|d�|_dS)Nr�r�r�r�r|�rqr�r�r�r�r�r��rT)rrr*rVrrrr_s���	zTestBool.setUpcCs|�gddig�dS)Nr�r|rdrrrr�test_bool_defaults�zTestBool.test_bool_defaultcC�,|�dgddig�\}}|�|jdu�dS)Nr�r�rF�r5r:r��rr2r/rrr�test_bool_false�
�zTestBool.test_bool_falsecCr�)Nr�r�r�Tr�r�rrr�test_bool_true#r�zTestBool.test_bool_truecC�|�gd�ddig�dS)N)z-qvqr�r�r�r�rdrrrr�test_bool_flicker_on_and_off)s
�z%TestBool.test_bool_flicker_on_and_offN)rrr r_r�r�r�r�rrrrr�sr�c@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestChoicecCs*ttd�|_|jjddddgd�d�dS)Nr\�-cr�rz)�one�two�three)rqrLr�r~�r!r
r*r�rrrrr_/s
�zTestChoice.setUpcC�|�gd�ddidg�dS)N)r�r�r�rzr�r�rdrrrr�test_valid_choice4�
�zTestChoice.test_valid_choicecC�|�gd�d�dS)N)r��four�abczEoption -c: invalid choice: 'four' (choose from 'one', 'two', 'three')rXrrrr�test_invalid_choice9r^zTestChoice.test_invalid_choicecCsB|jjddgd�d�|j�d�}|�|jd�|�|jd�dS)Nr�z	--default)r��five�six)r~rzr�)r*r�r�r-rLrq�rr�rrr�test_add_choice_option>s
�z!TestChoice.test_add_choice_optionN)rrr r_r�r�r�rrrrr�.s
r�c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	TestCountcCsVttd�|_tdddd�|_|j�|j�|jjdddd�|jjd	d
dddd
�dS)Nr\r�rvr�r�r�rwrOr�r��store_constr�rqr�r�)r!r
r*r�v_optr�rrrrr_Fs

�zTestCount.setUpcCs|�gddig�dS)Nr�rdrrrrreNszTestCount.test_emptycC�|�dgddig�dS)Nr�r�r�rdrrrr�test_count_oneQrzTestCount.test_count_onecCr�)N�-vvvr��rdrrrr�test_count_threeTrzTestCount.test_count_threecCr�)N)r�r�r�r�r�rdrrrr�test_count_three_apartWrfz TestCount.test_count_three_apartcCs|�ddgddig�dS)Nr��--verbose=2r�r�rdrrrr�test_count_override_amountZrfz$TestCount.test_count_override_amountcCr�)N)r�r�r�r�rrdrrrr�test_count_override_quiet]rfz#TestCount.test_count_override_quietcCr�)N�r�r�r�r�r�r�rdrrrr�test_count_overriding`s
�zTestCount.test_count_overridingcCr�)N�r��3r�r�r�r�rdrrrr�test_count_interspersed_argsdr�z&TestCount.test_count_interspersed_argscCs(|j��|�gd�ddiddg�dS)Nr�r�rr�r�)r*�disable_interspersed_argsr5rrrr�test_count_no_interspersed_argsis


�z)TestCount.test_count_no_interspersed_argscCr[)Nz-q3r�zno such option: -3rXrrrr�test_count_no_such_optionorz#TestCount.test_count_no_such_optioncCr[)Nz	--quiet=3r�z$--quiet option does not take a valuerXrrrr�test_count_option_no_valuerr^z$TestCount.test_count_option_no_valuecCs$|j�dd�|�gddig�dS)Nr�r�r*r;r5rrrr�test_count_with_defaultvsz!TestCount.test_count_with_defaultcCs(|j�dd�|�gd�ddig�dS)Nr�rr�r�r�rrrr�test_count_overriding_defaultzs
�z'TestCount.test_count_overriding_defaultN)rrr r_rer�r�r�r�r�r�r�r�r�r�r�r�rrrrr�Esr�c@r�)�TestMultipleArgscCs(ttd�|_|jjddddddd�dS)	Nr\rD�--pointr�r��float�point�rqr�rLr�r�rrrrr_�s

�zTestMultipleArgs.setUpcCs|�gd�ddiddg�dS)N)rmrD�1�2.5z-4.3r�r�)g�?�@g333333�rmr�rdrrrr�test_nargs_with_positional_args�s
�z0TestMultipleArgs.test_nargs_with_positional_argscCr�)N)r��-1r�z-0r�r�)g�r�g�r�rdrrrr�test_nargs_long_opt�r�z$TestMultipleArgs.test_nargs_long_optcCr�)N)rD�1.0�2x�3.5z-option -p: invalid floating-point value: '2x'rXrrrr�test_nargs_invalid_float_value�r^z/TestMultipleArgs.test_nargs_invalid_float_valuecCr�)N)r�r�r�z#--point option requires 3 argumentsrXrrrr�test_nargs_required_values�r^z+TestMultipleArgs.test_nargs_required_valuesN)rrr r_r�r�r�r�rrrrr�sr�c@r�)�TestMultipleArgsAppendcCsVttd�|_|jjddddddd�|jjd	d
ddd
dd�|jjdddddd�dS)Nr\rDr�r�r�r�r�r�r2rPrQr�rwrm�-z�--zero�append_const�rrr�r�rrrrr_�s��
�zTestMultipleArgsAppend.setUpcCs"|�gd�dddgd�dg�dS)N)r2�4�-3rrPr��666)����)r�i��r�rmrrdrrrr�test_nargs_append�r�z(TestMultipleArgsAppend.test_nargs_appendcCrW)Nz-f4,3z-f option requires 2 argumentsrXrrrr�!test_nargs_append_required_values�raz8TestMultipleArgsAppend.test_nargs_append_required_valuescCs|�ddgddgd�g�dS)Nz--foo=3r��r�r�r�rdrrrr�test_nargs_append_simple�rpz/TestMultipleArgsAppend.test_nargs_append_simplecCs |�gd�dgd�d�g�dS)N)r�rPr�r�r�)r�r�r�r�rdrrrr�test_nargs_append_const�r�z.TestMultipleArgsAppend.test_nargs_append_constN)rrr r_r�r�r�r�rrrrr��s	r�c@r�)�TestVersionc
Cshttdd�|_tjdd�}ztj�tjdd�tjd<|�	dgd�W|tjdd�<dS|tjdd�<w)Nr&)r]rrmrnrr)zbar 0.1
)
r!r
r*rIrr r!r"�curdirrQ)rr#rrr�test_version�s�"zTestVersion.test_versioncCsttd�|_|�dgd�dS)Nr\r)zno such option: --version)r!r
r*rHrrrr�test_no_version�s�zTestVersion.test_no_versionN)rrr r�r�rrrrr��s
r�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�TestConflictingDefaultsz4Conflicting default values: the last one should win.cCsttddddd�gd�|_dS)Nr�r�r�r�r�r�)rrr*rrrrr_�s�zTestConflictingDefaults.setUpcCs*|jjddddd�|�gddig�dS)Nr�r�r�rr��r*r�r5rrrr�test_conflict_default���z-TestConflictingDefaults.test_conflict_defaultcCs*|jjddddd�|�gddig�dS)Nr�r�r�r�r�rrrr�test_conflict_default_none�r�z2TestConflictingDefaults.test_conflict_default_noneN)rrr r+r_r�r�rrrrr��s
r�c@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestOptionGroupcCrZr[r^rrrrr_�rzTestOptionGroup.setUpcCs@t|jd�}|j�|�|jdddd�|�dgddig�dS)N�Spamz--spamr�zspam spam spam spam�rqr6�spamr�)r	r*�add_option_groupr�r5�r�grouprrr�!test_option_group_create_instance�s�z1TestOptionGroup.test_option_group_create_instancecCr�)Nz!not an OptionGroup instance: None�rSr*rrrrr�test_add_group_no_group�raz'TestOptionGroup.test_add_group_no_groupcCr�r�rrrrr� test_add_group_invalid_arguments�r�z0TestOptionGroup.test_add_group_invalid_argumentscCs0t|jd�}t�|_|�|jj|fdtd�dS)Nr�z"invalid OptionGroup (wrong parser))r	r*rrDrr�rrrr�test_add_group_wrong_parser�s
�z+TestOptionGroup.test_add_group_wrong_parsercCs@|jjddd�}|�d�|jddd�|�|j�d�|�dS)NzGroup 2zSome more options)�description�Baconz--baconrwr�)r*r�	set_titler�r:�get_option_grouprrrr�test_group_manipulate�s�
z%TestOptionGroup.test_group_manipulateN)	rrr r_rrrrr
rrrrr��sr�c@sDeZdZdd�Zdd�ZGdd�de�Zdd�Zd	d
�Zdd�Z	d
S)�TestExtendAddTypescCs<tt|jd�|_|jjddddd�|jjddddd�dS)	N)r]rr�r�rcrOr2r3r:)r!r
�MyOptionr*r�rrrrr_�s
�zTestExtendAddTypes.setUpcCs@tj�tj�rt�tj�dStj�tj�rt�tj�dSdSr)r r!�isdirr�TESTFN�rmdir�isfile�unlinkrrrr�tearDowns
�zTestExtendAddTypes.tearDownc@s2eZdZdd�ZejdZe�ej�Zeed<dS)zTestExtendAddTypes.MyOptioncCs4tj�|�std|��tj�|�std|��|S)N�%s: file does not exist�%s: not a regular file)r r!�existsrrr�rrr�
check_files
z&TestExtendAddTypes.MyOption.check_filer>r:N)rrr rrr�r�r�rrrrrs

rcCs.t�tj�|�dtjdgtjdd�g�dS)Nr3�-afoorm)r:rc)r�create_empty_filerr5rrrr�test_filetype_oks

�z#TestExtendAddTypes.test_filetype_okcCs|�dtjdgdtj�dS)Nr3rr)rHrrrrrr�test_filetype_noexists
��z(TestExtendAddTypes.test_filetype_noexistcCs*t�tj�|�dtjdgdtj�dS)Nr3rr)r �mkdirrrrHrrrr�test_filetype_notfiles��z(TestExtendAddTypes.test_filetype_notfileN)
rrr r_rrrrrrrrrrr�src@s4eZdZdd�ZGdd�de�Zdd�Zdd�Zd	S)
�TestExtendAddActionscCs&|jdddddd�g}t|d�|_dS)Nr��--apple�extendr��appler�r�)rrr*rVrrrr_%s
�zTestExtendAddActions.setUpc@s2eZdZejdZejdZejdZdd�ZdS)zTestExtendAddActions.MyOption)r"c	CsB|dkr|�d�}|�|g��|�dSt�|||||||�dS)Nr"�,)�split�ensure_valuer"r�take_action)rrqr�r�r�r�r*�lvaluerrrr'/s
�z)TestExtendAddActions.MyOption.take_actionN)rrr r�ACTIONS�
STORE_ACTIONS�
TYPED_ACTIONSr'rrrrr*s



rcCs|�ddgdgd�ig�dS)Nz	-afoo,barz--apple=blahr#)rmrnrrdrrrr�test_extend_add_action7rpz+TestExtendAddActions.test_extend_add_actioncCs|�gd�dgd�ig�dS)N)r�rmz-abarz--apple=x,yr#)rmrnrr	rdrrrr�test_extend_add_action_normal<rpz2TestExtendAddActions.test_extend_add_action_normalN)rrr r_rrr,r-rrrrr $s

r c@r�)
�TestCallbackc	Cs8tddd|jd�tddd|jddd�g}t|d	�|_dS)
Nr�r�r�r2r3r��filename)rqr�rLr�r�)r�process_optrr*rVrrrr_Ds���
zTestCallback.setUpcCs�|dkr3|�|jdg�|�|jg�|�||ju�|�|du�|�t|j�ddi�d|j_dS|dkrk|�|jdg�|�|jdg�|�||ju�|�|d�|�t|j�ddd��t|j|j	|�dS|�
d|�dS)	Nr�r/r�r3r2rm�r/rz!Unknown option %r in process_opt.)r-r�r�r:r*r,r�r�setattrr�r=�rr�r�r��parser_rrrr0QszTestCallback.process_optcCs|�ddgddd�g�dS)Nr�z
--file=foormr�r1rdrrrr�
test_callbacke�
�zTestCallback.test_callbackcCsBttd�}|�d�|jddddd�dd	d
�d}|�||�dS)Nr\r(r�z--testr�cSr�rrrrrr�<lambda>qsz1TestCallback.test_callback_help.<locals>.<lambda>r�rm)rqr�rLr6z%Options:
  -t TEST, --test=TEST  foo
)rr
r�r�rX)rr*rVrrr�test_callback_helpjs


�zTestCallback.test_callback_helpN)rrr r_r0r5r8rrrrr.Cs

r.c@r�)�TestCallbackExtraArgsc
Cs0tddd|jdtfddgd�g}t|d�|_dS)	NrDr�r�r�r��points)rqr�r�rLr�r�r�)r�
process_tuplerwrr*rVrrrr_zs�zTestCallbackExtraArgs.setUpcCsp|�|d�|�|tu�|dkr|�|d�n
|dkr"|�|d�tt||�d���}t|j|j��	|�dS)Nr�rDz1,2,3r��4,5,6r$)
r-r:rwrs�mapr%�getattrr�r�rQ)rr�r�r�r4�lenrLrrrr;�sz#TestCallbackExtraArgs.process_tuplecCs|�gd�dddgig�dS)N)z-p1,2,3r�r<r:�r�r�r�)r�r��rdrrrr�test_callback_extra_args�rpz.TestCallbackExtraArgs.test_callback_extra_argsN)rrr r_r;rBrrrrr9ysr9c@r�)
�TestCallbackMeddleArgscs*�fdd�tddd�D�}t|d��_dS)Ncs"g|]
}tt|�d�jdd��qS)r��things�rqr�r�)rr6�	process_n)�.0rrrr�
<listcomp>�s

�
�z0TestCallbackMeddleArgs.setUp.<locals>.<listcomp>r�i����r�)�rangerr*rVrrrr_�s

�zTestCallbackMeddleArgs.setUpcCstt|dd��}|j}t|�|kr|�d||f�|j�|jg�}|�t|d|���|j	�|�|d|�=dS)Nr�z$Expected %d arguments for %s option.r)
rw�rargsr?r=r�r&r�rQrs�largs)rr�r�r�r4r�rJr�rrrrF�sz TestCallbackMeddleArgs.process_ncCs"|�gd�dddgiddg�dS)N)r�rmr�rnr��quxrDr�)rnr�rLr�r�rdrrrr�test_callback_meddle_args�s

�z0TestCallbackMeddleArgs.test_callback_meddle_argscCs|�gd�ddgidg�dS)N)z-2rmrgrD)rmrgr�rdrrrr�#test_callback_meddle_args_separator�s
�z:TestCallbackMeddleArgs.test_callback_meddle_args_separatorN)rrr r_rFrMrNrrrrrC�s
rCc@r�)�TestCallbackManyArgsc	Cs<tdddd|jdd�tdddd	|jd
d�g}t|d�|_dS)Nr�r!r�r�r�)rqr�r�rLrk�--bobr�rwr�)r�process_manyrr*rVrrrr_�s
�
��zTestCallbackManyArgs.setUpcCsd|dkr|�|d�dS|dkr|�|d�dS|dkr$|�|d�dS|dkr0|�|d�dSdS)	Nr�rlr!)�ding�dongrkr@rP)if���r�r�r-r3rrrrQ�s�z!TestCallbackManyArgs.process_manycCs|�gd�ddd�g�dS)N)r�rmrnr!rRrSrkr��2r�rPz-666r
�0)r#�bobrdrrrr�test_many_args�s
�z#TestCallbackManyArgs.test_many_argsN)rrr r_rQrXrrrrrO�s
rOc@r�)�TestCallbackCheckAbbrevcCs t�|_|jjdd|jd�dS)N�	--foo-barr�r�)rr*r��check_abbrevrrrrr_�s

�zTestCallbackCheckAbbrev.setUpcCs|�|d�dS)NrZrT�rr�r�r�r*rrrr[�rz$TestCallbackCheckAbbrev.check_abbrevcCs|�dgig�dS)NrPrdrrrr�test_abbrev_callback_expansion�rz6TestCallbackCheckAbbrev.test_abbrev_callback_expansionN)rrr r_r[r]rrrrrY�srYc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestCallbackVarArgsc	CsBtddddd�tdddd	�td
dd|jd
d�g}tt|d�|_dS)Nr�rwr�rc)rLr�r�rkr�rdr�r��
--callbackr��crErS)r�
variable_argsr!r
r*rVrrrr_�s���zTestCallbackVarArgs.setUpcCs�|�|du�g}|j}|r?|d}|dd�dkr t|�dks4|dd�dkr5t|�dkr5|ddkr5n
|�|�|d=|st|j|j|�dS)Nrr�rgr�r�)r:rJr?rQr2r�r�)rr�r�r�r*rJ�argrrrra�s(
�z!TestCallbackVarArgs.variable_argscCs"|�gd�ddddgd�g�dS)N)z-a3rur_rmrn)r�rvrmrn�rcrdr`rdrrrr�test_variable_args�rhz&TestCallbackVarArgs.test_variable_argscCs$|�gd�ddgd�d�dg�dS)N)r��37rg�xxxrk�helloT)rergrfrcrgrdrrrr�%test_consume_separator_stop_at_option��
��z9TestCallbackVarArgs.test_consume_separator_stop_at_optioncCs$|�gd�ddgd�d�dg�dS)N)rgr�rmr�rn)rmr�rnrcrgrdrrrr�%test_positional_arg_and_variable_args�riz9TestCallbackVarArgs.test_positional_arg_and_variable_argscCs |�gd�dddgd�g�dS)N)r�rmrkTrmrcrdrrrr�test_stop_at_option�r�z'TestCallbackVarArgs.test_stop_at_optioncCr�)N)r�r�rur�zno such option: -5rXrrrr�test_stop_at_invalid_optionrz/TestCallbackVarArgs.test_stop_at_invalid_optionN)
rrr r_rardrhrjrkrlrrrrr^�sr^c@r�)�ConflictBasecCs&tdddddd�g}tt|d�|_dS)Nr�r�rvr�zincrement verbosity�rqr�r6rSrUrVrrrr_
s��zConflictBase.setUpcCsd|j_dS)Nr�)r��show_versionr\rrrror&zConflictBase.show_versionN)rrr r_rorrrrrm	srmc@r)�TestConflictz9Use the default conflict resolution for Optik 1.2: error.cCs<|�|dd|jdd�td�}|�|jd�|�|jd�dS)N)r�r)r��show version�rqr�r6z5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--version)rDrorr-r$�	option_id)rr>rBrrr�assertTrueconflict_errors��z%TestConflict.assertTrueconflict_errorcCs|�|jj�dSr)rtr*r�rrrr�test_conflict_error rZz TestConflict.test_conflict_errorcCst|jd�}|�|j�dS)NzGroup 1)r	r*rtr�rrrr�test_conflict_error_group#sz&TestConflict.test_conflict_error_groupcCr�)Nr�z'invalid conflict_resolution value 'foo')rDr*�set_conflict_handlerr�rrrr�test_no_such_conflict_handler's
�z*TestConflict.test_no_such_conflict_handlerN)rrr r+rtrurvrxrrrrrpsrpc@r�)�TestConflictResolvecCs2t�|�|j�d�|jjddd|jdd�dS)N�resolver�r)r�rqrr)rmr_r*rwr�rorrrrr_.s


�zTestConflictResolve.setUpcCs�|j�d�}|j�d�}|j�d�}|�||u�|�||u�|�|jdg�|�|jdg�|�|jdg�|�|jg�|�|jdg�dS)Nr�r�r))r*r�r:r-r�r�)rr��verbose_opt�version_optrrr�test_conflict_resolve4sz)TestConflictResolve.test_conflict_resolvecCrW)Nr(z}Options:
  --verbose      increment verbosity
  -h, --help     show this help message and exit
  -v, --version  show version
�rQrrrr�test_conflict_resolve_helpArZz.TestConflictResolve.test_conflict_resolve_helpcCs|�dgddd�g�dS)Nr�r��r�rordrrrr�test_conflict_resolve_short_optIs�z3TestConflictResolve.test_conflict_resolve_short_optcCr�)Nr�r�r�rdrrrr�test_conflict_resolve_long_optN��z2TestConflictResolve.test_conflict_resolve_long_optcCs|�ddgddd�g�dS)Nr�r)r�r�rdrrrr�test_conflict_resolve_long_optsSr6z3TestConflictResolve.test_conflict_resolve_long_optsN)	rrr r_r}rr�r�r�rrrrry-s
ryc@r�)
�TestConflictOverridecCsJttd�|_|j�d�|jjdddddd�|jjddd	d
ddd�dS)
Nr\rzr��	--dry-runr��dry_runzdon't do anythingrnr�r�zdry run mode)rqr�r�r6)r!r
r*rwr�rrrrr_Ys
�

�zTestConflictOverride.setUpcCs0|j�d�}|�|jdg�|�|jdg�dS)Nr�r�)r*r�r-r�r�r�rrr�test_conflict_override_optscsz0TestConflictOverride.test_conflict_override_optscCrW)Nr(zXOptions:
  -h, --help     show this help message and exit
  -n, --dry-run  dry run mode
r~rrrr�test_conflict_override_helphrZz0TestConflictOverride.test_conflict_override_helpcCr�)Nr�r�r�rdrrrr�test_conflict_override_argsor�z0TestConflictOverride.test_conflict_override_argsN)rrr r_r�r�r�rrrrr�Xs

r�aSUsage: 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
aSUsage: 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
aWUsage
=====
  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@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestHelpcCs|�d�|_dS)N�P)�make_parserr*rrrrr_�rzTestHelp.setUpc	Csxtdddddd�tddd	d
ddd�td
ddddd�g}t���}t|�|d<t|d�Wd�S1s5wYdS)Nr�r�rc�APPLEzthrow APPLEs at basket)rLr��metavarr6rkrMrwrN�NUMzeshout "boo!" NUM times (in order to frighten away all the evil spirits that cause trouble and mayhem)rPrQrmz*store FOO in the foo list for later fooing)rqrLr�r6�COLUMNSr�)rr�EnvironmentVarGuardr6r!)r�columnsr2�envrrrr��s�
�
��
$�zTestHelp.make_parserc
CsVtjdd�}ztj�dd�tjd<|�dg|�W|tjdd�<dS|tjdd�<w)Nrmzbar.pyrr()rIrr r!r"rQ)rrGr#rrr�assertHelpEquals�s
"zTestHelp.assertHelpEqualscCs|�t�dSr)r��_expected_help_basicrrrr�	test_help�szTestHelp.test_helpcCs|j�d�|�t�dS)NzUsage: %prog [options])r*�	set_usager�r�rrrr�test_help_old_usage�szTestHelp.test_help_old_usagecCsd|jj_|�t�dS)Nr)r*rH�short_firstr��_expected_help_long_opts_firstrrrr�test_help_long_opts_first�s
z"TestHelp.test_help_long_opts_firstcCsJt���}d|d<t�|j_|�t�Wd�dS1swYdS)N�80r�)rr�rr*rHr��_expected_help_title_formatter)rr�rrr�test_help_title_formatter�s


"�z"TestHelp.test_help_title_formattercCs0|�d�|_|�t�|�d�|_|�t�dS)Nr�r)r�r*r��_expected_help_short_lines�_expected_very_help_short_linesrrrr�test_wrap_columns�s
zTestHelp.test_wrap_columnscCs0ttd�|_|jjdddd�d}|�|�dS)Nr\r�r��olé!r�uKOptions:
  -h, --help  show this help message and exit
  -a          olé!
)r!r
r*r�r��r�expectrrr�test_help_unicodeszTestHelp.test_help_unicodecCs ttdd�|_d}|�|�dS)Nr�)r]r	u>olé!

Options:
  -h, --help  show this help message and exit
)r!r
r*r�r�rrr�test_help_unicode_descriptions
�z&TestHelp.test_help_unicode_descriptioncCs^|j�d�t|jdd�}|jdddd�|j�|�d}|�|�d	|j_|�|d
�dS)Nz`This is the program description for %prog.  %prog has an option group as well as single options.zDangerous OptionszZCaution: use of these options is at your own risk.  It is believed that some of them bite.z-gr�z
Group option.r�aTUsage: 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.
)r*�set_descriptionr	r�rr��epilog)rrr�rrr�test_help_description_groupss��
z%TestHelp.test_help_description_groupsN)rrr r_r�r�r�r�r�r�r�r�r�r�rrrrr��s		
r�c@r�)�TestMatchAbbrevc	Cs |�tdddddd��d�dS)N�--f)r�rP�--fier�)r-rrrrr�test_match_abbrev@s���z!TestMatchAbbrev.test_match_abbrevcCs*d}dddd�}|�t||fdtd�dS)Nr�)r�rPr�z,ambiguous option: --f (--fie, --foo, --foz?))rDrr
)rr��wordmaprrr�test_match_abbrev_errorHs
�z'TestMatchAbbrev.test_match_abbrev_errorN)rrr r�r�rrrrr�?sr�c@r�)
�TestParseNumbercCs,t�|_|jjdtd�|jjdtd�dS)Nr�r��-l)r!r*r�rwrrrrr_QszTestParseNumber.setUpc	Cs<|�tdtfitt�d��|�tdtfitt�d��dS)Nr|z!invalid literal for int().*: '?'?�0xOoopsz*invalid literal for int().*: s?'?0xOoops'?)rDrrwr�r8�compilerrrr�test_parse_num_failVs
�
�z#TestParseNumber.test_parse_num_failcCsp|�tdt�d�|�tdt�d�|�tdt�d�|�tdt�d�|�td	t�d
�|�tdt�d�dS)NrVr�0x10��0XA�
�010��0b11r��0b)r-rrwrrrr�test_parse_num_ok`sz!TestParseNumber.test_parse_num_okcCs`|�gd�ddd�g�|�gd�ddd�g�|�dgd	�|�d
gd�|�dd
gd�dS)N)r�r
r��0x20r�� )r��l)r��0b0101z-l010r�r�z-n008z'option -n: invalid integer value: '008'z-l0b0123z*option -l: invalid integer value: '0b0123'r��0x12xz)option -l: invalid integer value: '0x12x')r5rHrrrr�test_numeric_optionshs

�

���
�z$TestParseNumber.test_numeric_optionsN)rrr r_r�r�r�rrrrr�Ps

r�c@seZdZdd�ZdS)�MiscTestCasecCshd�}tj|t|d�dS)N>�
NO_DEFAULT�
check_builtin�AmbiguousOptionError)�not_exported)r�check__all__�optparse)rr�rrr�test__all__vszMiscTestCase.test__all__N)rrr r�rrrrr�usr��__main__)HrIr r8r��unittest�iorr-r�test.supportrr�rrrrr	r
rrr
rrrr�	Exceptionrr!�TestCaser)rYr�r�r�r�r�r�r�rr,rLr�r�r�r�r�r�r�r�rr r.r9rCrOrYr^rmrpryr�r�r�r�r�r�r�r�r�r�r�mainrrrr�<module>sz4
O
3*N#:"+65
+
!w%
�

Youez - 2016 - github.com/yon3zu
LinuXploit