HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/python3.6/test/__pycache__/test_getargs2.cpython-36.pyc
3


 \���@sddlZddlZddlZddlZddlmZejd�ZddlmZm	Z	dZ
dZddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZejjZed�Z ed	�Z!dXZ"dZZ#d\Z$Gdd�d�Z%Gdd�de&�Z'Gdd�d�Z(Gdd�d�Z)Gdd�de&�Z*Gdd�d�Z+Gdd�de�Z,Gdd�de�Z-Gdd�d�Z.Gd d!�d!�Z/Gd"d#�d#e�Z0Gd$d%�d%�Z1Gd&d'�d'e2�Z3Gd(d)�d)e2�Z4Gd*d+�d+�Z5Gd,d-�d-�Z6Gd.d/�d/e2�Z7Gd0d1�d1e8�Z9Gd2d3�d3e:�Z;Gd4d5�d5ej<�Z=Gd6d7�d7ej<�Z>Gd8d9�d9ej<�Z?Gd:d;�d;ej<�Z@Gd<d=�d=�ZAGd>d?�d?ej<�ZBGd@dA�dAej<�ZCGdBdC�dCej<�ZDGdDdE�dEej<�ZEGdFdG�dGej<�ZFGdHdI�dIej<�ZGGdJdK�dKej<�ZHGdLdM�dMej<�ZIGdNdO�dOej<�ZJGdPdQ�dQej<�ZKGdRdS�dSej<�ZLGdTdU�dUej<�ZMeNdVk�rejO�dS)]�N)�support�	_testcapi)�getargs_keywords�getargs_keyword_onlyi���lB$$HH�!`?)�	UCHAR_MAX�	USHRT_MAX�UINT_MAX�	ULONG_MAX�INT_MAX�INT_MIN�LONG_MIN�LONG_MAX�PY_SSIZE_T_MIN�PY_SSIZE_T_MAX�SHRT_MIN�SHRT_MAX�FLT_MIN�FLT_MAX�DBL_MIN�DBL_MAX�inf�nan��?��@c@seZdZdd�ZdS)�IntcCsdS)N�c�)�selfrr�%/usr/lib64/python3.6/test_getargs2.py�__int__9szInt.__int__N)�__name__�
__module__�__qualname__r!rrrr r8src@seZdZdd�ZdS)�IntSubclasscCsdS)Nrr)rrrr r!=szIntSubclass.__int__N)r"r#r$r!rrrr r%<sr%c@seZdZdd�ZdS)�BadIntcCsdS)Ng�?r)rrrr r!AszBadInt.__int__N)r"r#r$r!rrrr r&@sr&c@seZdZdd�ZdS)�BadInt2cCsdS)NTr)rrrr r!EszBadInt2.__int__N)r"r#r$r!rrrr r'Dsr'c@seZdZdd�ZdS)�BadInt3cCsdS)NTr)rrrr r!IszBadInt3.__int__N)r"r#r$r!rrrr r(Hsr(c@seZdZdd�ZdS)�FloatcCsdS)Ng@r)rrrr �	__float__NszFloat.__float__N)r"r#r$r*rrrr r)Msr)c@seZdZdS)�
FloatSubclassN)r"r#r$rrrr r+Qsr+c@seZdZdd�ZdS)�FloatSubclass2cCsdS)Ng@r)rrrr r*UszFloatSubclass2.__float__N)r"r#r$r*rrrr r,Tsr,c@seZdZdd�ZdS)�BadFloatcCsdS)Ni�r)rrrr r*YszBadFloat.__float__N)r"r#r$r*rrrr r-Xsr-c@seZdZdd�ZdS)�	BadFloat2cCstd�S)Ng@)r+)rrrr r*]szBadFloat2.__float__N)r"r#r$r*rrrr r.\sr.c@seZdZdd�ZdS)�	BadFloat3cCstd�S)Ng@)r+)rrrr r*aszBadFloat3.__float__N)r"r#r$r*rrrr r/`sr/c@seZdZdd�ZdS)�ComplexcCsdS)Ng@y�?y@�?r)rrrr �__complex__fszComplex.__complex__N)r"r#r$r1rrrr r0esr0c@seZdZdS)�ComplexSubclassN)r"r#r$rrrr r2isr2c@seZdZdd�ZdS)�ComplexSubclass2cCsdS)Ng@y�?y@�?r)rrrr r1mszComplexSubclass2.__complex__N)r"r#r$r1rrrr r3lsr3c@seZdZdd�ZdS)�
BadComplexcCsdS)Ng�?r)rrrr r1qszBadComplex.__complex__N)r"r#r$r1rrrr r4psr4c@seZdZdd�ZdS)�BadComplex2cCstd�S)Ng@y�?y@�?)r2)rrrr r1uszBadComplex2.__complex__N)r"r#r$r1rrrr r5tsr5c@seZdZdd�ZdS)�BadComplex3cCstd�S)Ng@y�?y@�?)r2)rrrr r1yszBadComplex3.__complex__N)r"r#r$r1rrrr r6xsr6c@seZdZdS)�
TupleSubclassN)r"r#r$rrrr r7}sr7c@seZdZdS)�DictSubclassN)r"r#r$rrrr r8�sr8c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�Unsigned_TestCasecCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|d�|jd|d��|jt
|t
��|jt|t
d�|jd|d��|jt|t�dS)Nr)�	getargs_bg��Q�	@rr�*���)rr:�assertRaises�	TypeError�assertEqualrr%r&�assertWarns�DeprecationWarningr'r(�
OverflowErrorr�
VERY_LARGE)rr:rrr �test_b�szUnsigned_TestCase.test_bcCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|d��|jd|d��|jt|t��|jd|td��|jd|d��|jtt
@|t
��dS)Nr)�	getargs_Bg��Q�	@rrr;r<)rrEr=r>r?rr%r&r@rAr'r(rrC)rrErrr �test_B�szUnsigned_TestCase.test_BcCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|d��|jd|d��|jt|t��|jd|td��|jd|d��|jt
t@|t
��dS)Nr)�	getargs_Hg��Q�	@rrr;r<)rrGr=r>r?rr%r&r@rAr'r(rrC)rrGrrr �test_H�szUnsigned_TestCase.test_HcCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|d��|jd|d��|jt|t��|jd|td��|jd|d��|jt
t@|t
��dS)Nr)�	getargs_Ig��Q�	@rrr;r<)rrIr=r>r?rr%r&r@rAr'r(rrC)rrIrrr �test_I�szUnsigned_TestCase.test_IcCs�ddlm}|jt|d�|jt|t��|jd|t���|jt|t��|jt|t��|jd|t	���|jt
|d��|jd|d��|jt
|t
��|jd|t
d��|jd|d��|jtt
@|t��dS)Nr)�	getargs_kg��Q�	@rr;r<)rrKr=r>rr?r%r&r'r(r	rC)rrKrrr �test_k�szUnsigned_TestCase.test_kN)r"r#r$rDrFrHrJrLrrrr r9�s
r9c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�Signed_TestCasecCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|t
d�|jt
|t
��|jt|t��|jt|td�|jd|d��|jt|t�dS)Nr)�	getargs_hg��Q�	@rrr;)rrNr=r>r?rr%r&r@rAr'r(rBrrrC)rrNrrr �test_h�szSigned_TestCase.test_hcCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|t
d�|jt
|t
��|jt|t��|jt|td�|jd|d��|jt|t�dS)Nr)�	getargs_ig��Q�	@rrr;)rrPr=r>r?rr%r&r@rAr'r(rBrr
rC)rrPrrr �test_i�szSigned_TestCase.test_icCs�ddlm}|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|t
d�|jt
|t
��|jt|t��|jt|td�|jd|d��|jt|t�dS)Nr)�	getargs_lg��Q�	@rrr;)rrRr=r>r?rr%r&r@rAr'r(rBrr
rC)rrRrrr �test_lszSigned_TestCase.test_lcCs�ddlm}|jt|d�|jt|t��|jd|t���|jt|t��|jt|t��|jd|t	���|jt
|td�|jt|t��|jt|t��|jt
|td�|jd|d��|jt
|t
�dS)Nr)�	getargs_ng��Q�	@rr;)rrTr=r>rr?r%r&r'r(rBrrrC)rrTrrr �test_n!szSigned_TestCase.test_nN)r"r#r$rOrQrSrUrrrr rM�srMc@seZdZdd�Zdd�ZdS)�LongLong_TestCasecCs�ddlm}|jt|d�|jt|d�|jd|t���|jd|t���|jt|t��|jt	��|jd|t
���WdQRX|jd|t���|jt|t
d�|jt
|t
��|jt|t��|jt|td�|jd|d��|jt|t�dS)Nr)�	getargs_Lg��Q�	@�Hellorrr;)rrWr=r>r?rr%r&r@rAr'r(rB�	LLONG_MIN�	LLONG_MAXrC)rrWrrr �test_L6szLongLong_TestCase.test_LcCs�ddlm}|jt|d�|jt|t��|jd|t���|jt|t��|jt|t��|jd|t	���|jt
|t
��|jd|d��|jd|t
d��|jd|d��|jtt
@|t��dS)Nr)�	getargs_Kg��Q�	@rr;)rr\r=r>rr?r%r&r'r(�
ULLONG_MAXrC)rr\rrr �test_KKszLongLong_TestCase.test_KN)r"r#r$r[r^rrrr rV5srVc@s:eZdZdd�Zdd�Zejdd��Zdd�Zd	d
�Z	dS)�Float_TestCasecCs,|j||�|jtjd|�tjd|��dS)Nr)r?�mathZcopysign)r�actualZexpectedrrr �assertEqualWithSign_sz"Float_TestCase.assertEqualWithSignc
Cs�ddlm}|j|d�d�|j|d�d�|jt|d	�|j|t��d�|j|td��d�|j|td��d�|jt|t��|j	t
��|j|t��d�WdQRX|j|td��d�x.t
t
ttttfD]}|j||�|�q�Wttk�r|j|t�t�|j|t�t�t
tk�rJ|j|t�d�|j|t�d
�|j|d�d�|j|d�d�|t�}|j||�dS)
Nr)�	getargs_fg@�g@yg@gy@g�g�g�)rrcr?r=r>r)r+r,r-r@rAr.r/rr�INFrrrb�NAN�assertNotEqual)rrc�x�rrrr �test_fcs.

zFloat_TestCase.test_fcCs2ddlm}|j|d�t�|j|d�t�dS)Nr)rcgn���Ggn����)rrcr?r)rrcrrr �test_f_rounding}szFloat_TestCase.test_f_roundingc
CsLddlm}|j|d�d�|j|d�d�|jt|d
�|j|t��d�|j|td��d�|j|td��d�|jt|t��|j	t
��|j|t��d�WdQRX|j|td��d�x.t
t
ttttfD]}|j||�|�q�W|jt|dt>�|jt|dt>�|j|d	�d	�|j|d�d
�|t�}|j||�dS)Nr)�	getargs_dg@rdg@yg@rgy@r<g�g�)rrlr?r=r>r)r+r,r-r@rAr.r/rrrerB�DBL_MAX_EXPrbrfrg)rrlrhrirrr �test_d�s&zFloat_TestCase.test_dcCsdddlm}|j|d�d
�|j|d�d�|j|d�d�|j|t��d�|j|td��d�|j|td��d�|jt|t��|j|t	��d�|j|t
d��d�xRttttt
t
fD]8}t|d
�}|j||�|�td
|�}|j||�|�q�W|j|tdd
��jd�|j|tdd
��jd�|j|td
d��jd�|j|td
d��jd�dS)Nr)�	getargs_Dg@y�?yrdg@g@y�?g�?gy@�?y@�?y@y@y@�?y@�?y@�?y@�?y@�?y@�?y@�?y@�?g�g�g�g�)rror?r0r2r3r=r>r4r5r6rrre�complexrb�real�imag)rrorh�crrr �test_D�s&

