Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_optparse.cpython-312.pyc

�

'Μg���:�ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlZddlmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZGd�d	e�ZGd
�de�ZGd�d
ej8�ZGd�de�ZGd�de�ZGd�de�Z Gd�de�Z!ddddd�Z"d�Z#Gd�de
�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-Gd0�d1e�Z.Gd2�d3e�Z/Gd4�d5e�Z0Gd6�d7e�Z1Gd8�d9e�Z2Gd:�d;e�Z3Gd<�d=e�Z4Gd>�d?e�Z5Gd@�dAe�Z6GdB�dCe�Z7GdD�dEe�Z8GdF�dGe�Z9GdH�dIe9�Z:GdJ�dKe9�Z;GdL�dMe�Z<dNZ=dOZ>dPZ?dQZ@dRZAGdS�dTe�ZBGdU�dVe�ZCGdW�dXe�ZDGdY�dZej8�ZEeFd[k(rej��yy)\�N)�StringIO)�support)�	os_helper)�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    �//usr/local/lib/python3.12/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)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�optdicts       r�
assertParseOKzBaseTest.assertParseOK1s|��&*�[�[�%;�%;�D�%A�"��/��w�-������-�� ��"�	#�	
����*B�� ��#�	$���)�)rc
�j�|�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)	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.
        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:
''')
�failr6�str�
isinstance�re�Pattern�
assertTrue�search�patternr5)r�funcr7�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�/�B2�A3B-�'B2�-B2c���	|jj|�|jd�y#t$r&}|j	|j
|�Yd}~yd}~wwxYw)z�
        Assert the parser fails with the expected message.  Caller
        must ensure that self.parser is an InterceptingOptionParser.
        zexpected parse failureN)r2r3�assertFalserr5r)r�cmdline_args�expected_outputrKs    r�assertParseFailzBaseTest.assertParseFail�sW��
	7��K�K�"�"�<�0�
���5�6�� �	A����S�.�.��@�@��	A�s�/�	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)z7Assert the parser prints the expected output on stdout.zexpected parser.exit()z0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z'''N)�sys�stdoutrr2r3�getvaluerOrrDrAr@�typer?r5rr)rrPrQ�expected_status�expected_error�save_stdout�outputrKs        r�assertOutputzBaseTest.assertOutput�s���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�4BD?�?Ec�6�|j||dt|�y)z4Assert that TypeError is raised when executing func.N)rM�	TypeError)rrGrJr7s    r�assertTypeErrorzBaseTest.assertTypeError�s�����$��d�I�7G�Hrc�h�|j�}||k7r|jd|zdz|zdz��y)Nzhelp text failure; expected:
"z	"; got:
"z"
)�format_help�failureException)rr2�
expected_help�actual_helps    r�
assertHelpzBaseTest.assertHelp�sS���(�(�*���-�'��'�'�1��� ,�-���#�$�%�
%�(rr.)	r!r"r#r=rMrRr\r_rer$rrr0r00s*��*�<6�v
7�&'�$(�	7�:I�%rr0c��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�r	rr2rs r�setUpzTestOptionChecks.setUp����"��8��rc�>�|jt||t|�yr)rMrr)rrJr7rHs    r�assertOptionErrorz"TestOptionChecks.assertOptionError�s�����+�t�V�%�'7�	9rc�0�|jtd�y)Nz+at least one option string must be supplied)r_rrs 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�rprs 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)�--rurs 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---rurs 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�barrurs r�test_attr_invalidz"TestOptionChecks.test_attr_invalid�s�����<�
�F�D��.�	0rc�0�|jddgddi�y)Nz option -b: invalid action: 'foo'r}�actionrrurs r�test_action_invalidz$TestOptionChecks.test_action_invalid�s�����.�
�F�X�u�%�	'rc�d�|jddgddi�|jddgdti�y)Nz%option -b: invalid option type: 'foo'r}rWrz'option -b: invalid option type: 'tuple')rp�tuplers 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�rWrurs 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}�--badrW�choicerurs 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)r}r�r�zbad choices�rW�choices)rWr!rp)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'r}r��badr�rurs 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��construrs 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'r}r��)r��nargsrurs 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�rurs r�test_callback_not_callablez+TestOptionChecks.test_callback_not_callables"�����5�
�F�z�!&�(�	)rc��yrr$rs r�dummyzTestOptionChecks.dummy���rc�H�|jddgd|jdd��y)NzAoption -b: callback_args, if supplied, must be a tuple: not 'foo'r}r�r)r�r��
callback_args�rpr�rs 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'r}r�r)r�r��callback_kwargsr�rs 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 optionr}r�rr�rurs 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 optionr}r�r)r�r�rurs 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 optionr}r�r)r�r�rurs 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--debugrurs r�test_no_single_dashz$TestOptionChecks.test_no_single_dashAsT�����
7�
�J�	�
	
