403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/test/__pycache__/test_optparse.cpython-312.opt-2.pyc
�

���g�����ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
ddlZddlmZmZmZmZmZmZmZmZmZmZmZddlmZddlmZGd	�d
e�ZGd�de�ZGd
�dej>�Z Gd�de �Z!Gd�de �Z"Gd�de �Z#Gd�de �Z$ddddd�Z%d�Z&Gd�de�Z'Gd�d e �Z(Gd!�d"e �Z)Gd#�d$e �Z*Gd%�d&e �Z+Gd'�d(e �Z,Gd)�d*e �Z-Gd+�d,e �Z.Gd-�d.e �Z/Gd/�d0e �Z0Gd1�d2e �Z1Gd3�d4e �Z2Gd5�d6e �Z3Gd7�d8e �Z4Gd9�d:e �Z5Gd;�d<e �Z6Gd=�d>e �Z7Gd?�d@e �Z8GdA�dBe �Z9GdC�dDe �Z:GdE�dFe �Z;GdG�dHe �Z<GdI�dJe<�Z=GdK�dLe<�Z>GdM�dNe �Z?dOZ@dPZAdQZBdRZCdSZDGdT�dUe �ZEGdV�dWe �ZFGdX�dYe �ZGGdZ�d[ej>�ZHGd\�d]e�ZIeJd^k(rSeKej��dkDr,ej�dd_k(re
e�ej�d�ej��yy)`�N)�StringIO)�support)�	os_helper)�TestTranslationsBase�update_translation_snapshots)�make_option�Option�TitledHelpFormatter�OptionParser�OptionGroup�SUPPRESS_USAGE�OptionError�OptionConflictError�BadOptionError�OptionValueError�Values)�
_match_abbrev)�
_parse_numc� �eZdZ			dd�Zd�Zy)�InterceptedErrorNc�.�||_||_||_y�N)�
error_message�exit_status�exit_message)�selfrrrs    �'C:\Python312\\Lib\test\test_optparse.py�__init__zInterceptedError.__init__s��+���&���(���c�>�|jxs|jxsdS)Nzintercepted error)rr�rs r�__str__zInterceptedError.__str__%s���!�!�M�T�%6�%6�M�:M�Mr)NNN)�__name__�
__module__�__qualname__rr"�rrrrs��#�!�"�)�Nrrc��eZdZdd�Zd�Zy)�InterceptingOptionParserNc��t||���)N)rr�r)r�status�msgs   r�exitzInterceptingOptionParser.exit)s���6��D�Drc��t|���)N)rr*)rr,s  r�errorzInterceptingOptionParser.error,s
���S�1�1r�rN)r#r$r%r-r/r&rrr(r((s
��E�2rr(c�6�eZdZd�Zd�Zd�Z		dd�Zd�Zd�Zy)	�BaseTestc���	|jj|�\}}t|�}|j||dt	�z�|j||dt	�z�||fS)NzJ
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�
assertParseOKzBaseTest.assertParseOK1s���
	�&*�[�[�%;�%;�D�%A�"��/��w�-������-�� ��"�	#�	
����*B�� ��#�	$���)�)rc
�l�	|�d}|�i}	||i|��|jdt�z�y#|$r~}t|�}t|tj
�r3|j
|j|�d|j�d|�d��n|j||d|�d|�d��|cYd}~Sd}~wwxYw)Nr&znexpected 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'''
zexpected exception message:
'''z!'''
actual exception message:
''')
�failr8�str�
isinstance�re�Pattern�
assertTrue�search�patternr7)r�funcr9�kwargs�expected_exception�expected_message�err�actual_messages        r�assertRaiseszBaseTest.assertRaisesOs���	��<��D��>��F�	��$�!�&�!�.
�I�I��
�i�	�
��-"�	� ��X�N��*�B�J�J�7���� 0� 7� 7�� G�����1�2�� � ��!1���")�*��J��)	�s�0�B3�A3B.�(B3�.B3c���		|jj|�|jd�y#t$r&}|j	|j
|�Yd}~yd}~wwxYw)Nzexpected parse failure)r4r5�assertFalserr7r)r�cmdline_args�expected_outputrMs    r�assertParseFailzBaseTest.assertParseFail�s\��	�	7��K�K�"�"�<�0�
���5�6�� �	A����S�.�.��@�@��	A�s�0�	A�A�ANc��	tj}		t�t_|jj	|�tjj�}|t_	|j
d�y#tjj�}|t_wxYw#t$r�}|jtt�dt|�z�||k7r|jd|zdz|zdz�|j|j|�|j|j|�Yd}~yd}~wwxYw)Nzexpected parser.exit()z0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z''')�sys�stdoutrr4r5�getvaluerQrrFrCrB�typerAr7rr)rrRrS�expected_status�expected_error�save_stdout�outputrMs        r�assertOutputzBaseTest.assertOutput�s��
	F��j�j��	7�
)�%�Z��
����&�&�|�4����,�,�.��(��
�
���5�6�����,�,�.��(��
���
	?��O�O��6�3�'�B��v�,��
 �
��(��	�	�-��?�0�1�39�:�<A�B�C����S�_�_�o�>����S�-�-�~�>�>��
	?�s*�.A>�)B,�>+B)�)B,�,	E�5BE�Ec�8�	|j||dt|�yr)rO�	TypeError)rrIrLr9s    r�assertTypeErrorzBaseTest.assertTypeError�s��B����$��d�I�7G�Hrc�h�|j�}||k7r|jd|zdz|zdz��y)Nzhelp text failure; expected:
"z	"; got:
"z"
)�format_help�failureException)rr4�
expected_help�actual_helps    r�
assertHelpzBaseTest.assertHelp�sS���(�(�*���-�'��'�'�1��� ,�-���#�$�%�
%�(rr0)	r#r$r%r?rOrTr^rargr&rrr2r20s*��*�<6�v
7�&'�$(�	7�:I�%rr2c��eZdZd�Zgifd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestOptionChecksc�.�tt��|_y�N��usage�rr
r4r!s r�setUpzTestOptionChecks.setUp����"��8��rc�>�|jt||t|�yr)rOrr)rrLr9rJs    r�assertOptionErrorz"TestOptionChecks.assertOptionError�s�����+�t�V�%�'7�	9rc�0�|jtd�y)Nz+at least one option string must be supplied)rarr!s r�test_opt_string_emptyz&TestOptionChecks.test_opt_string_empty�s�����[�J�	Lrc�*�|jddg�y)Nz?invalid option string 'b': must be at least two characters long�b�rrr!s r�test_opt_string_too_shortz*TestOptionChecks.test_opt_string_too_short�s�����M�
�E�	rc�*�|jddg�y)NzOinvalid short option string '--': must be of the form -x, (x any non-dash char)�--rwr!s r�test_opt_string_short_invalidz.TestOptionChecks.test_opt_string_short_invalid�s�����
4�
�F�	rc�*�|jddg�y)NzJinvalid long option string '---': must start with --, followed by non-dashz---rwr!s r�test_opt_string_long_invalidz-TestOptionChecks.test_opt_string_long_invalid�s�����
7�
�G�	rc�2�|jddgddd��y)Nz.option -b: invalid keyword arguments: bar, foo�-b��foo�barrwr!s r�test_attr_invalidz"TestOptionChecks.test_attr_invalid�s�����<�
�F�D��.�	0rc�0�|jddgddi�y)Nz option -b: invalid action: 'foo'r�actionr�rwr!s r�test_action_invalidz$TestOptionChecks.test_action_invalid�s�����.�
�F�X�u�%�	'rc�d�|jddgddi�|jddgdti�y)Nz%option -b: invalid option type: 'foo'rrYr�z'option -b: invalid option type: 'tuple')rr�tupler!s r�test_type_invalidz"TestOptionChecks.test_type_invalid�s<�����3�
�F�V�U�O�	%�	
���5�
�F�V�U�O�	%rc�2�|jddgddd��y)Nz4option -b: must not supply a type for action 'count'r�count�int)r�rYrwr!s r�test_no_type_for_actionz(TestOptionChecks.test_no_type_for_action�s�����B�
�F�w��6�	8rc�2�|jdddgddi�y)Nz@option -b/--bad: must supply a list of choices for type 'choice'r�--badrY�choicerwr!s r�test_no_choices_listz%TestOptionChecks.test_no_choices_list�s#�����
(�
�7�O�f�h�/�	1rc�d�td�j}|jd|zddgddd��y)N�zBoption -b/--bad: choices must be a list of strings ('%s' supplied)rr�r�zbad choices�rY�choices)rYr#rr)r�typenames  r�test_bad_choices_listz&TestOptionChecks.test_bad_choices_list�s;����8�$�$�����
&�(0�
1�
�7�O���7�		9rc�2�|jddgddd��y)Nz1option -b: must not supply choices for type 'int'rr��badr�rwr!s r�test_no_choices_for_typez)TestOptionChecks.test_no_choices_for_types�����?�
�F�U�e�4�	6rc�2�|jddgddd��y)Nz:option -b: 'const' must not be supplied for action 'store'r�store�)r��constrwr!s r�test_no_const_for_actionz)TestOptionChecks.test_no_const_for_action������H�
�F�w��3�	5rc�2�|jddgddd��y)Nz:option -b: 'nargs' must not be supplied for action 'count'rr��)r��nargsrwr!s r�test_no_nargs_for_actionz)TestOptionChecks.test_no_nargs_for_actionr�rc�2�|jddgddd��y)Nz'option -b: callback not callable: 'foo'r�callbackr��r�r�rwr!s r�test_callback_not_callablez+TestOptionChecks.test_callback_not_callables"�����5�
�F�z�!&�(�	)rc��yrr&r!s r�dummyzTestOptionChecks.dummy���rc�H�|jddgd|jdd��y)NzAoption -b: callback_args, if supplied, must be a tuple: not 'foo'rr�r�)r�r��
callback_args�rrr�r!s r�test_callback_args_no_tuplez,TestOptionChecks.test_callback_args_no_tuples+�����
)�
�F�z�!%���&+�-�	.rc�H�|jddgd|jdd��y)NzBoption -b: callback_kwargs, if supplied, must be a dict: not 'foo'rr�r�)r�r��callback_kwargsr�r!s r�test_callback_kwargs_no_dictz-TestOptionChecks.test_callback_kwargs_no_dict's+�����
(�
�F�z�!%���(-�/�	0rc�2�|jddgddd��y)Nz<option -b: callback supplied ('foo') for non-callback optionrr�r�r�rwr!s r�test_no_callback_for_actionz,TestOptionChecks.test_no_callback_for_action/s"�����J�
�F�w�!&�(�	)rc�2�|jddgddd��y)Nz9option -b: callback_args supplied for non-callback optionrr�r�)r�r�rwr!s r� test_no_callback_args_for_actionz1TestOptionChecks.test_no_callback_args_for_action5s"�����G�
�F�w�&+�-�	.rc�2�|jddgddd��y)Nz;option -b: callback_kwargs supplied for non-callback optionrr�r�)r�r�rwr!s r�"test_no_callback_kwargs_for_actionz3TestOptionChecks.test_no_callback_kwargs_for_action;s"�����I�
�F�w�(-�/�	0rc�z�|jddg�|jdddg�|jdddg�y)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--debugrwr!s r�test_no_single_dashz$TestOptionChecks.test_no_single_dashAsT�����
7�
�J�	�
	
���
(�
�8��	�
	
���
7�
�y�!�	#rN)r#r$r%rorrrtrxr{r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r&rrriri�s}��9�8:�"�9�L��
��0�
'�
%�8�
1�9�6�
5�
5�
)�
�.�0�)�.�0�#rric�|�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Ze
jdd�
�d��Zy)�TestOptionParserc��t�|_|jjdddddd��|jjdd	d
dd��y)N�-v�	--verbose�-n�--noisy�
store_true�verbose�r��dest�-q�--quiet�--silent�store_false)rr4�
add_optionr!s rrozTestOptionParser.setUpRsR��"�n��������t�[�$�	�!-�I�	�	?������t�Y�
�!.�Y�	�	@rc�R�|j|jjdd�y)Nznot an Option instance: None�rar4r�r!s r�test_add_option_no_Optionz*TestOptionParser.test_add_option_no_OptionYs"�����T�[�[�3�3�;�T�	Crc�T�|j|jjddd�y�Nzinvalid argumentsr�r!s r�!test_add_option_invalid_argumentsz2TestOptionParser.test_add_option_invalid_arguments]s#�����T�[�[�3�3�0�$��	>rc�N�|jjd�}|j|t�|j	|j
ddg�|j	|jddg�|j	|jd�|j	|jd�y)Nr�r�r�r�r�r�)	r4�
get_option�assertIsInstancer	r7�_short_opts�
_long_optsr�r�)r�opt1s  r�test_get_optionz TestOptionParser.test_get_optionas����{�{�%�%�d�+�����d�F�+�����)�)�D�$�<�8�������;�	�*B�C�������l�3�������I�.rc�.�|jjd�}|jjd�}|jjd�}|jjd�}|j||cxuxr|cxuxr	|u�yc�y)Nr�r�r�r�)r4r�rF)rr��opt2�opt3�opt4s     r�test_get_option_equalsz'TestOptionParser.test_get_option_equalsiss���{�{�%�%�d�+���{�{�%�%�k�2���{�{�%�%�d�+���{�{�%�%�i�0�������4��4��4�5�4�5rc��|j|jjd��|j|jjd��y)Nr�r�)rFr4�
has_optionr!s r�test_has_optionz TestOptionParser.test_has_optionps8��������.�.�t�4�5�������.�.�{�;�<rc�\�|j|jjd�du�|j|jjd�du�|j|jjd�du�|j|jjd�du�|j|jj	d��|j|jj	d��|j|jj	d��|j|jj	d��|j|jj	d��|j|jj	d��y)Nr�r�r�r�r�r�)rFr4r�rQr�r!s r�assertTrueremovedz"TestOptionParser.assertTrueremovedts,��������.�.�t�4��<�=�������.�.�{�;�t�C�D�������.�.�t�4��<�=�������.�.�y�9�T�A�B�������/�/��5�6�������/�/��<�=�������/�/��5�6�������/�/�	�:�;�������.�.�t�4�5�������.�.�z�:�;rc�Z�|jjd�|j�y)Nr��r4�
remove_optionr�r!s r�test_remove_short_optz&TestOptionParser.test_remove_short_opt�s �����!�!�$�'���� rc�Z�|jjd�|j�y)Nr�r�r!s r�test_remove_long_optz%TestOptionParser.test_remove_long_opt�s �����!�!�+�.���� rc�^�|j|jjddtd�y)N�r�zno such option 'foo')rOr4r��
ValueErrorr!s r�test_remove_nonexistentz(TestOptionParser.test_remove_nonexistent�s&�����$�+�+�3�3�X�t�$�&<�	>rzRelies on sys.getrefcountT)�cpythonc���dg}tj|�}t�}|jdd�||_|j�~|j
|tj|��y)N�*�-az	--aaarggh)rV�getrefcountrr��	big_thing�destroyr7)rr��refcountr4s    r�test_refleakzTestOptionParser.test_refleak�s^���D�	��?�?�9�-��������$��,�$������������3�?�?�9�#=�>rN)r#r$r%ror�r�r�r�r�r�r�r�r�r�impl_detailr�r&rrr�r�Qs[��@�C�>�/�6�=�<�!�!�>��W���4�d�C�?�D�?rr�c��eZdZd�Zd�Zy)�TestOptionValuesc��yrr&r!s rrozTestOptionValues.setUp�r�rc���t�}|jt|�i�|j|i�|j|ddi�|j|d�ddd�}t|��}|jt|�|�|j||�|j|ddi�|j|i�|j|d�|j|g�y)Nr�r�r�r�)r��baz)�defaults)rr7r6�assertNotEqual)r�values�dicts   r�test_basicszTestOptionValues.test_basics�s����������f��r�*������$����F�U�E�N�3����F�B�'��R�(����&������f��t�,������&����F�U�E�N�3����F�B�'����F�B�'����F�B�'rN)r#r$r%rorr&rrr�r��s��
�(rr�c��eZdZd�Zd�Zd�Zy)�TestTypeAliasesc�"�t�|_yr)rr4r!s rrozTestTypeAliases.setUp�s��"�n��rc��|jjdd��|j|jjd�jd�y)N�-srB�rY�string)r4r�r7r�rYr!s r�test_str_aliases_stringz'TestTypeAliases.test_str_aliases_string�s>�������t�%��0�������/�/��5�:�:�H�Erc�\�|jjdt��|j|jj	d�j
d�|jjdt��|j|jj	d�j
d�y)Nrrr�-xr�)r4r�rBr7r�rYr�r!s r�test_type_objectz TestTypeAliases.test_type_object�sz�������t�#��.�������/�/��5�:�:�H�E������t�#��.�������/�/��5�:�:�E�BrN)r#r$r%rorrr&rrrr�s��%�F�Crrr��<ii�Q)�s�m�h�dc��	|dj�rt|�St|dd�t|dzS#ttf$rtd|�d|����wxYw)N���zoption z: invalid duration: )�isdigitr��_time_unitsr��
IndexErrorr��option�opt�values   r�_check_durationr�sh��>���9�����u�:���u�S�b�z�?�[��r��%;�;�;���
�#�>��14�e�<�>�	>�>�s
�;�;�!Ac�l�eZdZejdzZej
ej�Zeed<y)�DurationOption)�durationrN)r#r$r%r	�TYPES�copy�TYPE_CHECKERrr&rrrr�s0���L�L�=�(�E��4�9�9�V�0�0�1�L�.�L��rrc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestDefaultValuesc���t�|_|jjddd��|jjddd��|jjd	d
d��|jjd
d
��|jjdd��|jjd�|jjdd��ddddddd�|_y)Nr�r�T��defaultr�r�r�)r�r�r��%�rYr%z-mrrr��-tz-u)r��nrr
�t�u)rr4r��expectedr!s rrozTestDefaultValues.setUp�s���"�n��������t�[�$��?������t�Y�Y��?������t�%���<������t�%��0������t�U��3������t�$������t�T��2�%)�!�#�$�#�#�&��
rc�l�|j|jj�|j�yr)r7r4�get_default_valuesr,r!s r�test_basic_defaultsz%TestDefaultValues.test_basic_defaults�s#��������7�7�9�4�=�=�Irc���|jjdd��|jjddd��|j	|jj�|j�y)Nr�i����)r)r)r4�set_defaultsr,�updater7r.r!s r�test_mixed_defaults_postz*TestDefaultValues.test_mixed_defaults_post�sQ����� � �2�� �.��
�
���2�D�1�2�������7�7�9�4�=�=�Irc�d�|jjdd��|jjdd��|jjd�|jj	ddd��|j|jj
�|j�|jjd�|jjdd��|jj	ddi�|j|jj
�|j�y)	N�barf�blah)�x�yr
�frobr$z-yr8)r4r1r�r,r2r7r.r�r!s r�test_mixed_defaults_prez)TestDefaultValues.test_mixed_defaults_pre�s������ � �6�V� �4������t�V��4������t�$��
�
���6��7�8�������7�7�9�4�=�=�I����!�!�$�'������t�T��2��
�
���c�4�[�)�������7�7�9�4�=�=�Irc�`�t|j_|jjddd��|jjddd��|jj	d��|j
j
dd	d
d��|j|jj�|j
�|jjd�|j
j
dddd��|j|jj�|j
�y)
Nr�ri,r'z-e�6m�42)r)ihr�)r�er)F)
rr4�option_classr�r1r,r2r7r.�set_process_default_valuesr!s r�test_process_defaultz&TestDefaultValues.test_process_default�s���#1���� ������t�*�c��B������t�*�d��C���� � �4� �(��
�
���3�S�r�:�;�������7�7�9�4�=�=�I����.�.�u�5��
�
���3�T��=�>�������7�7�9�4�=�=�IrN)r#r$r%ror/r3r:rAr&rrr"r"�s��&� J�J�
J�
Jrr"c�&�eZdZ	d�Zd�Zd�Zd�Zy)�TestProgNamec�D�|j|j�|�yr)r7�	get_usage�rr4�expected_usages   r�assertUsagezTestProgName.assertUsages������)�)�+�^�<rc�D�|j|j�|�yr)r7�get_version)rr4�expected_versions   r�
assertVersionzTestProgName.assertVersions������+�+�-�/?�@rc�|�tjdd}	tjj	ddd�tjd<tdd��}d}|j
||�|j|d	�|j||d
zdz�|tjddy#|tjddwxYw)Nr�r�zbaz.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
)	rV�argv�os�path�joinrrHrLrg)r�	save_argvr4rGs    r�test_default_prognamez"TestProgName.test_default_prognames����H�H�Q�K�	�	$��'�'�,�,�u�e�X�>�C�H�H�Q�K�!�+�{�C�F�2�N����V�^�4����v�|�4��O�O�F�*�T�1�N�N�
O�$�C�H�H�Q�K��)�C�H�H�Q�K�s�A=B&�&B;c���tddd��}|jd�|jd�d}|j||�|j|d�|j	||d	z�y)
N�thingy�	%prog 0.1z
%prog arg arg)�progrNrm�-h�	--versionzUsage: thingy arg arg
z
thingy 0.1rO)rr�rHrLrgrFs   r�test_custom_prognamez!TestProgName.test_custom_progname'sj���8�&1�$3�5��	���T�"����[�)�2�������0����6�<�0������� 5�6rN)r#r$r%rHrLrUr\r&rrrCrC	s���
=�A�$�"	7rrCc�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestExpandDefaultsc��td��|_d|_d|_|jdz|_|jdz|_y)N�test)rYzXUsage: 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]
)rr4�help_prefix�	file_help�expected_help_file�expected_help_noner!s rrozTestExpandDefaults.setUp4sO��"��/������>���"&�"2�"2�I�#J���"&�"2�"2�F�#G��rc��|jjddd|j��|j|j|j�y)N�-f�--file�foo.txt�r%�help)r4r�rbrgrcr!s r�test_option_defaultz&TestExpandDefaults.test_option_defaultBsA�������t�X�'0�$(�N�N�	�	4�	
������T�%<�%<�=rc���|jjdd|j��|jjdd�|j	|j|j
�y)Nrfrg�rj�filerh)r4r�rb�set_defaultrgrcr!s r�test_parser_default_1z(TestExpandDefaults.test_parser_default_1HsP�������t�X�$(�N�N�	�	4�������	�2�������T�%<�%<�=rc���|jjdd|j��|jjd��|j	|j|j
�y)Nrfrgrmrh�rn)r4r�rbr1rgrcr!s r�test_parser_default_2z(TestExpandDefaults.test_parser_default_2NsQ�������t�X�$(�N�N�	�	4���� � �i� �0�������T�%<�%<�=rc��|jjdd|j��|j|j|j�y)Nrfrgrm�r4r�rbrgrdr!s r�test_no_defaultz"TestExpandDefaults.test_no_defaultTs<�������t�X�$(�N�N�	�	4�������T�%<�%<�=rc��|jjddd|j��|j|j|j�y)Nrfrgrirur!s r�test_default_none_1z&TestExpandDefaults.test_default_none_1YsA�������t�X�'+�$(�N�N�	�	4�	
������T�%<�%<�=rc���|jjdd|j��|jjd��|j	|j|j
�y)Nrfrgrmrr)r4r�rbr1rgrdr!s r�test_default_none_2z&TestExpandDefaults.test_default_none_2_sQ�������t�X�$(�N�N�	�	4���� � �d� �+�������T�%<�%<�=rc���|jjddd��|jjd��|jdz}|j	|j|�y)N�-pz--probz1blow up with probability PROB [default: %default]rmg��Q���?)�probzF  -p PROB, --prob=PROB  blow up with probability PROB [default: 0.43]
)r4r�r1rarg�rres  r�test_float_defaultz%TestExpandDefaults.test_float_defaultes_��������(�D�	�	F�	
��� � �d� �+��(�(�U�V�
�������]�3rc���|jjdddd��d|jj_|j	|j|j
�y)Nrfrgrhz#read from FILE [default: *DEFAULT*]riz	*DEFAULT*)r4r��	formatter�default_tagrgrcr!s r�test_alt_expandz"TestExpandDefaults.test_alt_expandnsP�������t�X�'0�$I�	�	K�-8������)�������T�%<�%<�=rc���|jjdddd��d|jj_|jdz}|j|j|�y)Nrfrgrhzread from %default fileriz0  -f FILE, --file=FILE  read from %default file
)r4r�r�r�rargr~s  r�test_no_expandz!TestExpandDefaults.test_no_expandus]�������t�X�'0�$=�	�	?�-1������)��(�(�?�@�
�������]�3rN)
r#r$r%rorkrprsrvrxrzrr�r�r&rrr^r^3s5��G�>�>�>�>�
>�>�4�>�4rr^c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestStandardc��tdd��tdddd��td	d
��g}tt|��|_y)
Nr�rrr�--boor��boo�rYr��--foo�append�r��rm�option_list�rr(r
r4�rr<s  rrozTestStandard.setUp�s?���t�(�3��t�W�5�u�E��w�x�8�:��/�^�;B�D��rc�*�|jdgd�y)Nr�z-a option requires 1 argument�rTr!s r�test_required_valuez TestStandard.test_required_value�s�����d�V�%D�Erc�,�|jddgd�y)Nr�5xz&option -b: invalid integer value: '5x'r�r!s r�test_invalid_integerz!TestStandard.test_invalid_integer�s�����d�D�\�E�	Grc�*�|jdgd�y)Nz--boo13zno such option: --boo13r�r!s r�test_no_such_optionz TestStandard.test_no_such_option�s�����i�[�*C�Drc�*�|jdgd�y)Nz--boo=x5z)option --boo: invalid integer value: 'x5'r�r!s r�test_long_invalid_integerz&TestStandard.test_long_invalid_integer�s�����j�\�H�	Jrc�2�|jgdddd�g�y)N��ar�r��r?r!s r�
test_emptyzTestStandard.test_empty�s�����2�T�$�t�D�b�Irc�:�|jgd�ddddgd�g�y)N)r�r�z
--foo=blahz--foo=r�r6r�r�r!s r�"test_shortopt_empty_longopt_appendz/TestStandard.test_shortopt_empty_longopt_append�s$�����=�!#�D�&�"��F��	rc�:�|jgd�ddgd�d�g�y)N)r�r�r�r�z--foo=x)r�r�r7r�r�r!s r�test_long_option_appendz$TestStandard.test_long_option_append�s&�����C�!%�#'�#3�5��		rc�4�|jdgdddd�g�y)Nz-abc�bcr�r�r!s r�test_option_argument_joinedz(TestStandard.test_option_argument_joined�s!�����F�8�!%�d�4�@��	rc�6�|jddgdddd�g�y)Nr��34r�r�r!s r�test_option_argument_splitz'TestStandard.test_option_argument_split�s#�����D�$�<�!%�d�4�@��	rc�4�|jdgdddd�g�y)Nz-b34�"r�r�r!s r�#test_option_argument_joined_integerz0TestStandard.test_option_argument_joined_integer�s!�����F�8�!%�b��>��	rc�6�|jddgdddd�g�y)Nr�-5���r�r�r!s r�+test_option_argument_split_negative_integerz8TestStandard.test_option_argument_split_negative_integer�s#�����D�$�<�!%�b��>��	rc�4�|jdgdddd�g�y)Nz--boo=13�
r�r�r!s r� test_long_option_argument_joinedz-TestStandard.test_long_option_argument_joined�s!�����J�<�!%�b��>��	rc�6�|jddgdddd�g�y)Nr��111�or�r�r!s r�test_long_option_argument_splitz,TestStandard.test_long_option_argument_split�s$�����G�U�+�!%�c�$�?��	rc�8�|jddgdddgd�g�y)N�	--foo=bar�-axyz�xyzr�r�r�r!s r�test_long_option_short_optionz*TestStandard.test_long_option_short_option�s&�����K��1�!&�t�U�G�D��	rc�8�|jddgdddgd�g�y)N�--f=barr�r�r�r�r�r!s r�test_abbrev_long_optionz$TestStandard.test_abbrev_long_option�s&�����I�w�/�!&�t�U�G�D��	rc��|jjg�\}}|jj�}|jt	|�t	|��yr)r4r5r.r7r6)rr<r9r�s    r�
test_defaultszTestStandard.test_defaults�sD���+�+�0�0��4���$��;�;�1�1�3������h���g��7rc�h�|jjdddd��|jdgd�y)N�--fozr�rr��r�rYr�r�z%ambiguous option: --f (--foo, --foz?)�r4r�rTr!s r�test_ambiguous_optionz"TestStandard.test_ambiguous_option�s8�������w�w�$,�5�	�	:����i�[�D�	Frc�8�|jgd�dddgd�g�y)N)r�r�r�r�r�r�r�r�r!s r� test_short_and_long_option_splitz-TestStandard.test_short_and_long_option_split�s"�����8�!&�t�U�G�D��	rc�:�|jgd�ddddgd�g�y)N)r�r�123r�r��{r�r�r�r�r!s r�*test_short_option_split_long_option_appendz7TestStandard.test_short_option_split_long_option_append�s$�����E�!%�c�5�%�.�I��	rc�8�|jgd�dddd�dg�y)N)r�r�r�r�r�r�r�r!s r�*test_short_option_split_one_positional_argz7TestStandard.test_short_option_split_one_positional_arg�s"�����/�!&�t�D�A�!�7�	$rc�n�|jgd�dddd�ddg�|jgd�dddgd�g�y)N)r�rzr�r�rzr�r�r�)r�rzr�r�r�r!s r�$test_short_option_consumes_separatorz1TestStandard.test_short_option_consumes_separator�sF�����5�!%�d�4�@�!�5�>�	+�	
���7�!%�d�E�7�C��	rc�<�|jgd�dddd�ddg�fy)N)�-abrzr�r�rvr�r�r�r�r!s r�&test_short_option_joined_and_separatorz3TestStandard.test_short_option_joined_and_separator�s*�����8�!$�T�$�?�#�U�+�	-�	.rc�:�|jgd�dddgd�dg�y)N)r��-r�r�rvr�r�r�r�r!s r�"test_hyphen_becomes_positional_argz/TestStandard.test_hyphen_becomes_positional_arg�s$�����7�!$�T�5�'�B��5�	"rc�:�|jgd�ddddgd�g�y)N)�-b3r�5r�r�r��r�r�r�r�r!s r�test_no_append_versus_appendz)TestStandard.test_no_append_versus_append�s$�����J�!%�a����G��	rc�6�|jddgdddd�g�y)Nr�r�r�r�r!s r�&test_option_consumes_optionlike_stringz3TestStandard.test_option_consumes_optionlike_strings#�����D�%�=�!&�t�D�A��	rc�d�|jjdd��|jdgd�y)Nr(r�r�z-testzno such option: -er�r!s r�#test_combined_single_invalid_optionz0TestStandard.test_combined_single_invalid_options.�������t�L��9����g�Y�1�	3rN)r#r$r%ror�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&rrr�r��s���D�F�G�E�J�J��
��
�
�
�
�
�
�
�
8�
F��
�
$�
�.�
"�
�
�
3rr�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestBoolc�d�tddddd��tddd	d�
�g}t|��|_y)Nr�r�r�r�r��r�r�r%r�r�r�r��r�)rrr4r�s  rrozTestBool.setUpsB���t�*�&2�$-�')�	+�
�t�(�&3�$-�/�0��#��9��rc�.�|jgddig�y)Nr�r�r�r!s r�test_bool_defaultzTestBool.test_bool_defaults�����2�%�r�?��	rc�p�|jdgddig�\}}|j|jdu�y)Nr�r�rF�r?rFr��rr<r9s   r�test_bool_falsezTestBool.test_bool_falses;���,�,�d�V�.7��^�-/�1���$�	
������5�0�1rc�p�|jdgddig�\}}|j|jdu�y)Nr�r�r�Tr�r�s   r�test_bool_truezTestBool.test_bool_true#s;���,�,�d�V�.7��^�-/�1���$�	
������4�/�0rc�2�|jgd�ddig�y)N)z-qvqr�r�r�r�r�r!s r�test_bool_flicker_on_and_offz%TestBool.test_bool_flicker_on_and_off)s�����/�%�q�>��	rN)r#r$r%ror�r�r�r�r&rrr�r�s��
:��
2�1�rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�
TestChoicec�r�tt��|_|jjddddgd���y)Nrl�-cr�r�)�one�two�three)r�rYr�r��r(r
r4r�r!s rrozTestChoice.setUp/s2��.�^�D��������t�G�(�$,�6M�	�	Orc�4�|jgd�ddidg�y)N)r�r�r�r�r�r�r�r!s r�test_valid_choicezTestChoice.test_valid_choice4s �����/�$�e�,�!�7�	$rc�,�|jgd�d�y)N)r��four�abczEoption -c: invalid choice: 'four' (choose from 'one', 'two', 'three')r�r!s r�test_invalid_choicezTestChoice.test_invalid_choice9s�����2�C�	Drc���|jjddgd���|jjd�}|j|jd�|j|j
d�y)Nr�z	--default)r��five�six)r�r�r�)r4r�r�r7rYr��rrs  r�test_add_choice_optionz!TestChoice.test_add_choice_option>s]�������t�[�'>�	�	@��k�k�$�$�T�*��������8�,�������W�-rN)r#r$r%ror�r�rr&rrr�r�.s��O�
$�
D�
.rr�c�`�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zy)�	TestCountc��tt��|_tddd��|_|jj|j�|jjddd��|jjd	d
ddd�
�y)Nrlr�r�r�r�r�r�r�r�r��store_constr�r�r�r�)r(r
r4r�v_optr�r!s rrozTestCount.setUpFsp��.�^�D��� ��g�I�F��
������t�z�z�*������{��Y��G������t�Y�&3�)�1�	�	Nrc�.�|jgddig�y)Nr�r�r!s rr�zTestCount.test_emptyNs�����2�	�4�0�"�5rc�0�|jdgddig�y)Nr�r�r�r�r!s r�test_count_onezTestCount.test_count_oneQs�����D�6�I�q�>�2�6rc�0�|jdgddig�y)N�-vvvr��r�r!s r�test_count_threezTestCount.test_count_threeTs�����F�8�i��^�R�8rc�2�|jgd�ddig�y)N)r�r�r�r�rr�r!s r�test_count_three_apartz TestCount.test_count_three_apartWs�����-�	�1�~�r�Brc�2�|jddgddig�y)Nr�--verbose=2r�r�r�r!s r�test_count_override_amountz$TestCount.test_count_override_amountZs�����F�M�2�Y��N�B�Grc�2�|jgd�ddig�y)N)rrr�r�rr�r!s r�test_count_override_quietz#TestCount.test_count_override_quiet]s�����8�9�a�.�"�Mrc�2�|jgd�ddig�y)N�rrr�r�r�r�r�r!s r�test_count_overridingzTestCount.test_count_overriding`s�����>�%�q�>�2�	/rc�4�|jgd�ddidg�y)N�r��3r�r�r�rr�r!s r�test_count_interspersed_argsz&TestCount.test_count_interspersed_argsds�����1�%�q�>��5�	"rc�j�|jj�|jgd�ddiddg�y)Nrr�rrr�)r4�disable_interspersed_argsr?r!s r�test_count_no_interspersed_argsz)TestCount.test_count_no_interspersed_argsis1�����-�-�/����1�%�q�>���;�	(rc�,�|jddgd�y)Nz-q3r�zno such option: -3r�r!s r�test_count_no_such_optionz#TestCount.test_count_no_such_optionos�����e�T�]�,@�Arc�,�|jddgd�y)Nz	--quiet=3r�z$--quiet option does not take a valuer�r!s r�test_count_option_no_valuez$TestCount.test_count_option_no_valuers�����k�4�0�C�	Erc�f�|jjdd�|jgddig�y)Nr�r�r4ror?r!s r�test_count_with_defaultz!TestCount.test_count_with_defaultvs,�������	�1�-����2�	�!�}�b�1rc�j�|jjdd�|jgd�ddig�y)Nr�rrr�r'r!s r�test_count_overriding_defaultz'TestCount.test_count_overriding_defaultzs0�������	�1�-����>�%�q�>�2�	/rN)r#r$r%ror�rrrrrrrr!r#r%r(r*r&rrrrEsN��N�6�7�9�C�H�N�/�"�
(�B�E�2�/rrc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestMultipleArgsc�p�tt��|_|jjdddddd��y)	Nrlr|�--pointr�r�float�point�r�r�rYr�r�r!s rrozTestMultipleArgs.setUp�s3��.�^�D��������t�Y�&-�Q�W�7�	�	Trc�6�|jgd�ddiddg�y)N)r�r|�1�2.5z-4.3r�r0)g�?�@g333333�r�r�r�r!s r�test_nargs_with_positional_argsz0TestMultipleArgs.test_nargs_with_positional_args�s#�����C�#�%5�6�!�5�>�	+rc�4�|jgd�ddidg�y)N)r.�-1r4z-0r�r0)g�r5g�r�r�r!s r�test_nargs_long_optz$TestMultipleArgs.test_nargs_long_opt�s!�����@�#�%6�7�!�7�	$rc�,�|jgd�d�y)N)r|�1.0�2x�3.5z-option -p: invalid floating-point value: '2x'r�r!s r�test_nargs_invalid_float_valuez/TestMultipleArgs.test_nargs_invalid_float_value�s�����7�B�	Crc�,�|jgd�d�y)N)r.r;r=z#--point option requires 3 argumentsr�r!s r�test_nargs_required_valuesz+TestMultipleArgs.test_nargs_required_values�s�����6�B�	DrN)r#r$r%ror6r9r>r@r&rrr,r,s��T�
+�
$�
C�
Drr,c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestMultipleArgsAppendc���tt��|_|jjdddddd��|jjd	d
ddd
d��|jjddddd��y)Nrlr|r.r�rr/r0r1rfr�r�r�r�r��-z�--zero�append_const�rrrr�r!s rrozTestMultipleArgsAppend.setUp�sx��.�^�D��������t�Y�w�a�$+�'�	�	;������t�W�X�Q�$)��	�	7������t�X�n�$)��	�	9rc�:�|jgd�dddgd�dg�y)N)rf�4�-3r6r�r3�666)����)r�i��r0r�r6r�r!s r�test_nargs_appendz(TestMultipleArgsAppend.test_nargs_append�s%�����I�%)�7�H�2E�F�"�8�	%rc�*�|jdgd�y)Nz-f4,3z-f option requires 2 argumentsr�r!s r�!test_nargs_append_required_valuesz8TestMultipleArgsAppend.test_nargs_append_required_values�s�����g�Y�=�	?rc�6�|jddgddgd�g�y)Nz--foo=3rI�rrLrNr�r!s r�test_nargs_append_simplez/TestMultipleArgsAppend.test_nargs_append_simple�s$�����I�s�+�%)�&��:��	rc�8�|jgd�dgd�d�g�y)N)rEr�rrIrD)rGrSrGrNr�r!s r�test_nargs_append_constz.TestMultipleArgsAppend.test_nargs_append_const�s�����>�%)�1I�J��	rN)r#r$r%rorOrQrTrVr&rrrBrB�s��9�%�
?��
rrBc��eZdZd�Zd�Zy)�TestVersionc�T�ttd��|_tjdd}	t
jjt
jdd�tjd<|jdgd�|tjddy#|tjddwxYw)NrX)rmrNr�r�rr[zbar 0.1
)
r(r
r4rVrPrQrRrS�curdirr^)rrTs  r�test_versionzTestVersion.test_version�su��.�^�7B�D����H�H�Q�K�	�	$��'�'�,�,�r�y�y�%��?�C�H�H�Q�K����{�m�[�9�#�C�H�H�Q�K��)�C�H�H�Q�K�s�AB�B'c�T�tt��|_|jdgd�y)Nrlr[zno such option: --version)r(r
r4rTr!s r�test_no_versionzTestVersion.test_no_version�s#��.�^�D������k�]�8�	:rN)r#r$r%r[r]r&rrrXrX�s��$�:rrXc� �eZdZ	d�Zd�Zd�Zy)�TestConflictingDefaultsc�B�ttdddd��g��|_y)Nr�r�r�r�r�r�)rrr4r!s rrozTestConflictingDefaults.setUp�s#��"���\�	�1�M�0O�P��rc�l�|jjdddd��|jgddig�y)Nr�r�r�rr��r4r�r?r!s r�test_conflict_defaultz-TestConflictingDefaults.test_conflict_default�s8�������t�M�	�'(�	�	*����2�	�1�~�r�2rc�l�|jjdddd��|jgddig�y)Nr�r�r�r�rbr!s r�test_conflict_default_nonez2TestConflictingDefaults.test_conflict_default_none�s9�������t�M�	�'+�	�	-����2�	�4�0�"�5rN)r#r$r%rorcrer&rrr_r_�s��>�P�3�
6rr_c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestOptionGroupc�.�tt��|_yrkrnr!s rrozTestOptionGroup.setUp�rprc��t|jd�}|jj|�|jddd��|j	dgddig�y)N�Spamz--spamr�zspam spam spam spam�r�rj�spamr�)rr4�add_option_groupr�r?�r�groups  r�!test_option_group_create_instancez1TestOptionGroup.test_option_group_create_instance�sV���D�K�K��0�����$�$�U�+�
����,�3�	�	5����H�:���{�B�7rc�R�|j|jjdd�y)Nz!not an OptionGroup instance: None�rar4rmr!s r�test_add_group_no_groupz'TestOptionGroup.test_add_group_no_group�s"�����T�[�[�9�9�@�$�	Hrc�T�|j|jjddd�yr�rrr!s r� test_add_group_invalid_argumentsz0TestOptionGroup.test_add_group_invalid_arguments�s#�����T�[�[�9�9�0�$��	>rc��t|jd�}t�|_|j|jj|fdt
d�y)Nrjz"invalid OptionGroup (wrong parser))rr4rrOrmr�rns  r�test_add_group_wrong_parserz+TestOptionGroup.test_add_group_wrong_parser�sB���D�K�K��0��#�~������$�+�+�6�6���$�$�&J�	Lrc���|jjdd��}|jd�|jdd��|j	|jjd�|�y)NzGroup 2zSome more options)�description�Baconz--baconr�r)r4rm�	set_titler�rF�get_option_grouprns  r�test_group_manipulatez%TestOptionGroup.test_group_manipulate�s]�����,�,�Y�9L�-�N��
���� �
������/�������4�4�Y�?��GrN)	r#r$r%rorprsrurwr}r&rrrgrg�s#��9�8�H�>�L�Hrrgc�@�eZdZd�Zd�ZGd�de�Zd�Zd�Zd�Z	y)	�TestExtendAddTypesc��tt|j��|_|jj	dddd��|jj	dddd��y)	N)rmr?r�rr�r�rfrgrn)r(r
�MyOptionr4r�r!s rrozTestExtendAddTypes.setUp�sN��.�^�<@�M�M�K��������t�T��s��C������t�X�F���Hrc�H�tjjtj�r$tj
tj�ytjj
tj�r$tjtj�yyr)rQrR�isdirr�TESTFN�rmdir�isfile�unlinkr!s r�tearDownzTestExtendAddTypes.tearDownsW��
�7�7�=�=��)�)�*��H�H�Y�%�%�&�
�W�W�^�^�I�,�,�
-��I�I�i�&�&�'�.rc�r�eZdZd�Zej
dzZejej�Zeed<y)�TestExtendAddTypes.MyOptionc��tjj|�std|z��tjj	|�std|z��|S)N�%s: file does not exist�%s: not a regular file)rQrR�existsrr�rs   r�
check_filez&TestExtendAddTypes.MyOption.check_filesI���7�7�>�>�%�(�&�'@�5�'H�I�I��W�W�^�^�E�*�&�'?�%�'G�H�H��LrrrrnN)r#r$r%r�r	rrr r&rrr�r�s7��	����y�(�� �t�y�y��!4�!4�5��)��V�rr�c��tjtj�|jdtjdgtjdd�g�y)Nrg�-afoor�)rnr�)r�create_empty_filer�r?r!s r�test_filetype_okz#TestExtendAddTypes.test_filetype_oksD���#�#�I�$4�$4�5����H�i�&6�&6��@�$-�$4�$4�5�A��	rc�l�|jdtjdgdtjz�y)Nrgr�r�)rTrr�r!s r�test_filetype_noexistz(TestExtendAddTypes.test_filetype_noexists0�����h�	�(8�(8�'�B�6�&�-�-�.�	/rc��tjtj�|j	dtjdgdtjz�y)Nrgr�r�)rQ�mkdirrr�rTr!s r�test_filetype_notfilez(TestExtendAddTypes.test_filetype_notfilesB��
����!�!�"����h�	�(8�(8�'�B�5�&�-�-�.�	/rN)
r#r$r%ror�r	r�r�r�r�r&rrrr�s(��I�(�
*�F�
*��/�
/rrc�4�eZdZd�ZGd�de�Zd�Zd�Zy)�TestExtendAddActionsc�T�|jddddd��g}t|��|_y)Nr��--apple�extendr�appler�r�)r�rr4r�s  rrozTestExtendAddActions.setUp%s1���=�=��y��&.�W�!�>�?��"�w�7��rc�l�eZdZejdzZej
dzZejdzZd�Zy)�TestExtendAddActions.MyOption)r�c	��|dk(r3|jd�}|j|g�j|�ytj|||||||�y)Nr��,)�split�ensure_valuer�r	�take_action)rr�r�rrr�r4�lvalues        rr�z)TestExtendAddActions.MyOption.take_action/sP����!����S�)���#�#�D�"�-�4�4�V�<��"�"�4���s�F�E�#)�+rN)r#r$r%r	�ACTIONS�
STORE_ACTIONS�
TYPED_ACTIONSr�r&rrr�r�*s5���.�.�;�.���,�,�{�:�
��,�,�{�:�
�	+rr�c�6�|jddgdgd�ig�y)Nz	-afoo,barz--apple=blahr�)r�r�r6r�r!s r�test_extend_add_actionz+TestExtendAddActions.test_extend_add_action7s#�����K��8�#�%;�<��	rc�6�|jgd�dgd�ig�y)N)r�r�z-abarz--apple=x,yr�)r�r�r7r8r�r!s r�test_extend_add_action_normalz2TestExtendAddActions.test_extend_add_action_normal<s�����@�#�%=�>��	rN)r#r$r%ror	r�r�r�r&rrr�r�$s��8�
+�F�+��
rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�TestCallbackc	��tddd|j��tddd|jdd��g}t|�	�|_y)
Nr
r�r�rfrgr�filename)r�r�rYr�r�)r�process_optrr4r�s  rrozTestCallback.setUpDsQ���t�#�&0�(,�(8�(8�:��t�'�&0�(,�(8�(8�$,�$.�0�		1��#�w�7��rc���|dk(r�|j|jdg�|j|jg�|j||ju�|j|du�|jt|j�ddi�d|j_y|dk(r�|j|jdg�|j|jdg�|j||ju�|j|d�|jt|j�ddd��t|j|j|�y|jd|z�y)	Nr
r�r�rgrfr��r�r7z!Unknown option %r in process_opt.)r7r�r�rFr4r6r�r7�setattrr�rA�rrrr�parser_s     rr�zTestCallback.process_optQs&���$�;����V�/�/�$��8����V�.�.��3��O�O�G�t�{�{�2�3��O�O�E�T�M�*����T�'�.�.�1�J��3E�F�!�G�N�N��
�H�_����V�/�/�$��8����V�.�.��
�;��O�O�G�t�{�{�2�3����U�E�*����T�'�.�.�1��2�3N�O��G�N�N�F�K�K��7��I�I�9�C�?�@rc�4�|jddgddd�g�y)Nr
z
--file=foor�r�r�r�r!s r�
test_callbackzTestCallback.test_callbackes"�����D�,�/�(-�B�7��	rc��tt��}|jd�|jdddd�dd�	�d
}|j	||�y)NrlrZr(z--testr�c��yrr&r&rr�<lambda>z1TestCallback.test_callback_help.<locals>.<lambda>qs��4rrr�)r�r�rYrjz%Options:
  -t TEST, --test=TEST  foo
)rr
r�r�rg)rr4res   r�test_callback_helpzTestCallback.test_callback_helpjsR���N�3�����T�"����$���#/�h�$�	�	&�9�
�����
�.rN)r#r$r%ror�r�r�r&rrr�r�Cs��8�A�(�
/rr�c��eZdZd�Zd�Zd�Zy)�TestCallbackExtraArgsc
�n�tddd|jdtfddg��g}t|��|_y)	Nr|r.r�rr�points)r�r�r�rYr�r%r�)r�
process_tupler�rr4r�s  rrozTestCallbackExtraArgs.setUpzs<���t�Y�z�(,�(:�(:�./��X�H�$,�b�:�;��#�w�7��rc�Z�|j|d�|j|tu�|dk(r|j|d�n|dk(r|j|d�tt	||jd���}t
|j|j�j|�y)Nrr|z1,2,3r.�4,5,6r�)
r7rFr�r��mapr��getattrr�r�r�)rrrrr��lenrYs       rr�z#TestCallbackExtraArgs.process_tuple�s�������a� �������$��$�;����U�G�,�
�I�
����U�G�,��c�$����C� 0�1�2���������,�3�3�E�:rc�6�|jgd�dddgig�y)N)z-p1,2,3r.r�r��r�r�r)rLr��r�r!s r�test_callback_extra_argsz.TestCallbackExtraArgs.test_callback_extra_args�s#�����:�$�w��&8�9��	rN)r#r$r%ror�r�r&rrr�r�ys��8�
;�rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�TestCallbackMeddleArgsc	��tddd�D�cgc]$}tt|�d|jd����&}}t	|��|_ycc}w)Nri����r��things�r�r�r�r�)�rangerrB�	process_nrr4)rr7r<s   rrozTestCallbackMeddleArgs.setUp�sW��"�"�b�"�-�/�-�q��s�1�v�j�(,���X�G�-�	�/�#�w�7����/s�)A
c�F�t|dd�}|j}t|�|kr|jd||fz�|jj|jg�}|jt|d|��|jj|�|d|�=y)Nr�z$Expected %d arguments for %s option.r)
r��rargsr�rAr�r�r�r�r��largs)rrrrr�r�r�r�s        rr�z TestCallbackMeddleArgs.process_n�s����C���G����
�
���u�:����I�I�<��s�|�K�L��~�~�*�*�6�;�;��;�����E�%��%�.�)�*��
�
���U�#��!�E�'�Nrc�:�|jgd�dddgiddg�y)N)r8r�rJr�r��quxr�r�)r�r�r�r�rr�r!s r�test_callback_meddle_argsz0TestCallbackMeddleArgs.test_callback_meddle_args�s(�����C�$�x�1F�&G�H��q�6�	#rc�6�|jgd�ddgidg�y)N)z-2r�rzr�)r�rzr�r�r!s r�#test_callback_meddle_args_separatorz:TestCallbackMeddleArgs.test_callback_meddle_args_separator�s"�����.�$�}�o�6��3�	 rN)r#r$r%ror�r�r�r&rrr�r��s��8�	�#�
 rr�c��eZdZd�Zd�Zd�Zy)�TestCallbackManyArgsc	��tdddd|jd��tdddd	|jd