zFloat_TestCase.test_DN)
r"r#r$rbrjrZrequires_IEEE_754rkrnrtrrrr r_^s
r_c@seZdZdZdd�ZdS)�ParadoxzThis statement is false.cCst�dS)N)�NotImplementedError)rrrr �__bool__�szParadox.__bool__N)r"r#r$�__doc__rwrrrr ru�sruc@seZdZdd�ZdS)�Boolean_TestCasecCsHddlm}|jd|d��|jd|d��|jd|d��|jd|d��|jd|d��|jd|d��|jd|f��|jd|g��|jd|i��|jd|d��|jd|d��|jd|d	��|jd|d
��|jd|d��|jd|d
��|jd|dg��|jd|ddi��|jd|tj��|jt|t��dS)Nr)�	getargs_pFgy�rTg�?y�?rhr)r)rrzr?�unittest�TestCaser=rvru)rrzrrr �test_p�s(zBoolean_TestCase.test_pN)r"r#r$r~rrrr ry�sryc@seZdZdd�Zdd�ZdS)�Tuple_TestCasecCsddlm}|dd�}|j|d�|jt|�t�|dd��}|j|d	�|jt|�t�|ddg�}|j|d
�|jt|�t�|tddg��}|j|d�|jt|�t�|�}|j|fdf�|jt|�ttd�f�|f�}|j|fdf�|jt|�ttd�f�dS)Nr)�get_argsrr�)rr)r)rr�)rrr�)rr)rr)rr�r?�assertIs�type�tupler7�assertIn)rr��retrrr �	test_args�s&
zTuple_TestCase.test_argscCsFddlm}|dd�}|j|d	�Gdd�d�}|jt|d|��dS)
Nr)�
getargs_tuplerrr�c@seZdZdd�Zdd�ZdS)z&Tuple_TestCase.test_tuple.<locals>.seqcSsdS)Nrr)rrrr �__len__�sz.Tuple_TestCase.test_tuple.<locals>.seq.__len__cSst�dS)N)�
ValueError)r�nrrr �__getitem__�sz2Tuple_TestCase.test_tuple.<locals>.seq.__getitem__N)r"r#r$r�r�rrrr �seq�sr�)rr�)rrr�)rr�r?r=r>)rr�r�r�rrr �
test_tuple�s

zTuple_TestCase.test_tupleN)r"r#r$r�r�rrrr r�src@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�Keywords_TestCasecCsddlm}|ddd�}|j|ddd��|jt|�t�|fddiddd���}|j|dddd	��|jt|�t�|ftddd���}|j|ddd��|jt|�t�|�}|j|idf�|jt|�ttd�f�|fi�}|j|idf�|jt|�ttd�f�dS)
Nr)�
get_kwargsrr)�a�br�r�)r�rs)r�r�rs)rr�r?r�r��dictr8r�)rr�r�rrr �test_kwargs�s 
zKeywords_TestCase.test_kwargscCs|jtddd
dd
�d�dS)Nrrr�rd�����	�
)rr�r�r�)rdr�)r�r�r�)
rrr�rdr�r�r�r�r�r�)r?r)rrrr �test_positional_argssz&Keywords_TestCase.test_positional_argscCs|jtddddd
d�d�dS)Nrrr�rdr�r�r�r�r�r�)�arg4�arg5)rr�r�r�)rdr�)r�r�r�)
rrr�rdr�r�r�r�r�r�)r?r)rrrr �test_mixed_argssz!Keywords_TestCase.test_mixed_argscCs|jtddddd
d�d�dS)Nrrr�rdr�r�r�r�r�r�)�arg1�arg2Zarg3r�r�)rr�r�r�)rdr�)r�r�r�)
rrr�rdr�r�r�r�r�r�)r?r)rrrr �test_keyword_argssz#Keywords_TestCase.test_keyword_argscCs|jtdddd�d
�dS)Nrrr�r�)r�r�r�)rrr<r<r<r<r<r<)
rrr�r<r<r<r<r<r<r�)r?r)rrrr �test_optional_args&sz$Keywords_TestCase.test_optional_argscCsPytdd�Wn2tk
r@}z|jt|�d�WYdd}~XnX|jd�dS)Nrr)r�z*Required argument 'arg2' (pos 2) not foundz!TypeError should have been raised)rr)rr>r?�str�fail)r�errrrr �test_required_args-s
"z$Keywords_TestCase.test_required_argscCsXytddddd
d�Wn2tk
rH}z|jt|�d�WYdd}~XnX|jd
�dS)Nrrr�rdr�r�r�r�r�r��oz,function takes at most 5 arguments (6 given)z!TypeError should have been raised)rr�r�r�)rdr�)r�r�r�)rr>r?r�r�)rr�rrr �test_too_many_args6s
"z$Keywords_TestCase.test_too_many_argscCsVytd	dddd�Wn2tk
rF}z|jt|�d�WYdd}~XnX|jd�dS)
Nrrr�r�i�)r�Zarg666z9'arg666' is an invalid keyword argument for this functionz!TypeError should have been raised)rr)rr>r?r�r�)rr�rrr �test_invalid_keyword>s
"z&Keywords_TestCase.test_invalid_keywordcCsTytdd
di�Wn2tk
rD}z|jt|�d�WYdd}~XnX|jd
�dS)Nrrr�rdr�r�r�r�r�u�r�u6'�' is an invalid keyword argument for this functionz!TypeError should have been raised�rr�r�r��rdr��r�r�r�)r�r�r�r�)rr>r?r�r�)rr�rrr �test_surrogate_keywordGs
"z(Keywords_TestCase.test_surrogate_keywordN)r"r#r$r�r�r�r�r�r�r�r�r�rrrr r��s		r�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�KeywordOnly_TestCasecCs|jtdd�d�dS)Nrrr<)rrr<)r?r)rrrr r�Psz)KeywordOnly_TestCase.test_positional_argscCs|jtdddd�d�dS)Nrrr�)�keyword_only)rrr�)r?r)rrrr r�Wsz$KeywordOnly_TestCase.test_mixed_argscCs|jtdddd�d�dS)Nrrr�)�required�optionalr�)rrr�)r?r)rrrr r�^sz&KeywordOnly_TestCase.test_keyword_argscCs,|jtddd�d�|jtddd�d	�dS)
Nrr)r�r�r�)r�r�r<)rrr<r<)rr<r�)r?r)rrrr r�es

z'KeywordOnly_TestCase.test_optional_argscCsj|jtd�d
�|jtdd�d
�|jtd��tdd�WdQRX|jtd��tdd�WdQRXdS)Nr)r�z0Required argument 'required' \(pos 1\) not foundr)r�r�)r�r<r<)rr<r<r<r<)rr<r<)r?r�assertRaisesRegexr>)rrrr r�psz'KeywordOnly_TestCase.test_required_argscCsP|jtd��tddd�WdQRX|jtd��tddddd�WdQRXdS)Nz9Function takes at most 2 positional arguments \(3 given\)rrr�z.function takes at most 3 arguments \(4 given\)r�)r�)r�r>r)rrrr r��sz'KeywordOnly_TestCase.test_too_many_argscCs*|jtd��tdddd�WdQRXdS)Nz:'monster' is an invalid keyword argument for this functionrri�)Zmonster)r�r>r)rrrr r��sz)KeywordOnly_TestCase.test_invalid_keywordcCs*|jtd��tdddi�WdQRXdS)Nu6'�' is an invalid keyword argument for this functionrru�r�)rr)r�r>r)rrrr r��sz+KeywordOnly_TestCase.test_surrogate_keywordN)r"r#r$r�r�r�r�r�r�r�r�rrrr r�Os	r�c@s@eZdZddlmZdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
S)�"PositionalOnlyAndKeywords_TestCaser)�$getargs_positional_only_and_keywordscCs|j|jddd�d�dS)Nrrr�)rrr�)r?�getargs)rrrr r��sz7PositionalOnlyAndKeywords_TestCase.test_positional_argscCs|j|jdddd�d�dS)Nrrr�)�keyword)rrr�)r?r�)rrrr r��sz2PositionalOnlyAndKeywords_TestCase.test_mixed_argscCs.|j|jdd�d�|j|jddd�d�dS)	Nrrr�)r�r<)rrr<r<)rr<r�)r?r�)rrrr r��sz5PositionalOnlyAndKeywords_TestCase.test_optional_argscCsZ|j|jd�d�|jtd��|j�WdQRX|jtd��|jdd�WdQRXdS)Nrz:Function takes at least 1 positional arguments \(0 given\)r�)r�r<r<)rr<r<)r?r�r�r>)rrrr r��sz5PositionalOnlyAndKeywords_TestCase.test_required_argscCs,|jtd��|jdddi�WdQRXdS)Nz3'' is an invalid keyword argument for this functionrrr{i�)rr)r�r>r�)rrrr �test_empty_keyword�sz5PositionalOnlyAndKeywords_TestCase.test_empty_keywordN)r"r#r$rr�r�r�r�r�r�r�rrrr r��sr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�Bytes_TestCasecCs~ddlm}|jt|d�|j|d�d�|j|td��d�|jt|td��|jt|d�|jt|d�|jt|d�dS)Nr)�	getargs_csabc�a�a�s)rr�r=r>r?�	bytearray�
memoryview)rr�rrr �test_c�szBytes_TestCase.test_ccCsnddlm}|jt|d�|j|d�d�|jt|d�|jt|td��|jt|td��|jt|d�dS)Nr)�	getargs_yuabcésbytessnul:s	bytearrays
memoryview)rr�r=r>r?r�r�r�)rr�rrr �test_y�szBytes_TestCase.test_ycCstddlm}|jt|d�|j|d�d�|j|d�d�|j|td��d�|j|td��d�|jt|d�dS)Nr)�getargs_y_staruabcésbytessnul:s	bytearrays
memoryview)rr�r=r>r?r�r�)rr�rrr �test_y_star�szBytes_TestCase.test_y_starcCspddlm}|jt|d�|j|d�d�|j|d�d�|jt|td��|jt|td��|jt|d�dS)Nr)�getargs_y_hashuabcésbytessnul:s	bytearrays
memoryview)rr�r=r>r?r�r�)rr�rrr �test_y_hash�szBytes_TestCase.test_y_hashcCs�ddlm}|jt|d�|jt|d�|jt|d�|jt|td��td�}|j||�d�|j|td��td�}|j|t|��d	�|j|td	��|jt|d�dS)
Nr)�getargs_w_staruabcésbytessnul:s	bytearrays	[ytearra]s
memoryviews
[emoryvie])rr�r=r>r�r�r?)rr��bufrrr �test_w_star�szBytes_TestCase.test_w_starN)r"r#r$r�r�r�r�r�rrrr r��s

			r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �String_TestCasecCs�ddlm}|jt|d�|j|d�d�|j|d�d�|j|d�d	�|jt|d
�|jt|td
��|jt|td
��|jt|d�|jt|d�dS)Nr)�	getargs_C�abcr�r�u€i� u🐍i
�r�)rr�r=r>r?r�r�)rr�rrr �test_C�szString_TestCase.test_CcCsnddlm}|j|d�d�|jt|d�|jt|d�|jt|td��|jt|td��|jt|d�dS)	Nr)�	getargs_suabcésabcéznul:sbytess	bytearrays
memoryview)rr�r?r=r�r>r�r�)rr�rrr �test_s�szString_TestCase.test_scCsvddlm}|j|d�d�|j|d�d�|j|d�d�|j|td��d�|j|td	��d	�|jt|d�dS)
Nr)�getargs_s_staruabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r?r�r�r=r>)rr�rrr �test_s_starszString_TestCase.test_s_starcCsrddlm}|j|d�d�|j|d�d�|j|d�d�|jt|td��|jt|td	��|jt|d�dS)
Nr)�getargs_s_hashuabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r?r=r>r�r�)rr�rrr �test_s_hash
szString_TestCase.test_s_hashcCsnddlm}|j|d�d�|jt|d�|jt|d�|jt|td��|jt|td��|j|d��dS)	Nr)�	getargs_zuabcésabcéznul:sbytess	bytearrays
memoryview)	rr�r?r=r�r>r�r��assertIsNone)rr�rrr �test_zszString_TestCase.test_zcCsvddlm}|j|d�d�|j|d�d�|j|d�d�|j|td��d�|j|td	��d	�|j|d��dS)
Nr)�getargs_z_staruabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r?r�r�r�)rr�rrr �test_z_starszString_TestCase.test_z_starcCsrddlm}|j|d�d�|j|d�d�|j|d�d�|jt|td��|jt|td	��|j|d��dS)
Nr)�getargs_z_hashuabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r?r=r>r�r�r�)rr�rrr �test_z_hash(szString_TestCase.test_z_hashcCs�ddlm}|j|d�d�|j|dd�d�|jt|dd�|jt|dd�|jt|d	d�|jt|td
�d�|jt|td�d�|jt|dd�|jt|dd�dS)
Nr)�
getargs_esuabcésabcé�latin1sabc��ascii�spamsbytess	bytearrays
memoryviewznul:)	rr�r?r=�UnicodeEncodeError�LookupErrorr>r�r�)rr�rrr �test_es1szString_TestCase.test_escCs�ddlm}|j|d�d�|j|dd�d�|jt|dd�|jt|dd�|j|d	d�d	�|j|td
�d�d
�|jt|td�d�|jt|dd�|jt|dd�|jt|d
d�|jt|td
�d�dS)Nr)�
getargs_etuabcésabcér�sabc�r�r�sbytess	bytearrays
memoryviewznul:snul:)	rr�r?r=r�r�r�r>r�)rr�rrr �test_et=szString_TestCase.test_etcCsFddlm}|j|d�d�|j|dd�d�|jt|dd�|jt|dd�|jt|d	d�|jt|td
�d�|jt|td�d�|jt|dd�|j|dd�d
�td�}|j|dd|�d�|j|td��td�}|j|dd|�d�|j|td��td�}|jt	|dd|�|j|td��t�}|jt	|dd|�dS)Nr)�getargs_es_hashuabcésabcér�sabc�r�r�sbytess	bytearrays
memoryviewznul:snul:�xr�sabc�xxxr�sabc�rdsxxxxxxxxsxxxxxsxxxxsxxxx)
rr�r?r=r�r�r>r�r�r�)rr�r�rrr �test_es_hashKs*zString_TestCase.test_es_hashcCsrddlm}|j|d�d�|j|dd�d�|jt|dd�|jt|dd�|j|d	d�d	�|j|td
�d�d
�|jt|td�d�|jt|dd�|j|dd�d
�|j|d
d�d
�|j|td
�d�d
�td�}|j|dd|�d�|j|td��td�}|j|dd|�d�|j|td��td�}|jt	|dd|�|j|td��t�}|jt	|dd|�dS)Nr)�getargs_et_hashuabcésabcér�sabc�r�r�sbytess	bytearrays
memoryviewznul:snul:r�r�sabc�xxxr�sabc�rdsxxxxxxxxsxxxxxsxxxxsxxxx)
rr�r?r=r�r�r�r>r�r�)rr�r�rrr �test_et_hashcs.zString_TestCase.test_et_hashcCsnddlm}|j|d�d�|jt|d�|jt|d�|jt|td��|jt|td��|jt|d�dS)Nr)�	getargs_uuabcéznul:sbytess	bytearrays
memoryview)rr�r?r=r�r>r�r�)rr�rrr �test_u}szString_TestCase.test_ucCspddlm}|j|d�d�|j|d�d�|jt|d�|jt|td��|jt|td��|jt|d�dS)Nr)�getargs_u_hashuabcéznul:sbytess	bytearrays
memoryview)rr�r?r=r>r�r�)rr�rrr �test_u_hash�szString_TestCase.test_u_hashcCsnddlm}|j|d�d�|jt|d�|jt|d�|jt|td��|jt|td��|j|d��dS)Nr)�	getargs_Zuabcéznul:sbytess	bytearrays
memoryview)	rr�r?r=r�r>r�r�r�)rr�rrr �test_Z�szString_TestCase.test_ZcCspddlm}|j|d�d�|j|d�d�|jt|d�|jt|td��|jt|td��|j|d��dS)Nr)�getargs_Z_hashuabcéznul:sbytess	bytearrays
memoryview)rr�r?r=r>r�r�r�)rr�rrr �test_Z_hash�szString_TestCase.test_Z_hashN)r"r#r$r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr r��s									r�c@s$eZdZdd�Zdd�Zdd�ZdS)�Object_TestCasecCsdddlm}d}|j||�|�|jt|td��|jt|d�|jt|d�|jt|t|��dS)Nr)�	getargs_Ssbytess	bytearrayr�)rr�r�r=r>r�r�)rr��objrrr �test_S�szObject_TestCase.test_ScCsdddlm}td�}|j||�|�|jt|d�|jt|d�|jt|d�|jt|t|��dS)Nr)�	getargs_Ys	bytearraysbytesr�)rr�r�r�r=r>r�)rr�r�rrr �test_Y�szObject_TestCase.test_YcCsRddlm}d}|j||�|�|jt|d�|jt|td��|jt|d�dS)Nr)�	getargs_Ur�sbytess	bytearray)rr�r�r=r>r�)rr�r�rrr �test_U�szObject_TestCase.test_UN)r"r#r$r�r�r�rrrr r��s		r�c@seZdZdd�ZdS)�Test6012cCs|jtjdd�d�dS)NrXZWorldr)r?rZ
argparsing)rrrr �test�sz
Test6012.testN)r"r#r$r�rrrr r��sr�c@seZdZdd�Zdd�ZdS)�SkipitemTestc"Cs(f}d}ddi}ddg}�xtdd�D]�}t|�}|dkr<q&|d}ytj||||�d	}WnHtk
r�}	zd
}
t|	�|
k}WYdd}	~	Xntk
r�d	}YnXd|}ytj||||�d	}Wn:tk
�r}	zd
j|�}
t|	�|
k}WYdd}	~	XnXdj||||�}
|j|||
�q&WdS)aB
        If this test failed, you probably added a new "format unit"
        in Python/getargs.c, but neglected to update our poor friend
        skipitem() in the same file.  (If so, shame on you!)

        With a few exceptions**, this function brute-force tests all
        printable ASCII*** characters (32 to 126 inclusive) as format units,
        checking to see that PyArg_ParseTupleAndKeywords() return consistent
        errors both when the unit is attempted to be used and when it is
        skipped.  If the format unit doesn't exist, we'll get one of two
        specific error messages (one for used, one for skipped); if it does
        exist we *won't* get that error--we'll get either no error or some
        other error.  If we get the specific "does not exist" error for one
        test and not for the other, there's a mismatch, and the test fails.

           ** Some format units have special funny semantics and it would
              be difficult to accommodate them here.  Since these are all
              well-established and properly skipped in skipitem() we can
              get away with not testing them--this test is really intended
              to catch *new* format units.

          *** Python C source files must be ASCII.  Therefore it's impossible
              to have non-ASCII format units.

        rr�rr�� �z()e|$�iFz(argument 1 (impossible<bad format char>)N�|z!impossible<bad format char>: '{}'z�test_skipitem_parity: detected mismatch between convertsimple and skipitem for format unit '{}' ({}), not skipped {}, skipped {})r)	�range�chrr�parse_tuple_and_keywords�SystemErrorr�r>�formatr�)r�empty_tuple�tuple_1�dict_b�keywordsrrsrZwhen_not_skipped�er��optional_formatZwhen_skipped�messagerrr �
test_skipitem�s:

zSkipitemTest.test_skipitemcCs4tj}f}d}ddi}ddg}d}x�tjD]|}xvdD]n}||}	|j|	d��Pd|	d}
|	|krr||||
|�n&|jtd��||||
|�WdQRXWdQRXq4Wq*Wx�ttt	dd��D]p}d|}	d|	d}
|j|	d��F|dk�r�||||
|�n&|jtd��||||
|�WdQRXWdQRXq�WdS)Nrr�rr��s#�s*�z#�z*�u#�Z#�y#�y*�w#�w*z#*)rrrzimpossible<bad format char>r�r
�st)r)
rrrrrrrrrr)
rr�stringZ
ascii_lettersZsubTestr�r�maprr)r�parser	r
rrZ	supportedrsZc2�frrrr �test_skipitem_with_suffix
s2
*
z&SkipitemTest.test_skipitem_with_suffixN)r"r#r$rr!rrrr r��sDr�c@s$eZdZdd�Zdd�Zdd�ZdS)�ParseTupleAndKeywords_TestcCsd|jttjfidg�|jttjfidd�|jttjfiddgd�|jttjfiddg�dS)Nr;r{)r=r>rrr�)rrrr �test_parse_tuple_and_keywords,s



z8ParseTupleAndKeywords_Test.test_parse_tuple_and_keywordscCs|jttjdiddg�|jttjdidddg�|jttjfddiddg�|jttjfddd�d	ddg�|jttjfddid
dg�|jttjfddd�dddg�|jttjdidddg�|jttjdid
dg�|jttjfiddg�|jttjfid
ddg�dS)Nrz||Or�rz|O|Or�z$$O)r�r�z$O$Oz$|Oz$O|Oz|Oz|OOz|$Or{)r)rr)r)r)r=rrr)rrrr �test_bad_use7s(









z'ParseTupleAndKeywords_Test.test_bad_usec1Cs�tj}|diddddg�|dddiddddg�|jtd��|dddiddddg�WdQRX|diddddg�|jtd	��|fiddddg�WdQRX|dddid
dddg�|jtd��|dddid
dddg�WdQRX|diddddg�|jtd	��|fiddddg�WdQRX|jtd
��|diddddg�WdQRX|jtd��|diddddg�WdQRXdS)Nrrr�ZOOOr{r�z:Function takes at least 2 positional arguments \(1 given\)zO|OOz:Function takes at least 1 positional arguments \(0 given\)zOO$Oz9Function takes exactly 2 positional arguments \(1 given\)zO|O$OzEmpty parameter name after \$zO|$OOz
Empty keyword)rrr�)rr)r)r)rr)r)r)r)r)rrr�r>r)rrrrr �test_positional_onlyOs,""z/ParseTupleAndKeywords_Test.test_positional_onlyN)r"r#r$r#r$r%rrrr r"*sr"c@s&eZdZe�jdd�ee�D��dS)�
Test_testcapiccs0|](}|jd�r|jd�r|tt|�fVqdS)Ztest_�_codeN)�
startswith�endswith�getattrr)�.0�namerrr �	<genexpr>jszTest_testcapi.<genexpr>N)r"r#r$�locals�update�dirrrrrr r&isr&�__main__ll����ll����ll����)Pr|r`r�sysr�r�
import_modulerrrZLARGErCrrrr	r
rrr
rrrrrrrr�
float_info�max_exprm�floatrerfrZrYr]r�intr%r&r'r(r)r+r,r-r.r/r0rpr2r3r4r5r6r�r7r�r8r}r9rMrVr_ruryrr�r�r�r�r�r�r�r�r"r&r"�mainrrrr �<module>sl
 HcN)R*VH!65f?