���
(�
�8��	�
	
���
7�
�y�!�	#rN)r!r"r#rmrprrrvryr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r$rrrgrg�s}��9�8:�"�9�L��
��0�
'�
%�8�
1�9�6�
5�
5�
)�
�.�0�)�.�0�#rrgc�|�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)r	r2�
add_optionrs rrmzTestOptionParser.setUpRsR��"�n��������t�[�$�	�!-�I�	�	?������t�Y�
�!.�Y�	�	@rc�R�|j|jjdd�y)Nznot an Option instance: None�r_r2r�rs r�test_add_option_no_Optionz*TestOptionParser.test_add_option_no_OptionYs"�����T�[�[�3�3�;�T�	Crc�T�|j|jjddd�y�Nzinvalid argumentsr�rs 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�)	r2�
get_option�assertIsInstancerr5�_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�)r2r�rD)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�)rDr2�
has_optionrs 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�)rDr2r�rOr�rs 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��r2�
remove_optionr�rs r�test_remove_short_optz&TestOptionParser.test_remove_short_opt�s �����!�!�$�'���� rc�Z�|jjd�|j�y)Nr�r�rs r�test_remove_long_optz%TestOptionParser.test_remove_long_opt�s �����!�!�+�.���� rc�^�|j|jjddtd�y)N�rzno such option 'foo')rMr2r��
ValueErrorrs 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)rT�getrefcountr	r��	big_thing�destroyr5)rr��refcountr2s    r�test_refleakzTestOptionParser.test_refleak�s^���D�	��?�?�9�-��������$��,�$������������3�?�?�9�#=�>rN)r!r"r#rmr�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$rs rrmzTestOptionValues.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)Nrr�r�r�)r�baz)�defaults)rr5r4�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#rmr�r$rrr�r��s��
�(rr�c��eZdZd�Zd�Zd�Zy)�TestTypeAliasesc�"�t�|_yr)r	r2rs rrmzTestTypeAliases.setUp�s��"�n��rc��|jjdd��|j|jjd�jd�y)N�-sr@�rW�string)r2r�r5r�rWrs 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�)r2r�r@r5r�rWr�rs r�test_type_objectz TestTypeAliases.test_type_object�sz�������t�#��.�������/�/��5�:�:�H�E������t�#��.�������/�/��5�:�:�E�BrN)r!r"r#rmrr	r$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��%�rWr#z-mrrr�-tz-u)r��nrr�t�u)r	r2r��expectedrs rrmzTestDefaultValues.setUp�s���"�n��������t�[�$��?������t�Y�Y��?������t�%���<������t�%��0������t�U��3������t�$������t�T��2�%)�!�#�$�#�#�&��
rc�l�|j|jj�|j�yr)r5r2�get_default_valuesr*rs r�test_basic_defaultsz%TestDefaultValues.test_basic_defaults�s#��������7�7�9�4�=�=�Irc���|jjdd��|jjddd��|j	|jj�|j�y)Nr�i����)r'r)r2�set_defaultsr*�updater5r,rs 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-yr6)r2r/r�r*r0r5r,r�rs 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)
rr2�option_classr�r/r*r0r5r,�set_process_default_valuesrs 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#rmr-r1r8r?r$rrr r �s��&� J�J�
J�
Jrr c�(�eZdZdZd�Zd�Zd�Zd�Zy)�TestProgNamez]
    Test that %prog expands to the right thing in usage, version,
    and help strings.
    c�D�|j|j�|�yr)r5�	get_usage�rr2�expected_usages   r�assertUsagezTestProgName.assertUsages������)�)�+�^�<rc�D�|j|j�|�yr)r5�get_version)rr2�expected_versions   r�
assertVersionzTestProgName.assertVersions������+�+�-�/?�@rc�|�tjdd}	tjj	ddd�tjd<tdd��}d}|j
||�|j|d	�|j||d
zdz�|tjddy#|tjddwxYw)Nrr�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
)	rT�argv�os�path�joinr	rFrJre)r�	save_argvr2rEs    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)�progrLrk�-h�	--versionzUsage: thingy arg arg
z
thingy 0.1rM)r	r�rFrJrerDs   r�test_custom_prognamez!TestProgName.test_custom_progname'sj���8�&1�$3�5��	���T�"����[�)�2�������0����6�<�0������� 5�6rN)r!r"r#�__doc__rFrJrSrZr$rrrArA	s���
=�A�$�"	7rrAc�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestExpandDefaultsc��td��|_d|_d|_|jdz|_|jdz|_y)N�test)rWzXUsage: 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]
)r	r2�help_prefix�	file_help�expected_help_file�expected_help_noners rrmzTestExpandDefaults.setUp4sO��"��/������>���"&�"2�"2�I�#J���"&�"2�"2�F�#G��rc��|jjddd|j��|j|j|j�y)N�-f�--file�foo.txt�r#�help)r2r�rarerbrs r�test_option_defaultz&TestExpandDefaults.test_option_defaultBsA�������t�X�'0�$(�N�N�	�	4�	
������T�%<�%<�=rc���|jjdd|j��|jjdd�|j	|j|j
�y)Nrerf�ri�filerg)r2r�ra�set_defaultrerbrs 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)Nrerfrlrg�rm)r2r�rar/rerbrs 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)Nrerfrl�r2r�rarercrs r�test_no_defaultz"TestExpandDefaults.test_no_defaultTs<�������t�X�$(�N�N�	�	4�������T�%<�%<�=rc��|jjddd|j��|j|j|j�y)Nrerfrhrtrs r�test_default_none_1z&TestExpandDefaults.test_default_none_1YsA�������t�X�'+�$(�N�N�	�	4�	
������T�%<�%<�=rc���|jjdd|j��|jjd��|j	|j|j
�y)Nrerfrlrq)r2r�rar/rercrs 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]rlg��Q���?)�probzF  -p PROB, --prob=PROB  blow up with probability PROB [default: 0.43]
)r2r�r/r`re�rrcs  r�test_float_defaultz%TestExpandDefaults.test_float_defaultes_��������(�D�	�	F�	
��� � �d� �+��(�(�U�V�
�������]�3rc���|jjdddd��d|jj_|j	|j|j
�y)Nrerfrgz#read from FILE [default: *DEFAULT*]rhz	*DEFAULT*)r2r��	formatter�default_tagrerbrs r�test_alt_expandz"TestExpandDefaults.test_alt_expandnsP�������t�X�'0�$I�	�	K�-8������)�������T�%<�%<�=rc���|jjdddd��d|jj_|jdz}|j|j|�y)Nrerfrgzread from %default filerhz0  -f FILE, --file=FILE  read from %default file
)r2r�r�r�r`rer}s  r�test_no_expandz!TestExpandDefaults.test_no_expandus]�������t�X�'0�$=�	�	?�-1������)��(�(�?�@�
�������]�3rN)
r!r"r#rmrjrorrrurwryr~r�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�rWr��--foo�append�r��rk�option_list�rr&rr2�rr:s  rrmzTestStandard.setUp�s?���t�(�3��t�W�5�u�E��w�x�8�:��/�^�;B�D��rc�*�|jdgd�y)Nr�z-a option requires 1 argument�rRrs r�test_required_valuez TestStandard.test_required_value�s�����d�V�%D�Erc�,�|jddgd�y)Nr}�5xz&option -b: invalid integer value: '5x'r�rs r�test_invalid_integerz!TestStandard.test_invalid_integer�s�����d�D�\�E�	Grc�*�|jdgd�y)Nz--boo13zno such option: --boo13r�rs 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�rs r�test_long_invalid_integerz&TestStandard.test_long_invalid_integer�s�����j�\�H�	Jrc�2�|jgdddd�g�y)N��ar�r�r=rs r�
test_emptyzTestStandard.test_empty�s�����2�T�$�t�D�b�Irc�:�|jgd�ddddgd�g�y)N)r�r�z
--foo=blahz--foo=r�r4r�r�rs 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�r5r�r�rs r�test_long_option_appendz$TestStandard.test_long_option_append�s&�����C�!%�#'�#3�5��		rc�4�|jdgdddd�g�y)Nz-abc�bcr�r�rs r�test_option_argument_joinedz(TestStandard.test_option_argument_joined�s!�����F�8�!%�d�4�@��	rc�6�|jddgdddd�g�y)Nr��34r�r�rs r�test_option_argument_splitz'TestStandard.test_option_argument_split�s#�����D�$�<�!%�d�4�@��	rc�4�|jdgdddd�g�y)Nz-b34�"r�r�rs r�#test_option_argument_joined_integerz0TestStandard.test_option_argument_joined_integer�s!�����F�8�!%�b��>��	rc�6�|jddgdddd�g�y)Nr}�-5���r�r�rs 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�rs r� test_long_option_argument_joinedz-TestStandard.test_long_option_argument_joined�s!�����J�<�!%�b��>��	rc�6�|jddgdddd�g�y)Nr��111�or�r�rs 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�rs 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�rs r�test_abbrev_long_optionz$TestStandard.test_abbrev_long_option�s&�����I�w�/�!&�t�U�G�D��	rc��|jjg�\}}|jj�}|jt	|�t	|��yr)r2r3r,r5r4)rr:r7r�s    r�
test_defaultszTestStandard.test_defaults�sD���+�+�0�0��4���$��;�;�1�1�3������h���g��7rc�h�|jjdddd��|jdgd�y)N�--fozr�rr�r�rWr�r�z%ambiguous option: --f (--foo, --foz?)�r2r�rRrs 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�rs 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�rs 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�rr�rr�r�r�rs 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�rxrr�rxr�rr�)r�rxr�r�r�rs 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)�-abrxr�r�rtr�r�r�r�rs 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�rtr�r�r�r�rs 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�rs 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�rs 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�rs r�#test_combined_single_invalid_optionz0TestStandard.test_combined_single_invalid_options.�������t�L��9����g�Y�1�	3rN)r!r"r#rmr�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�)rr	r2r�s  rrmzTestBool.setUpsB���t�*�&2�$-�')�	+�
�t�(�&3�$-�/�0��#��9��rc�.�|jgddig�y)Nr�r�r�rs r�test_bool_defaultzTestBool.test_bool_defaults�����2�%�r�?��	rc�p�|jdgddig�\}}|j|jdu�y)Nr�r�rF�r=rDr��rr:r7s   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�rs r�test_bool_flicker_on_and_offz%TestBool.test_bool_flicker_on_and_off)s�����/�%�q�>��	rN)r!r"r#rmr�r�r�r�r$rrr�r�s��
:��
2�1�rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�
TestChoicec�r�tt��|_|jjddddgd���y)Nrj�-cr�r�)�one�two�three)r�rWr�r��r&rr2r�rs rrmzTestChoice.setUp/s2��.�^�D��������t�G�(�$,�6M�	�	Orc�4�|jgd�ddidg�y)N)r�r�r�r�r�r�r�rs 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�rs 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�)r2r�r�r5rWr��rrs  r�test_add_choice_optionz!TestChoice.test_add_choice_option>s]�������t�[�'>�	�	@��k�k�$�$�T�*��������8�,�������W�-rN)r!r"r#rmr�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)Nrjr�r�r�r�r�r�r�r�r��store_constr�r�r�r�)r&rr2r�v_optr�rs rrmzTestCount.setUpFsp��.�^�D��� ��g�I�F��
������t�z�z�*������{��Y��G������t�Y�&3�)�1�	�	Nrc�.�|jgddig�y)Nr�r�rs rr�zTestCount.test_emptyNs�����2�	�4�0�"�5rc�0�|jdgddig�y)Nr�r�r�r�rs r�test_count_onezTestCount.test_count_oneQs�����D�6�I�q�>�2�6rc�0�|jdgddig�y)N�-vvvr��r�rs r�test_count_threezTestCount.test_count_threeTs�����F�8�i��^�R�8rc�2�|jgd�ddig�y)N)r�r�r�r�rr�rs r�test_count_three_apartz TestCount.test_count_three_apartWs�����-�	�1�~�r�Brc�2�|jddgddig�y)Nr
�--verbose=2r�r�r�rs r�test_count_override_amountz$TestCount.test_count_override_amountZs�����F�M�2�Y��N�B�Grc�2�|jgd�ddig�y)N)r
rr�r�rr�rs r�test_count_override_quietz#TestCount.test_count_override_quiet]s�����8�9�a�.�"�Mrc�2�|jgd�ddig�y)N�r
rr�r�r�r�r�rs r�test_count_overridingzTestCount.test_count_overriding`s�����>�%�q�>�2�	/rc�4�|jgd�ddidg�y)N�r��3r�r�r�rr�rs r�test_count_interspersed_argsz&TestCount.test_count_interspersed_argsds�����1�%�q�>��5�	"rc�j�|jj�|jgd�ddiddg�y)Nrr�rrr�)r2�disable_interspersed_argsr=rs r�test_count_no_interspersed_argsz)TestCount.test_count_no_interspersed_argsis1�����-�-�/����1�%�q�>���;�	(rc�,�|jddgd�y)Nz-q3r�zno such option: -3r�rs 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�rs r�test_count_option_no_valuez$TestCount.test_count_option_no_valuers�����k�4�0�C�	Erc�f�|jjdd�|jgddig�y)Nr�r�r2rnr=rs r�test_count_with_defaultz!TestCount.test_count_with_defaultvs,�������	�1�-����2�	�!�}�b�1rc�j�|jjdd�|jgd�ddig�y)Nr�rrr�r&rs r�test_count_overriding_defaultz'TestCount.test_count_overriding_defaultzs0�������	�1�-����>�%�q�>�2�	/rN)r!r"r#rmr�rrrrrrrr 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)	Nrjr{�--pointr�r�float�point�r�r�rWr�r�rs rrmzTestMultipleArgs.setUp�s3��.�^�D��������t�Y�&-�Q�W�7�	�	Trc�6�|jgd�ddiddg�y)N)rr{�1�2.5z-4.3r�r/)g�?�@g333333�rr�r�rs r�test_nargs_with_positional_argsz0TestMultipleArgs.test_nargs_with_positional_args�s#�����C�#�%5�6�!�5�>�	+rc�4�|jgd�ddidg�y)N)r-�-1r3z-0r�r/)g�r4g�r�r�rs 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�rs 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�rs r�test_nargs_required_valuesz+TestMultipleArgs.test_nargs_required_values�s�����6�B�	DrN)r!r"r#rmr5r8r=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)Nrjr{r-r�rr.r/r0rer�r�r�r�r�-z�--zero�append_const�rrrr�rs rrmzTestMultipleArgsAppend.setUp�sx��.�^�D��������t�Y�w�a�$+�'�	�	;������t�W�X�Q�$)��	�	7������t�X�n�$)��	�	9rc�:�|jgd�dddgd�dg�y)N)re�4�-3r4r�r2�666)����)r�i��r/rr4r�rs 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�rs r�!test_nargs_append_required_valuesz8TestMultipleArgsAppend.test_nargs_append_required_values�s�����g�Y�=�	?rc�6�|jddgddgd�g�y)Nz--foo=3rH�rrKrMr�rs r�test_nargs_append_simplez/TestMultipleArgsAppend.test_nargs_append_simple�s$�����I�s�+�%)�&��:��	rc�8�|jgd�dgd�d�g�y)N)rDr�rrHrC)rFrRrFrMr�rs r�test_nargs_append_constz.TestMultipleArgsAppend.test_nargs_append_const�s�����>�%)�1I�J��	rN)r!r"r#rmrNrPrSrUr$rrrArA�s��9�%�
?��
rrAc��eZdZd�Zd�Zy)�TestVersionc�T�ttd��|_tjdd}	t
jjt
jdd�tjd<|jdgd�|tjddy#|tjddwxYw)NrV)rkrLrr�rrYzbar 0.1
)
r&rr2rTrNrOrPrQ�curdirr\)rrRs  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)NrjrYzno such option: --version)r&rr2rRrs r�test_no_versionzTestVersion.test_no_version�s#��.�^�D������k�]�8�	:rN)r!r"r#rZr\r$rrrWrW�s��$�:rrWc�"�eZdZdZd�Zd�Zd�Zy)�TestConflictingDefaultsz4Conflicting default values: the last one should win.c�B�ttdddd��g��|_y)Nr�r�r�r�r�r�)r	rr2rs rrmzTestConflictingDefaults.setUp�s#��"���\�	�1�M�0O�P��rc�l�|jjdddd��|jgddig�y)Nr�r�r�rr��r2r�r=rs r�test_conflict_defaultz-TestConflictingDefaults.test_conflict_default�s8�������t�M�	�'(�	�	*����2�	�1�~�r�2rc�l�|jjdddd��|jgddig�y)Nr�r�r�r�rars r�test_conflict_default_nonez2TestConflictingDefaults.test_conflict_default_none�s9�������t�M�	�'+�	�	-����2�	�4�0�"�5rN)r!r"r#r[rmrbrdr$rrr^r^�s��>�P�3�
6rr^c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestOptionGroupc�.�tt��|_yrirlrs rrmzTestOptionGroup.setUp�rnrc��t|jd�}|jj|�|jddd��|j	dgddig�y)N�Spamz--spamr�zspam spam spam spam�r�ri�spamr�)r
r2�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�r_r2rlrs r�test_add_group_no_groupz'TestOptionGroup.test_add_group_no_group�s"�����T�[�[�9�9�@�$�	Hrc�T�|j|jjddd�yr�rqrs 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)Nriz"invalid OptionGroup (wrong parser))r
r2r	rMrlr�rms  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)r2rl�	set_titler�rD�get_option_grouprms  r�test_group_manipulatez%TestOptionGroup.test_group_manipulate�s]�����,�,�Y�9L�-�N��
���� �
������/�������4�4�Y�?��GrN)	r!r"r#rmrorrrtrvr|r$rrrfrf�s#��9�8�H�>�L�Hrrfc�@�eZdZd�Zd�ZGd�de�Zd�Zd�Zd�Z	y)	�TestExtendAddTypesc��tt|j��|_|jj	dddd��|jj	dddd��y)	N)rkr=r�rr�r�rerfrm)r&r�MyOptionr2r�rs rrmzTestExtendAddTypes.setUp�sN��.�^�<@�M�M�K��������t�T��s��C������t�X�F���Hrc�H�tjjtj�r$tj
tj�ytjj
tj�r$tjtj�yyr)rOrP�isdirr�TESTFN�rmdir�isfile�unlinkrs 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)rOrP�existsrr�rs   r�
check_filez&TestExtendAddTypes.MyOption.check_filesI���7�7�>�>�%�(�&�'@�5�'H�I�I��W�W�^�^�E�*�&�'?�%�'G�H�H��LrrqrmN)r!r"r#r�rrrrr$rrr�r�s7��	����y�(�� �t�y�y��!4�!4�5��)��V�rr�c��tjtj�|jdtjdgtjdd�g�y)Nrf�-afoor)rmr�)r�create_empty_filer�r=rs r�test_filetype_okz#TestExtendAddTypes.test_filetype_oksD���#�#�I�$4�$4�5����H�i�&6�&6��@�$-�$4�$4�5�A��	rc�l�|jdtjdgdtjz�y)Nrfr�r�)rRrr�rs r�test_filetype_noexistz(TestExtendAddTypes.test_filetype_noexists0�����h�	�(8�(8�'�B�6�&�-�-�.�	/rc��tjtj�|j	dtjdgdtjz�y)Nrfr�r�)rO�mkdirrr�rRrs r�test_filetype_notfilez(TestExtendAddTypes.test_filetype_notfilesB��
����!�!�"����h�	�(8�(8�'�B�5�&�-�-�.�	/rN)
r!r"r#rmr�rr�r�r�r�r$rrr~r~�s(��I�(�
*�F�
*��/�
/rr~c�4�eZdZd�ZGd�de�Zd�Zd�Zy)�TestExtendAddActionsc�T�|jddddd��g}t|��|_y)Nr��--apple�extendr�appler�r�)r�r	r2r�s  rrmzTestExtendAddActions.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�r2�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�)rr�r4r�rs r�test_extend_add_actionz+TestExtendAddActions.test_extend_add_action7s#�����K��8�#�%;�<��	rc�6�|jgd�dgd�ig�y)N)r�rz-abarz--apple=x,yr�)rr�r5r6r�rs r�test_extend_add_action_normalz2TestExtendAddActions.test_extend_add_action_normal<s�����@�#�%=�>��	rN)r!r"r#rmrr�r�r�r$rrr�r�$s��8�
+�F�+��
rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�TestCallbackc	��tddd|j��tddd|jdd��g}t|�	�|_y)
Nrr�r�rerfr�filename)r�r�rWr�r�)r�process_optr	r2r�s  rrmzTestCallback.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)	Nrr�r�rfrer�r�r5z!Unknown option %r in process_opt.)r5r�r�rDr2r4r�r5�setattrr�r?�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)Nrz
--file=foorr�r�r�rs r�
test_callbackzTestCallback.test_callbackes"�����D�,�/�(-�B�7��	rc��tt��}|jd�|jdddd�dd�	�d
}|j	||�y)NrjrXr&z--testr�c��yrr$r$rr�<lambda>z1TestCallback.test_callback_help.<locals>.<lambda>qs��4rrr)r�r�rWriz%Options:
  -t TEST, --test=TEST  foo
)r	rr�r�re)rr2rcs   r�test_callback_helpzTestCallback.test_callback_helpjsR���N�3�����T�"����$���#/�h�$�	�	&�9�
�����
�.rN)r!r"r#rmr�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�rWr�r#r�)r�
process_tupler�r	r2r�s  rrmzTestCallbackExtraArgs.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�)
r5rDr�r��mapr��getattrr�r�r�)rrrrr��lenrWs       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)rKr��r�rs r�test_callback_extra_argsz.TestCallbackExtraArgs.test_callback_extra_args�s#�����:�$�w��&8�9��	rN)r!r"r#rmr�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�)�rangerr@�	process_nr	r2)rr5r:s   rrmzTestCallbackMeddleArgs.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�r?r�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)r7rrIr�r��quxr�r�)r�r�r�r�rr�rs r�test_callback_meddle_argsz0TestCallbackMeddleArgs.test_callback_meddle_args�s(�����C�$�x�1F�&G�H��q�6�	#rc�6�|jgd�ddgidg�y)N)z-2rrxr�)rrxr�r�rs r�#test_callback_meddle_args_separatorz:TestCallbackMeddleArgs.test_callback_meddle_args_separator�s"�����.�$�}�o�6��3�	 rN)r!r"r#rmr�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�rWr}�--bobrr�r�)r�process_manyr	r2r�s  rrmzTestCallbackManyArgs.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�dongr}r�r�)if���r�r�r5r�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�rr�r�r�r�r}r2�2rr�z-666r;�0)r��bobr�rs r�test_many_argsz#TestCallbackManyArgs.test_many_args�s"�����!�&*�$�7��		rN)r!r"r#rmr�r�r$rrr�r��s��8�3�rr�c��eZdZd�Zd�Zd�Zy)�TestCallbackCheckAbbrevc�r�t�|_|jjdd|j��y)N�	--foo-barr�r�)r	r2r��check_abbrevrs rrmzTestCallbackCheckAbbrev.setUp�s/��"�n��������{�:�(,�(9�(9�	�	;rc�(�|j|d�y)Nr�r��rrrrr2s     rr�z$TestCallbackCheckAbbrev.check_abbrev�s������k�*rc�,�|jdgig�y)Nr�r�rs r�test_abbrev_callback_expansionz6TestCallbackCheckAbbrev.test_abbrev_callback_expansion�s�����G�9�b�"�-rN)r!r"r#rmr�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�)rWr�r�r}r�rtr�r��
--callbackr��cr�r�)r�
variable_argsr&rr2r�s  rrmzTestCallbackVarArgs.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�rxr�r�)rDr�r�r�r�r�r�)rrrrr2r��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�rr�)rr�rr��r�rtr�r�rs r�test_variable_argsz&TestCallbackVarArgs.test_variable_args�s$�����D�!(�t�5�%�.�I��	rc�<�|jgd�ddgd�d�dg�y)N)r��37rx�xxxr}�helloT)r�rxr�r�r�r�rs 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)r�r�rr�r�)rr�r�r�r�r�rs 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�rr}Trr�r�rs 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�rs r�test_stop_at_invalid_optionz/TestCallbackVarArgs.test_stop_at_invalid_options�����4�6J�KrN)
r!r"r#rmr�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�rir�r�r�s  rrmzConflictBase.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#rmrr$rrrr	s
��D�'rrc�(�eZdZdZd�Zd�Zd�Zd�Zy)�TestConflictz9Use the default conflict resolution for Optik 1.2: error.c���|j|dd|jdd�td�}|j|jd�|j|j
d�y)N)r�rYr��show version�r�r�riz5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--version)rMrr
r5r*�	option_id)rrGrKs   r�assertTrueconflict_errorz%TestConflict.assertTrueconflict_errors`������%�:�59�5F�5F�1?�(A�
 �C�E��	
������"D�E��������7rc�N�|j|jj�yr)rr2r�rs r�test_conflict_errorz TestConflict.test_conflict_error s���%�%�d�k�k�&<�&<�=rc�f�t|jd�}|j|j�y)NzGroup 1)r
r2rr�rms  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')rMr2�set_conflict_handlerr�rs r�test_no_such_conflict_handlerz*TestConflict.test_no_such_conflict_handler's(������K�K�,�,�h���A�	CrN)r!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�rYr�rr)rrmr2rr�rrs rrmzTestConflictResolve.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�rY)r2r�rDr5r�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)NrXz}Options:
  --verbose      increment verbosity
  -h, --help     show this help message and exit
  -v, --version  show version
�r\rs r�test_conflict_resolve_helpz.TestConflictResolve.test_conflict_resolve_helpAs�����4�&�#�	rc�2�|jdgddd�g�y)Nr�r��r�rr�rs r�test_conflict_resolve_short_optz3TestConflictResolve.test_conflict_resolve_short_optIs�����D�6�'+�Q�?��	rc�0�|jdgddig�y)Nr�r�r�r�rs r�test_conflict_resolve_long_optz2TestConflictResolve.test_conflict_resolve_long_optNs�����K�=�%�q�>��	rc�4�|jddgddd�g�y)Nr�rYr�r'r�rs r�test_conflict_resolve_long_optsz3TestConflictResolve.test_conflict_resolve_long_optsSs"�����K��5�'(�!�<��	rN)	r!r"r#rmr"r%r(r*r,r$rrrr-s"��P�@���
�
rrc�$�eZdZd�Zd�Zd�Zd�Zy)�TestConflictOverridec���tt��|_|jjd�|jj	ddddd��|jj	ddd	d
dd��y)
Nrjrr��	--dry-runr��dry_runzdon't do anythingr
rr�zdry run mode)r�r�r�ri)r&rr2rr�rs rrmzTestConflictOverride.setUpYsj��.�^�D������(�(��3������t�[�&2��$7�	�	9�	
�����{�D�&3�2�I�$2�	�	4rc��|jjd�}|j|jdg�|j|jdg�y)Nr0r�)r2r�r5r�r�rs  r�test_conflict_override_optsz0TestConflictOverride.test_conflict_override_optscsB���k�k�$�$�[�1��������4�&�1�������+��7rc�*�|jdgd�y)NrXzXOptions:
  -h, --help     show this help message and exit
  -n, --dry-run  dry run mode
r$rs r�test_conflict_override_helpz0TestConflictOverride.test_conflict_override_helphs�����4�&�#�	rc�0�|jdgddig�y)Nr�r1r�r�rs r�test_conflict_override_argsz0TestConflictOverride.test_conflict_override_argsos�����D�6�%�r�?��	rN)r!r"r#rmr3r5r7r$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_parserr2rs rrmzTestHelp.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)rWr��metavarrir}r�r�r��NUMzeshout "boo!" NUM times (in order to frighten away all the evil spirits that cause trouble and mayhem)r�r�rz*store FOO in the foo list for later fooing)r�rWr�ri�COLUMNSr�)rr�EnvironmentVarGuardr@r&)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)Nrzbar.pyrrX)rTrNrOrPrQr\)rrQrRs   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)rF�_expected_help_basicrs r�	test_helpzTestHelp.test_help�s�����2�3rc�d�|jjd�|jt�y)NzUsage: %prog [options])r2�	set_usagerFrHrs r�test_help_old_usagezTestHelp.test_help_old_usage�s$�������6�7����2�3rc�d�d|jj_|jt�y)Nr)r2r��short_firstrF�_expected_help_long_opts_firstrs 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�80rA)rrBrr2r�rF�_expected_help_title_formatter)rrDs  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<r2rF�_expected_help_short_lines�_expected_very_help_short_linesrs r�test_wrap_columnszTestHelp.test_wrap_columns�sF���&�&�r�*������8�9��&�&�q�)������=�>rc��tt��|_|jjddd��d}|j	|�y)Nrjr�r��olé!rjuKOptions:
  -h, --help  show this help message and exit
  -a          olé!
)r&rr2r�rF�r�expects  r�test_help_unicodezTestHelp.test_help_unicodes>��.�^�D��������t�L�{��K���
	
���f�%rc�V�ttd��|_d}|j|�y)NrZ)rkrxu>olé!