��g}t|��|_y)Nr�r�r�r�r)r�r�r�rYr�--bobrr�r�)r�process_manyrr4r�s  rrozTestCallbackManyArgs.setUp�sP���t�Y�z��(,�(9�(9��J��t�W�Z�q�(,�(9�(9��G�H��#�w�7��rc���|dk(r|j|d�y|dk(r|j|d�y|dk(r|j|d�y|dk(r|j|d�yy)	Nr�r�r�)�ding�dongrr�r�)if���r�r�r7r�s     rr�z!TestCallbackManyArgs.process_many�se���$�;����U�N�3�
�I�
����U�$4�5�
�D�[����U�I�.�
�G�^����U�M�2�rc�4�|jgd�ddd�g�y)N)r�r�r�r�r�r�rr3�2rr�z-666r=�0)r��bobr�r!s r�test_many_argsz#TestCallbackManyArgs.test_many_args�s"�����!�&*�$�7��		rN)r#r$r%ror�r�r&rrr�r��s��8�3�rr�c��eZdZd�Zd�Zd�Zy)�TestCallbackCheckAbbrevc�r�t�|_|jjdd|j��y)N�	--foo-barr�r�)rr4r��check_abbrevr!s rrozTestCallbackCheckAbbrev.setUp�s/��"�n��������{�:�(,�(9�(9�	�	;rc�(�|j|d�y)Nr�r��rrrrr4s     rr�z$TestCallbackCheckAbbrev.check_abbrev�s������k�*rc�,�|jdgig�y)Nr�r�r!s r�test_abbrev_callback_expansionz6TestCallbackCheckAbbrev.test_abbrev_callback_expansion�s�����G�9�b�"�-rN)r#r$r%ror�r�r&rrr�r��s��;�
+�.rr�c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�TestCallbackVarArgsc	��tdddd��tddd�	�td
dd|jd
��g}tt|��|_y)Nr�r�r�r�)rYr�r�rr�rvr�r��
--callbackr��cr�r�)r�
variable_argsr(r
r4r�s  rrozTestCallbackVarArgs.setUp�sR���t�%�q�s�C��t�L�s�C��t�\�*�(,�(:�(:��F�G��/�^�;B�D��rc�.�|j|du�g}|j}|rQ|d}|dddk(rt|�dkDs|dddk(rt|�dkDr	|ddk7rn|j|�|d=|r�Qt	|j
|j|�y)Nrr�rzr�r�)rFr�r�r�r�r�r�)rrrrr4r��args       rr�z!TestCallbackVarArgs.variable_args�s��������
�&����������(�C��R�a��D��S��X��\��R�a��C��C��H�q�L�S��V�s�]�����S�!��!�H��	��
�
�v�{�{�E�2rc�:�|jgd�ddddgd�g�y)N)z-a3r�r�r�r�)rr�r�r��r�rvr�r�r!s r�test_variable_argsz&TestCallbackVarArgs.test_variable_args�s$�����D�!(�t�5�%�.�I��	rc�<�|jgd�ddgd�d�dg�y)N)r��37rz�xxxr�helloT)r�rzr�r�rr�r!s r�%test_consume_separator_stop_at_optionz9TestCallbackVarArgs.test_consume_separator_stop_at_option�s(�����C�!%�!%�!4�6�$�9�		&rc�<�|jgd�ddgd�d�dg�y)N)rr�r�r�r�)r�r�r�r�rr�r!s r�%test_positional_arg_and_variable_argsz9TestCallbackVarArgs.test_positional_arg_and_variable_args�s(�����=�!%�!%� 3�5�$�9�		&rc�8�|jgd�dddgd�g�y)N)r�r�rTr�r�r�r!s r�test_stop_at_optionz'TestCallbackVarArgs.test_stop_at_option�s"�����.�!%�D��w�?��	rc�,�|jgd�d�y)N)r�rr�r�zno such option: -5r�r!s r�test_stop_at_invalid_optionz/TestCallbackVarArgs.test_stop_at_invalid_options�����4�6J�KrN)
r#r$r%ror�r�rrrrr&rrr�r��s'��D�3��
&�&��
Lrr�c��eZdZd�Zd�Zy)�ConflictBasec�R�tddddd��g}tt|��|_y)Nr�r�r�r�zincrement verbosity�r�r�rjr�r�r�s  rrozConflictBase.setUp
s1���t�[��$-�4I�K�L��.�^�;B�D��rc�&�d|j_y)Nr�)r��show_versionr�s     rr
zConflictBase.show_versions��%&��
�
�"rN)r#r$r%ror
r&rrr	r		s
��D�'rr	c�&�eZdZ	d�Zd�Zd�Zd�Zy)�TestConflictc���|j|dd|jdd�td�}|j|jd�|j|j
d�y)N)r�r[r��show version�r�r�rjz5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--version)rOr
rr7r,�	option_id)rrIrMs   r�assertTrueconflict_errorz%TestConflict.assertTrueconflict_errors`������%�:�59�5F�5F�1?�(A�
 �C�E��	
������"D�E��������7rc�N�|j|jj�yr)rr4r�r!s r�test_conflict_errorz TestConflict.test_conflict_error s���%�%�d�k�k�&<�&<�=rc�f�t|jd�}|j|j�y)NzGroup 1)rr4rr�rns  r�test_conflict_error_groupz&TestConflict.test_conflict_error_group#s&���D�K�K��3���%�%�e�&6�&6�7rc�^�|j|jjddtd�y)Nr�z'invalid conflict_resolution value 'foo')rOr4�set_conflict_handlerr�r!s r�test_no_such_conflict_handlerz*TestConflict.test_no_such_conflict_handler's(������K�K�,�,�h���A�	CrN)r#r$r%rrrrr&rrrrs��C�	8�>�8�Crrc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestConflictResolvec��tj|�|jjd�|jj	ddd|j
d��y)N�resolver�r[r�rr)r	ror4rr�r
r!s rrozTestConflictResolve.setUp.sK�����4� ����(�(��3������t�[��(,�(9�(9��	�	Prc��|jjd�}|jjd�}|jjd�}|j||u�|j||u�|j|jdg�|j|j
dg�|j|jdg�|j|j
g�|j|jdg�y)Nr�r�r[)r4r�rFr7r�r�)rr	�verbose_opt�version_opts    r�test_conflict_resolvez)TestConflictResolve.test_conflict_resolve4s������&�&�t�,���k�k�,�,�[�9���k�k�,�,�[�9�������,�-�����[�0�1�����)�)�K�=�9�����0�0�4�&�9�����/�/�+��?�����0�0�"�5�����/�/�+��?rc�*�|jdgd�y)NrZz}Options:
  --verbose      increment verbosity
  -h, --help     show this help message and exit
  -v, --version  show version
�r^r!s r�test_conflict_resolve_helpz.TestConflictResolve.test_conflict_resolve_helpAs�����4�&�#�	rc�2�|jdgddd�g�y)Nr�r��r�r
r�r!s r�test_conflict_resolve_short_optz3TestConflictResolve.test_conflict_resolve_short_optIs�����D�6�'+�Q�?��	rc�0�|jdgddig�y)Nr�r�r�r�r!s r�test_conflict_resolve_long_optz2TestConflictResolve.test_conflict_resolve_long_optNs�����K�=�%�q�>��	rc�4�|jddgddd�g�y)Nr�r[r�r(r�r!s r�test_conflict_resolve_long_optsz3TestConflictResolve.test_conflict_resolve_long_optsSs"�����K��5�'(�!�<��	rN)	r#r$r%ror#r&r)r+r-r&rrrr-s"��P�@���
�
rrc�$�eZdZd�Zd�Zd�Zd�Zy)�TestConflictOverridec���tt��|_|jjd�|jj	ddddd��|jj	ddd	d
dd��y)
Nrlrr��	--dry-runr��dry_runzdon't do anythingrrr�zdry run mode)r�r�r�rj)r(r
r4rr�r!s rrozTestConflictOverride.setUpYsj��.�^�D������(�(��3������t�[�&2��$7�	�	9�	
�����{�D�&3�2�I�$2�	�	4rc��|jjd�}|j|jdg�|j|jdg�y)Nr1r�)r4r�r7r�r�rs  r�test_conflict_override_optsz0TestConflictOverride.test_conflict_override_optscsB���k�k�$�$�[�1��������4�&�1�������+��7rc�*�|jdgd�y)NrZzXOptions:
  -h, --help     show this help message and exit
  -n, --dry-run  dry run mode
r%r!s r�test_conflict_override_helpz0TestConflictOverride.test_conflict_override_helphs�����4�&�#�	rc�0�|jdgddig�y)Nr�r2r�r�r!s r�test_conflict_override_argsz0TestConflictOverride.test_conflict_override_argsos�����D�6�%�r�?��	rN)r#r$r%ror4r6r8r&rrr/r/Xs��4�8�
�rr/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�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestHelpc�0�|jd�|_y)N�P)�make_parserr4r!s rrozTestHelp.setUp�s���&�&�r�*��rc	���tddddd��tddd	d
dd��td
dddd��g}tj�5}t|�|d<t	|��cddd�S#1swYyxYw)Nr�rr��APPLEzthrow APPLEs at basket)rYr��metavarrjrr�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�rYr�rj�COLUMNSr�)rr�EnvironmentVarGuardrBr()r�columnsr<�envs    rr=zTestHelp.make_parser�s����8�#� '�.F�
H���g�E�� %�N�
O�

���x�e�I�
K�
�� �
*�
*�
,�� ��\�C�	�N�+��@�-�
,�
,�s�A)�)A2c�
�tjdd}	tjj	dd�tjd<|jdg|�|tjddy#|tjddwxYw)Nr�zbar.pyrrZ)rVrPrQrRrSr^)rrSrTs   r�assertHelpEqualszTestHelp.assertHelpEquals�s]���H�H�Q�K�	�	$��'�'�,�,�u�h�7�C�H�H�Q�K����t�f�o�6�#�C�H�H�Q�K��)�C�H�H�Q�K�s�AA-�-Bc�.�|jt�yr)rG�_expected_help_basicr!s r�	test_helpzTestHelp.test_help�s�����2�3rc�d�|jjd�|jt�y)NzUsage: %prog [options])r4�	set_usagerGrIr!s r�test_help_old_usagezTestHelp.test_help_old_usage�s$�������6�7����2�3rc�d�d|jj_|jt�y)Nr)r4r��short_firstrG�_expected_help_long_opts_firstr!s r�test_help_long_opts_firstz"TestHelp.test_help_long_opts_first�s#��,-������)����<�=rc��tj�5}d|d<t�|j_|jt�ddd�y#1swYyxYw)N�80rB)rrCr
r4r�rG�_expected_help_title_formatter)rrEs  r�test_help_title_formatterz"TestHelp.test_help_title_formatter�sC��
�
*�
*�
,��!�C�	�N�$7�$9�D�K�K�!��!�!�"@�A�-�
,�
,�s�4A�Ac��|jd�|_|jt�|jd�|_|jt�y)Nrr)r=r4rG�_expected_help_short_lines�_expected_very_help_short_linesr!s r�test_wrap_columnszTestHelp.test_wrap_columns�sF���&�&�r�*������8�9��&�&�q�)������=�>rc��tt��|_|jjddd��d}|j	|�y)Nrlr�r��olé!rkuKOptions:
  -h, --help  show this help message and exit
  -a          olé!
)r(r
r4r�rG�r�expects  r�test_help_unicodezTestHelp.test_help_unicodes>��.�^�D��������t�L�{��K���
	
���f�%rc�V�ttd��|_d}|j|�y)Nr[)rmryu>olé!

Options:
  -h, --help  show this help message and exit
)r(r
r4rGr\s  r�test_help_unicode_descriptionz&TestHelp.test_help_unicode_descriptions+��.�^�;F�H�����	
���f�%rc�6�|jjd�t|jdd�}|jddd��|jj	|�d}|j|�d	|j_|j|d
z�y)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.rkaTUsage: 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.
)r4�set_descriptionrr�rmrG�epilog)rror]s   r�test_help_description_groupsz%TestHelp.test_help_description_groupss������#�#�
9�	:���K�K�,�
5�6��	����l���I����$�$�U�+���(	
���f�%�?��������f�'M�M�NrN)r#r$r%ror=rGrJrMrQrUrYr^r`rdr&rrr:r:�s<��+�A�*$�4�4�>�B�?�&�	&�#Orr:c��eZdZd�Zd�Zy)�TestMatchAbbrevc
�F�|jtdddddd��d�y)N�--f)r�r��--fierh)r7rr!s r�test_match_abbrevz!TestMatchAbbrev.test_match_abbrev@s/������u�15�15�15�/3�(5�6�
�	 rc�R�d}dddd�}|jt||fdtd�y)Nrh)r�r�riz,ambiguous option: --f (--fie, --foo, --foz?))rOrr)rr
�wordmaps   r�test_match_abbrev_errorz'TestMatchAbbrev.test_match_abbrev_errorHs3���� �4�$�?������A�w�<���J�	LrN)r#r$r%rjrmr&rrrfrf?s
�� �Lrrfc�$�eZdZd�Zd�Zd�Zd�Zy)�TestParseNumberc��t�|_|jjdt��|jjdt��y)Nr�r�-l)r(r4r�r�r!s rrozTestParseNumber.setUpQs:��.�0��������t�#��.������t�#��.rc	���|jtdtfitt	j
d��|jtdtfitt	j
d��y)Nr�z!invalid literal for int().*: '?'?�0xOoopsz*invalid literal for int().*: s?'?0xOoops'?)rOrr�r�rD�compiler!s r�test_parse_num_failz#TestParseNumber.test_parse_num_failVsX�������S�	�2���J�J�;�<�	>�	
�����C�(�"���J�J�D�E�	Grc��|jtdt�d�|jtdt�d�|jtdt�d�|jtdt�d�|jtd	t�d
�|jtdt�d�y)Nr�r�0x10��0XA�
�010��0b11r�0b)r7rr�r!s r�test_parse_num_okz!TestParseNumber.test_parse_num_ok`s�������C��-�q�1�����F�C�0�"�5�����E�3�/��4�����E�3�/��3�����F�C�0�!�4�����D�#�.��2rc���|jgd�ddd�g�|jgd�ddd�g�|jdgd	�|jd
gd�|jdd
gd�y)N)r�r=rq�0x20r�� )r)�l)r��0b0101z-l010r�r|z-n008z'option -n: invalid integer value: '008'z-l0b0123z*option -l: invalid integer value: '0b0123'rq�0x12xz)option -l: invalid integer value: '0x12x')r?rTr!s r�test_numeric_optionsz$TestParseNumber.test_numeric_optionshs|�����5�"$�4�1�2�	7����4�"#�!�-�r�	3����g�Y�F�	H����j�\�I�	K����d�G�_�H�	JrN)r#r$r%rorurr�r&rrroroPs��/�
G�3�
Jrroc��eZdZd�Zy)�MiscTestCasec�D�hd�}tj|t|��y)N>�
NO_DEFAULT�
check_builtin�AmbiguousOptionError)�not_exported)r�check__all__�optparse)rr�s  r�test__all__zMiscTestCase.test__all__vs��N�����T�8�,�GrN)r#r$r%r�r&rrr�r�us��Hrr�c��eZdZd�Zy)�TestTranslationsc�.�|jt�yr)�assertMsgidsEqualr�r!s r�test_translationsz"TestTranslations.test_translations|s�����x�(rN)r#r$r%r�r&rrr�r�{s��)rr��__main__z--snapshot-update)OrVrQrDr�unittest�iorr`r�test.supportr�test.support.i18n_helperrrr�rr	r
rrr
rrrrrrr�	Exceptionrr(�TestCaser2rir�r�rrrrr"rCr^r�r�r�rr,rBrXr_rgrr�r�r�r�r�r�r�r	rrr/rIrPrTrWrXr:rfror�r�r#r�rPr-�mainr&rr�<module>r�s����	�	�����"�W��.�.�.�.�#��
N�y�
N�2�|�2�M%�x� � �M%�jJ#�x�J#�XL?�x�L?�^(�x�(�*C�h�C� �r��h�@��>�/�V�/�
0J��0J�f'7�8�'7�TI4��I4�\H3�8�H3�T!�x�!�F.��.�.8/��8/�tD�x�D�2�X��::�(�:�$6�h�6� H�h�H�D(/��(/�V�8��>3/�8�3/�l�H��2 �X� �:�8��2
.�h�
.�0L�(�0L�j'�8�'�C�<�C�4)�,�)�V�8��<	��	"��"����#��BtO�x�tO�nL�h�L�""J�h�"J�JH�8�$�$�H�)�+�)�
�z��
�3�8�8�}�q��S�X�X�a�[�,?�?�$�X�.��������H�M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit