403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.40
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-2.pyc
3

�
�^��@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�2/opt/alt/python36/lib64/python3.6/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)r�status�msgrrr�exit*szInterceptingOptionParser.exitcCst|d��dS)N)r)r)rr rrr�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)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�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)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)Nzexpected parse failure)r$r%rr'r�assertFalse)r�cmdline_args�expected_outputr6rrr�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)Nz0expected output to be an ordinary string, not %rzexpected: 
'''
z'''
but got 
'''
z'''zexpected parser.exit())�sys�stdoutrr$r%�getvaluerr/r-r,�typer2r'rrr8)rr9r:Zexpected_statusZexpected_errorZsave_stdout�outputr6rrr�assertOutput�s$
 zBaseTest.assertOutputcGs|j||dt|�dS)N)r7�	TypeError)rr3r5r)rrr�assertTypeError�szBaseTest.assertTypeErrorcCs.|j�}||kr*|jd|d|d��dS)Nzhelp text failure; expected:
"z	"; got:
"z"
)�format_helpZfailureException)rr$�
expected_helpZactual_helprrr�
assertHelp�szBaseTest.assertHelp)rN)	rrrr+r7r;rArCrFrrrrr#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)r7rr
)rr5r)r4rrr�assertOptionError�s
z"TestOptionChecks.assertOptionErrorcCs|jtd�dS)Nz+at least one option string must be supplied)rCr)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)rJ)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--)rJ)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---)rJ)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)rJ)rrrr�test_attr_invalid�sz"TestOptionChecks.test_attr_invalidcCs|jddgddi�dS)Nz option -b: invalid action: 'foo'z-b�actionrP)rJ)rrrr�test_action_invalid�sz$TestOptionChecks.test_action_invalidcCs,|jddgddi�|jddgdti�dS)Nz%option -b: invalid option type: 'foo'z-br?rPz'option -b: invalid option type: 'tuple')rJ�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)rSr?)rJ)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)rJ)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--badrZzbad choices)r?�choices)r?rrJ)r�typenamerrr�test_bad_choices_lists
z&TestOptionChecks.test_bad_choices_listcCs|jddgddd��dS)Nz1option -b: must not supply choices for type 'int'z-brXZbad)r?r\)rJ)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�)rS�const)rJ)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-brW�)rS�nargs)rJ)rrrr�test_no_nargs_for_actionsz)TestOptionChecks.test_no_nargs_for_actioncCs|jddgddd��dS)Nz'option -b: callback not callable: 'foo'z-b�callbackrP)rSrg)rJ)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-brgrP)rSrg�
callback_args)rJri)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-brgrP)rSrg�callback_kwargs)rJri)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`rP)rSrg)rJ)rrrr�test_no_callback_for_action0sz,TestOptionChecks.test_no_callback_for_actioncCs|jddgddd��dS)Nz9option -b: callback_args supplied for non-callback optionz-br`rP)rSrj)rJ)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`rP)rSrl)rJ)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)rJ)rrrr�test_no_single_dashBs
z$TestOptionChecks.test_no_single_dashN)rrrrIrJrKrMrNrOrRrTrVrYr[r^r_rcrfrhrirkrmrnrorprqrrrrrG�s.rGc@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)rS�destz-qz--quietz--silent�store_false)rr$�
add_option)rrrrrISs

zTestOptionParser.setUpcCs|j|jjdd�dS)Nznot an Option instance: None)rCr$rw)rrrr�test_add_option_no_OptionZs
z*TestOptionParser.test_add_option_no_OptioncCs|j|jjddd�dS)Nzinvalid arguments)rCr$rw)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--noisyrsrt)	r$�
get_optionZassertIsInstancerr'�_short_opts�
_long_optsrSru)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$rzr/)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$rzr8r�)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)NrPzno such option 'foo')rP)r7r$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<�getrefcountrrw�	big_thingZdestroyr')rr�Zrefcountr$rrr�test_refleak�s
zTestOptionParser.test_refleakN)rrrrIrxryr~rr�r�r�r�r�rZimpl_detailr�rrrrrrRsrrc@seZdZdd�Zdd�ZdS)�TestOptionValuescCsdS)Nr)rrrrrI�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)NrPrQrr�)rP�baz)�defaults)rr'r&ZassertNotEqual)r�values�dictrrr�test_basics�s

zTestOptionValues.test_basicsN)rrrrIr�rrrrr��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestTypeAliasescCst�|_dS)N)rr$)rrrrrI�szTestTypeAliases.setUpcCs*|jjddd�|j|jjd�jd�dS)Nz-sr,)r?�string)r$rwr'rzr?)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-xrX)r$rwr,r'rzr?rX)rrrr�test_type_object�sz TestTypeAliases.test_type_objectN)rrrrIr�r�rrrrr��sr�ra�<�)�s�m�h�dcCsby4|dj�rt|�St|dd��t|dSWn(ttfk
r\td||f��YnXdS)Nrazoption %s: invalid duration: %r���r�r�)�isdigitrX�_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--quietrt)ruz-nrX�%)r?r�z-m)r?z-srPz-tz-u)rt�nr�r��t�u)rr$rw�expected)rrrrrI�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�rwr�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_classrwr�r�r�r'r�Zset_process_default_values)rrrr�test_process_default�sz&TestDefaultValues.test_process_defaultN)rrrrIr�r�r�r�rrrrr��s

r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestProgNamecCs|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)NrPrQzbaz.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�rF)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�rHz-hz	--versionzUsage: thingy arg arg
z
thingy 0.1r�)rr�r�r�rF)rr$r�rrr�test_custom_progname(s

z!TestProgName.test_custom_prognameN)rrrr�r�r�r�rrrrr�
sr�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)rrrrrI5szTestExpandDefaults.setUpcCs*|jjddd|jd�|j|j|j�dS)Nz-fz--filezfoo.txt)r��help)r$rwr�rFr�)rrrr�test_option_defaultCs

z&TestExpandDefaults.test_option_defaultcCs6|jjdd|jd�|jjdd�|j|j|j�dS)Nz-fz--file)r��filezfoo.txt)r$rwr��set_defaultrFr�)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$rwr�r�rFr�)rrrr�test_parser_default_2Os

z(TestExpandDefaults.test_parser_default_2cCs(|jjdd|jd�|j|j|j�dS)Nz-fz--file)r�)r$rwr�rFr�)rrrr�test_no_defaultUs

z"TestExpandDefaults.test_no_defaultcCs*|jjddd|jd�|j|j|j�dS)Nz-fz--file)r�r�)r$rwr�rFr�)rrrr�test_default_none_1Zs

z&TestExpandDefaults.test_default_none_1cCs6|jjdd|jd�|jjdd�|j|j|j�dS)Nz-fz--file)r�)r�)r$rwr�r�rFr�)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$rwr�r�rF)rrErrr�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$rw�	formatter�default_tagrFr�)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$rwr�r�r�rF)rrErrr�test_no_expandvs

z!TestExpandDefaults.test_no_expandN)
rrrrIr�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--boorX�boo)r?ruz--foo�append)rS)rH�option_list)rrr	r$)rr*rrrrI�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�rP)r+)rrrr�
test_empty�szTestStandard.test_emptycCs&|jddddgddddgd�g�dS)Nz-arz
--foo=blahz--foo=r�)r�r�rP)r+)rrrr�"test_shortopt_empty_longopt_append�sz/TestStandard.test_shortopt_empty_longopt_appendcCs*|jdddddgdddddgd�g�dS)Nz--foorQrz--foo=xr�)r�r�rP)r+)rrrr�test_long_option_append�s
z$TestStandard.test_long_option_appendcCs|jdgdddd�g�dS)Nz-abcZbc)r�r�rP)r+)rrrr�test_option_argument_joined�s
z(TestStandard.test_option_argument_joinedcCs|jddgdddd�g�dS)Nz-aZ34)r�r�rP)r+)rrrr�test_option_argument_split�s

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

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

z,TestStandard.test_long_option_argument_splitcCs |jddgdddgd�g�dS)Nz	--foo=barz-axyz�xyzrQ)r�r�rP)r+)rrrr�test_long_option_short_option�s
z*TestStandard.test_long_option_short_optioncCs |jddgdddgd�g�dS)Nz--f=barz-axyzr�rQ)r�r�rP)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�rP)rSr?ruz--f=barz%ambiguous option: --f (--foo, --foz?))r$rwr;)rrrr�test_ambiguous_option�s

z"TestStandard.test_ambiguous_optioncCs$|jddddgdddgd�g�dS)Nz-ar�z--foorQ)r�r�rP)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��{rQ)r�r�rP)r+)rrrr�*test_short_option_split_long_option_append�sz7TestStandard.test_short_option_split_long_option_appendcCs"|jdddgdddd�dg�dS)Nz-arPrQ)r�r�rP)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--rPrQ)r�r�rPz--foo)r+)rrrr�$test_short_option_consumes_separator�s

z1TestStandard.test_short_option_consumes_separatorcCs(|jddddgdddd�ddg�fdS)Nz-abz--z--foorQrL)r�r�rP)r+)rrrr�&test_short_option_joined_and_separator�s
z3TestStandard.test_short_option_joined_and_separatorcCs&|jddddgdddgd�dg�dS)Nz-ab�-z--foorQrL)r�r�rP)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�rQ)r�r�rP)r+)rrrr�test_no_append_versus_append�sz)TestStandard.test_no_append_versus_appendcCs|jddgdddd�g�dS)Nz-az-b3)r�r�rP)r+)rrrr�&test_option_consumes_optionlike_strings

z3TestStandard.test_option_consumes_optionlike_stringcCs"|jjddd�|jdgd�dS)Nz-trs)rSz-testzno such option: -e)r$rwr;)rrrr�#test_combined_single_invalid_optionsz0TestStandard.test_combined_single_invalid_optionN)rrrrIr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrr��s6r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestBoolcCs2tdddddd�tddd	dd
�g}t|d�|_dS)Nz-vz	--verbosersrtr)rSrur�z-qz--quietrv)rSru)r�)rrr$)rr*rrrrI
s
zTestBool.setUpcCs|jgddig�dS)Nrtr)r+)rrrr�test_bool_defaultszTestBool.test_bool_defaultcCs,|jdgddig�\}}|j|jdk�dS)Nz-qrtrF)r+r/rt)rr*r)rrr�test_bool_falses
zTestBool.test_bool_falsecCs,|jdgddig�\}}|j|jdk�dS)Nz-vrtraT)r+r/rt)rr*r)rrr�test_bool_true$s
zTestBool.test_bool_truecCs|jdddgddig�dS)Nz-qvqz-qz-vrtra)r+)rrrr�test_bool_flicker_on_and_off*sz%TestBool.test_bool_flicker_on_and_offN)rrrrIr	r
rrrrrrrs
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestChoicecCs,ttd�|_|jjdddddddgd�dS)	N)rHz-cr`rZ�oneZtwoZthree)rSr?rur\)rr	r$rw)rrrrrI0szTestChoice.setUpcCs|jdddgddidg�dS)Nz-crr�rZ)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)r\rZr`)r$rwrzr'r?rS)rr�rrr�test_add_choice_option?s

z!TestChoice.test_add_choice_optionN)rrrrIrrrrrrrr
/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)rHz-vrWrt)rSruz	--verboserX)r?ruz-qz--quiet�store_constr)rSrurb)rr	r$r�v_optrw)rrrrrIGs
zTestCount.setUpcCs|jgddig�dS)Nrt)r+)rrrrr�OszTestCount.test_emptycCs|jdgddig�dS)Nz-vrtra)r+)rrrr�test_count_oneRszTestCount.test_count_onecCs|jdgddig�dS)Nz-vvvrt�)r+)rrrr�test_count_threeUszTestCount.test_count_threecCs|jdddgddig�dS)Nz-vrtr)r+)rrrr�test_count_three_apartXsz TestCount.test_count_three_apartcCs|jddgddig�dS)Nz-vvvz--verbose=2rtrd)r+)rrrr�test_count_override_amount[sz$TestCount.test_count_override_amountcCs|jdddgddig�dS)Nz-vvvz--verbose=2z-qrtr)r+)rrrr�test_count_override_quiet^sz#TestCount.test_count_override_quietcCs|jddddgddig�dS)Nz-vvvz--verbose=2z-qz-vrtra)r+)rrrr�test_count_overridingaszTestCount.test_count_overridingcCs|jdddgddidg�dS)Nz--quiet�3z-vrtra)r+)rrrr�test_count_interspersed_argsesz&TestCount.test_count_interspersed_argscCs*|jj�|jdddgddiddg�dS)Nz--quietrz-vrtr)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)Nrtr)r$r�r+)rrrr�test_count_with_defaultwsz!TestCount.test_count_with_defaultcCs,|jjdd�|jddddgddig�dS)Nrtrz-vvvz--verbose=2z-qz-vra)r$r�r+)rrrr�test_count_overriding_default{sz'TestCount.test_count_overriding_defaultN)rrrrIr�rrrrrrrr r!r"r#r$rrrrrFsrc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestMultipleArgscCs(ttd�|_|jjddddddd�dS)	N)rHz-pz--pointr`r�float�point)rSrer?ru)rr	r$rw)rrrrrI�s
zTestMultipleArgs.setUpcCs&|jddddddgddiddg�dS)
NrPz-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)rrrrIr,r0r1r2rrrrr%�s
r%c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestMultipleArgsAppendcCsVttd�|_|jjddddddd�|jjd	d
ddd
dd�|jjdddddd�dS)N)rHz-pz--pointr`rr&r')rSrer?ruz-fz--foor�rdrXrPz-zz--zero�append_constr)rSrurb)rr)rr	r$rw)rrrrrI�s

zTestMultipleArgsAppend.setUpcCs,|jdddddddgdddgd�dg�dS)Nz-f�4z-3r�z--foor(Z666�rra�)r'rP���)r6r8)rar7)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=3r5rr6)r'rP)rr6)r+)rrrr�test_nargs_append_simple�s

z/TestMultipleArgsAppend.test_nargs_append_simplecCs(|jdddddgdd
ddgd	�g�dS)
Nz--zeroz--foorr5z-zrrr6)r'rP)rr)rr6)rr)r+)rrrr�test_nargs_append_const�sz.TestMultipleArgsAppend.test_nargs_append_constN)rrrrIr9r:r;r<rrrrr3�s
	r3c@seZdZdd�Zdd�ZdS)�TestVersionc
Cs\ttdd�|_tjdd�}z*tjjtjdd�tjd<|j	dgd�Wd|tjdd�<XdS)Nz	%prog 0.1)rHr�rPrQrz	--versionzbar 0.1
)
rr	r$r<r�r�r�r��curdirrA)rr�rrr�test_version�s
zTestVersion.test_versioncCsttd�|_|jdgd�dS)N)rHz	--versionzno such option: --version)rr	r$r;)rrrr�test_no_version�szTestVersion.test_no_versionN)rrrr?r@rrrrr=�s
r=c@s$eZdZdd�Zdd�Zdd�ZdS)�TestConflictingDefaultscCsttddddd�gd�|_dS)Nz-vrsrtra)rSrur�)r�)rrr$)rrrrrI�szTestConflictingDefaults.setUpcCs*|jjddddd�|jgddig�dS)Nz-qrvrtr)rSrur�)r$rwr+)rrrr�test_conflict_default�sz-TestConflictingDefaults.test_conflict_defaultcCs*|jjddddd�|jgddig�dS)Nz-qrvrt)rSrur�)r$rwr+)rrrr�test_conflict_default_none�sz2TestConflictingDefaults.test_conflict_default_noneN)rrrrIrBrCrrrrrA�srAc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestOptionGroupcCsttd�|_dS)N)rH)rr	r$)rrrrrI�szTestOptionGroup.setUpcCs@t|jd�}|jj|�|jdddd�|jdgddig�dS)N�Spamz--spamrszspam spam spam spam)rSr�Zspamra)rr$�add_option_grouprwr+)r�grouprrr�!test_option_group_create_instance�s
z1TestOptionGroup.test_option_group_create_instancecCs|j|jjdd�dS)Nz!not an OptionGroup instance: None)rCr$rF)rrrr�test_add_group_no_group�s
z'TestOptionGroup.test_add_group_no_groupcCs|j|jjddd�dS)Nzinvalid arguments)rCr$rF)rrrr� test_add_group_invalid_arguments�s
z0TestOptionGroup.test_add_group_invalid_argumentscCs0t|jd�}t�|_|j|jj|fdtd�dS)NrEz"invalid OptionGroup (wrong parser))rr$rr7rFr�)rrGrrr�test_add_group_wrong_parser�sz+TestOptionGroup.test_add_group_wrong_parsercCs@|jjddd�}|jd�|jddd�|j|jjd�|�dS)NzGroup 2zSome more options)�descriptionZBaconz--baconrX)r?)r$rFZ	set_titlerwr/Zget_option_group)rrGrrr�test_group_manipulate�s

z%TestOptionGroup.test_group_manipulateN)	rrrrIrHrIrJrKrMrrrrrD�srDc@sDeZdZdd�Zdd�ZGdd�de�Zdd�Zd	d
�Zdd�Z	d
S)�TestExtendAddTypescCs<tt|jd�|_|jjddddd�|jjddddd�dS)	N)rHr�z-ar�r�)r?ruz-fz--filer�)rr	�MyOptionr$rw)rrrrrI�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
rS)r�r�r�rrr�
check_files
z&TestExtendAddTypes.MyOption.check_filer�N)r�)rrrrWrr�r�r�rrrrrOs
rOcCs.tjtj�|jdtjdgtjdd�g�dS)Nz--filez-afoorP)r�r�)rZcreate_empty_filerQr+)rrrr�test_filetype_oks
z#TestExtendAddTypes.test_filetype_okcCs|jdtjdgdtj�dS)Nz--filez-afooz%s: file does not exist)r;rrQ)rrrr�test_filetype_noexistsz(TestExtendAddTypes.test_filetype_noexistcCs*tjtj�|jdtjdgdtj�dS)Nz--filez-afooz%s: not a regular file)r��mkdirrrQr;)rrrr�test_filetype_notfilesz(TestExtendAddTypes.test_filetype_notfileN)
rrrrIrUrrOrXrYr[rrrrrN�srNc@s4eZdZdd�ZGdd�de�Zdd�Zdd�Zd	S)
�TestExtendAddActionscCs&|jdddddd�g}t|d�|_dS)Nz-az--apple�extendr��apple)rSr?ru)r�)rOrr$)rr*rrrrI&s
zTestExtendAddActions.setUpc@s2eZdZejdZejdZejdZdd�ZdS)zTestExtendAddActions.MyOptionr]cCs@|dkr&|jd�}|j|g�j|�ntj|||||||�dS)Nr]�,)�split�ensure_valuer]r�take_action)rrSrur�r�r�r$Zlvaluerrrrb0s

z)TestExtendAddActions.MyOption.take_actionN)r])r])r])rrrrZACTIONSZ
STORE_ACTIONSZ
TYPED_ACTIONSrbrrrrrO+s


rOcCs |jddgddddgig�dS)Nz	-afoo,barz--apple=blahr^rPrQr�)r+)rrrr�test_extend_add_action8s
z+TestExtendAddActions.test_extend_add_actioncCs&|jddddgdddddgig�dS)	Nz-arPz-abarz--apple=x,yr^rQr�r�)r+)rrrr�test_extend_add_action_normal=sz2TestExtendAddActions.test_extend_add_action_normalN)rrrrIrrOrcrdrrrrr\%s
r\c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCallbackc	Cs8tddd|jd�tddd|jddd�g}t|d	�|_dS)
Nz-xrg)rSrgz-fz--filer��filename)rSrgr?ru)r�)r�process_optrr$)rr*rrrrIEs
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-xrfr�z--filez-frP)rfr�z!Unknown option %r in process_opt.)r'r{r|r/r$r&r�r��setattrrur2)rr�r�r��parser_rrrrgRs
zTestCallback.process_optcCs|jddgddd�g�dS)Nz-xz
--file=foorPr�)rfr�)r+)rrrr�
test_callbackfs
zTestCallback.test_callbackcCsBttd�}|jd�|jddddd�dd	d
�d}|j||�dS)N)rHz-hz-tz--testrgcSsdS)Nrrrrr�<lambda>rsz1TestCallback.test_callback_help.<locals>.<lambda>r�rP)rSrgr?r�z%Options:
  -t TEST, --test=TEST  foo
)rr	r�rwrF)rr$rErrr�test_callback_helpks


zTestCallback.test_callback_helpN)rrrrIrgrjrlrrrrreDs
rec@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackExtraArgsc
Cs0tddd|jdtfddgd�g}t|d�|_dS)	Nz-pz--pointrgrr��points)rSrgrjr?rur�)r�)r�
process_tuplerXrr$)rr*rrrrI{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/rXrU�mapr`�getattrr�rur�)rr�r�r�ri�lenr?rrrro�sz#TestCallbackExtraArgs.process_tuplecCs |jdddgdddgig�dS)
Nz-p1,2,3z--pointz4,5,6rnrardrr6r��)rardr)r6r�rs)r+)rrrr�test_callback_extra_args�s
z.TestCallbackExtraArgs.test_callback_extra_argsN)rrrrIrortrrrrrmzsrmc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCallbackMeddleArgscs*�fdd�tddd�D�}t|d��_dS)	Ncs"g|]}tt|�d�jdd��qS)rg�things)rSrgru)rr,�	process_n)�.0r�)rrr�
<listcomp>�sz0TestCallbackMeddleArgs.setUp.<locals>.<listcomp>rars)r�r�i����r�)�rangerr$)rr*r)rrrI�s
zTestCallbackMeddleArgs.setUpcCstt|dd��}|j}t|�|kr4|jd||f�|jj|jg�}|jt|d|���|j	j|�|d|�=dS)Nraz$Expected %d arguments for %s option.r)
rX�rargsrrr2r�rarur�rUZlargs)rr�r�r�rirer{rurrrrw�sz TestCallbackMeddleArgs.process_ncCs*|jddddddgdd
dgidd	g�dS)Nz-1rPz-3rQr��quxrvrar)rP)rQr�r|)r+)rrrr�test_callback_meddle_args�s
z0TestCallbackMeddleArgs.test_callback_meddle_argscCs |jdddgddgidg�dS)Nz-2rP�--rvrd)rPr~)r+)rrrr�#test_callback_meddle_args_separator�sz:TestCallbackMeddleArgs.test_callback_meddle_args_separatorN)rrrrIrwr}rrrrrru�sruc@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackManyArgsc	Cs<tdddd|jdd�tdddd	|jd
d�g}t|d�|_dS)Nz-az--applergrdr�)rSrergr?z-bz--bobrrX)r�)r�process_manyrr$)rr*rrrrI�s



zTestCallbackManyArgs.setUpcCsZ|dkr|j|d�n@|dkr,|j|d�n*|dkrB|j|d�n|dkrV|j|d�dS)Nz-arPrQz--apple�ding�dongz-brardrz--bobi�r�r)rPrQ)r�r�)rardr�f���)r�r�r)r')rr�r�r�rirrrr��sz!TestCallbackManyArgs.process_manycCs4|jddddddddd	d
ddd
dgddd�g�dS)Nz-arPrQz--appler�r�z-br(�2rz--bobz-666r��0)r^Zbob)r+)rrrr�test_many_args�s
z#TestCallbackManyArgs.test_many_argsN)rrrrIr�r�rrrrr��s
r�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestCallbackCheckAbbrevcCs t�|_|jjdd|jd�dS)Nz	--foo-barrg)rSrg)rr$rw�check_abbrev)rrrrrI�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)rrrrIr�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-arXrdr�)r?reruz-brsrL)rSruz-cz
--callbackrg�c)rSrgru)rHr�)r�
variable_argsrr	r$)rr*rrrrI�szTestCallbackVarArgs.setUpcCs�|j|dk�g}|j}xh|r�|d}|dd�dkrBt|�dksj|dd�dkrnt|�dkrn|ddkrnPq|j|�|d=qWt|j|j|�dS)Nrrdz--rar)r/r{rrr�rhr�ru)rr�r�r�r$r{�argrrrr��s(

z!TestCallbackVarArgs.variable_argscCs(|jdddddgd
dddgd�g�dS)Nz-a3z-5z
--callbackrPrQrr�)r�rLr�r�)rr�)r+)rrrr�test_variable_args�sz&TestCallbackVarArgs.test_variable_argscCs.|jddddddgdddddgd�dg�dS)	Nz-cZ37z--Zxxxz-b�helloT)r�rLr�)r+)rrrr�%test_consume_separator_stop_at_option�s
z9TestCallbackVarArgs.test_consume_separator_stop_at_optioncCs,|jdddddgdddddgd�dg�dS)Nr�z-crPrrQ)r�rLr�)r+)rrrr�%test_positional_arg_and_variable_args�s
z9TestCallbackVarArgs.test_positional_arg_and_variable_argscCs"|jdddgdddgd�g�dS)Nz-crPz-bT)r�rLr�)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)
rrrrIr�r�r�r�r�r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�ConflictBasecCs&tdddddd�g}tt|d�|_dS)Nz-vz	--verboserWrtzincrement verbosity)rSrur�)rHr�)rrr	r$)rr*rrrrIszConflictBase.setUpcCsd|j_dS)Nra)r��show_version)rr�r�r�r$rrrr�szConflictBase.show_versionN)rrrrIr�rrrrr�
sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestConflictcCs<|j|d	d|jdd�td�}|j|jd�|j|jd�dS)
N�-v�	--versionrgzshow version)rSrgr�z5option -v/--version: conflicting option string(s): -vz conflicting option string(s): -vz-v/--version)r�r�)r7r�rr'r Z	option_id)rr3r6rrr�assertTrueconflict_errorsz%TestConflict.assertTrueconflict_errorcCs|j|jj�dS)N)r�r$rw)rrrr�test_conflict_error!sz TestConflict.test_conflict_errorcCst|jd�}|j|j�dS)NzGroup 1)rr$r�rw)rrGrrr�test_conflict_error_group$sz&TestConflict.test_conflict_error_groupcCs|j|jjddtd�dS)NrPz'invalid conflict_resolution value 'foo')rP)r7r$�set_conflict_handlerr�)rrrr�test_no_such_conflict_handler(s
z*TestConflict.test_no_such_conflict_handlerN)rrrr�r�r�r�rrrrr�sr�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestConflictResolvecCs2tj|�|jjd�|jjddd|jdd�dS)N�resolvez-vz	--versionrgzshow version)rSrgr�)r�rIr$r�rwr�)rrrrrI/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$rzr/r'r|r{)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
)rA)rrrr�test_conflict_resolve_helpBsz.TestConflictResolve.test_conflict_resolve_helpcCs|jdgddd�g�dS)Nz-vra)rtr�)r+)rrrr�test_conflict_resolve_short_optJsz3TestConflictResolve.test_conflict_resolve_short_optcCs|jdgddig�dS)Nz	--verbosertra)r+)rrrr�test_conflict_resolve_long_optOsz2TestConflictResolve.test_conflict_resolve_long_optcCs|jddgddd�g�dS)Nz	--verbosez	--versionra)rtr�)r+)rrrr�test_conflict_resolve_long_optsTs
z3TestConflictResolve.test_conflict_resolve_long_optsN)	rrrrIr�r�r�r�r�rrrrr�.s
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestConflictOverridecCsJttd�|_|jjd�|jjdddddd�|jjddd	d
ddd�dS)
N)rHr�z-nz	--dry-runrs�dry_runzdon't do anything)rSrur�rr�zdry run mode)rSrbrur�)rr	r$r�rw)rrrrrIZs

zTestConflictOverride.setUpcCs0|jjd�}|j|jdg�|j|jdg�dS)Nz	--dry-runz-n)r$rzr'r{r|)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
)rA)rrrr�test_conflict_override_helpisz0TestConflictOverride.test_conflict_override_helpcCs|jdgddig�dS)Nz-nr�r�)r+)rrrr�test_conflict_override_argspsz0TestConflictOverride.test_conflict_override_argsN)rrrrIr�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$)rrrrrI�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?ru�metavarr�z-bz--boorXr�ZNUMzeshout "boo!" NUM times (in order to frighten away all the evil spirits that cause trouble and mayhem)z--foor�rPz*store FOO in the foo list for later fooing)rSr?rur��COLUMNS)r�)rr�EnvironmentVarGuardr,r)r�columnsr*�envrrrr��s



zTestHelp.make_parserc
CsJtjdd�}z&tjjdd�tjd<|jdg|�Wd|tjdd�<XdS)NrPzbar.pyrz-h)r<r�r�r�r�rA)rr:r�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)rHz-arsuolé!)rSr�uKOptions:
  -h, --help  show this help message and exit
  -a          olé!
)rr	r$rwr�)r�expectrrr�test_help_unicodeszTestHelp.test_help_unicodecCs ttdd�|_d}|j|�dS)Nuolé!)rHrLu>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-grsz
Group option.)rSr�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_descriptionrrwrFr��epilog)rrGr�rrr�test_help_description_groupss
z%TestHelp.test_help_description_groupsN)rrrrIr�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?))r7rr)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$rwrX)rrrrrIRszTestParseNumber.setUpcCs<|jtdtfittjd��|jtdtfittjd��dS)Nrz!invalid literal for int().*: '?'?Z0xOoopsz*invalid literal for int().*: s?'?0xOoops'?)r7rrXr��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'rrX)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)rrrrIr�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#rGrrr�r�r�r�r�r�r�r�r�rr
rr%r3r=rArDrNr\rermrur�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