Options:
  -h, --help  show this help message and exit
)r&rr2rFr[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.rjaTUsage: 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.
)r2�set_descriptionr
r�rlrF�epilog)rrnr\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#rmr<rFrIrLrPrTrXr]r_rcr$rrr9r9�s<��+�A�*$�4�4�>�B�?�&�	&�#Orr9c��eZdZd�Zd�Zy)�TestMatchAbbrevc
�F�|jtdddddd��d�y)N�--f)r�r��--fierg)r5rrs r�test_match_abbrevz!TestMatchAbbrev.test_match_abbrev@s/������u�15�15�15�/3�(5�6�
�	 rc�R�d}dddd�}|jt||fdtd�y)Nrg)r�r�rhz,ambiguous option: --f (--fie, --foo, --foz?))rMrr)rr�wordmaps   r�test_match_abbrev_errorz'TestMatchAbbrev.test_match_abbrev_errorHs3���� �4�$�?������A�w�<���J�	LrN)r!r"r#rirlr$rrrere?s
�� �Lrrec�$�eZdZd�Zd�Zd�Zd�Zy)�TestParseNumberc��t�|_|jjdt��|jjdt��y)Nr�r�-l)r&r2r�r�rs rrmzTestParseNumber.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'?)rMrr�r�rB�compilers 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)r5rr�rs 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;rp�0x20r�� )r'�l)r��0b0101z-l010r�r{z-n008z'option -n: invalid integer value: '008'z-l0b0123z*option -l: invalid integer value: '0b0123'rp�0x12xz)option -l: invalid integer value: '0x12x')r=rRrs 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#rmrtr~r�r$rrrnrnPs��/�
G�3�
Jrrnc��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��__main__)HrTrOrBr�unittest�iorr_r�test.supportrr�rrrr	r
rrr
rrrrr�	Exceptionrr&�TestCaser0rgr�r�rrrrr rAr]r�r�r�rr+rArWr^rfr~r�r�r�r�r�r�r�rrrr.rHrOrSrVrWr9rernr�r!�mainr$rr�<module>r�s����	�	�����"��.�.�.�.�#��
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���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists