HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_getargs2.cpython-37.pyc
B

��g��@sddlZddlZddlZddlZddlmZe�d�ZddlmZm	Z	dZ
dZddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZejjZed�Z ed	�Z!d
Z"dZ#dZ$Gd
d�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.Gdd �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�Z7Gd/d0�d0e8�Z9Gd1d2�d2e:�Z;Gd3d4�d4ej<�Z=Gd5d6�d6ej<�Z>Gd7d8�d8ej<�Z?Gd9d:�d:ej<�Z@Gd;d<�d<�ZAGd=d>�d>ej<�ZBGd?d@�d@ej<�ZCGdAdB�dBej<�ZDGdCdD�dDej<�ZEGdEdF�dFej<�ZFGdGdH�dHej<�ZGGdIdJ�dJej<�ZHGdKdL�dLej<�ZIGdMdN�dNej<�ZJGdOdP�dPej<�ZKGdQdR�dRej<�ZLGdSdT�dTej<�ZMeNdUk�re�O�dS)V�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�nanl����l����l����c@seZdZdd�ZdS)�IntcCsdS)N�c�)�selfrr�./usr/local/lib/python3.7/test/test_getargs2.py�__int__9szInt.__int__N)�__name__�
__module__�__qualname__rrrrrr8src@seZdZdd�ZdS)�IntSubclasscCsdS)Nrr)rrrrr=szIntSubclass.__int__N)rrr rrrrrr!<sr!c@seZdZdd�ZdS)�BadIntcCsdS)Ng�?r)rrrrrAszBadInt.__int__N)rrr rrrrrr"@sr"c@seZdZdd�ZdS)�BadInt2cCsdS)NTr)rrrrrEszBadInt2.__int__N)rrr rrrrrr#Dsr#c@seZdZdd�ZdS)�BadInt3cCsdS)NTr)rrrrrIszBadInt3.__int__N)rrr rrrrrr$Hsr$c@seZdZdd�ZdS)�FloatcCsdS)Ng@r)rrrr�	__float__NszFloat.__float__N)rrr r&rrrrr%Msr%c@seZdZdS)�
FloatSubclassN)rrr rrrrr'Qsr'c@seZdZdd�ZdS)�FloatSubclass2cCsdS)Ng@r)rrrrr&UszFloatSubclass2.__float__N)rrr r&rrrrr(Tsr(c@seZdZdd�ZdS)�BadFloatcCsdS)Ni�r)rrrrr&YszBadFloat.__float__N)rrr r&rrrrr)Xsr)c@seZdZdd�ZdS)�	BadFloat2cCstd�S)Ng@)r')rrrrr&]szBadFloat2.__float__N)rrr r&rrrrr*\sr*c@seZdZdd�ZdS)�	BadFloat3cCstd�S)Ng@)r')rrrrr&aszBadFloat3.__float__N)rrr r&rrrrr+`sr+c@seZdZdd�ZdS)�ComplexcCsdS)Ny@�?r)rrrr�__complex__fszComplex.__complex__N)rrr r-rrrrr,esr,c@seZdZdS)�ComplexSubclassN)rrr rrrrr.isr.c@seZdZdd�ZdS)�ComplexSubclass2cCsdS)Ny@�?r)rrrrr-mszComplexSubclass2.__complex__N)rrr r-rrrrr/lsr/c@seZdZdd�ZdS)�
BadComplexcCsdS)Ng�?r)rrrrr-qszBadComplex.__complex__N)rrr r-rrrrr0psr0c@seZdZdd�ZdS)�BadComplex2cCstd�S)Ny@�?)r.)rrrrr-uszBadComplex2.__complex__N)rrr r-rrrrr1tsr1c@seZdZdd�ZdS)�BadComplex3cCstd�S)Ny@�?)r.)rrrrr-yszBadComplex3.__complex__N)rrr r-rrrrr2xsr2c@seZdZdS)�
TupleSubclassN)rrr rrrrr3}sr3c@seZdZdS)�DictSubclassN)rrr rrrrr4�sr4c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�Unsigned_TestCasec	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|d�|�d|d��|�t
|t
��|�t|t
d�|�d|d��|�t|t�dS)Nr)�	getargs_bg��Q�	@r�����*)rr6�assertRaises�	TypeError�assertEqualrr!r"�assertWarns�DeprecationWarningr#r$�
OverflowErrorr�
VERY_LARGE)rr6rrr�test_b�szUnsigned_TestCase.test_bc	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|d��|�d|d��|�t|t��|�d|td��|�d|d��|�tt
@|t
��dS)Nr)�	getargs_Bg��Q�	@rr7r8r9)rrBr:r;r<rr!r"r=r>r#r$rr@)rrBrrr�test_B�szUnsigned_TestCase.test_Bc	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|d��|�d|d��|�t|t��|�d|td��|�d|d��|�t
t@|t
��dS)Nr)�	getargs_Hg��Q�	@rr7r8r9)rrDr:r;r<rr!r"r=r>r#r$rr@)rrDrrr�test_H�szUnsigned_TestCase.test_Hc	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|d��|�d|d��|�t|t��|�d|td��|�d|d��|�t
t@|t
��dS)Nr)�	getargs_Ig��Q�	@rr7r8r9)rrFr:r;r<rr!r"r=r>r#r$rr@)rrFrrr�test_I�szUnsigned_TestCase.test_IcCs�ddlm}|�t|d�|�t|t��|�d|t���|�t|t��|�t|t��|�d|t	���|�t
|d��|�d|d��|�t
|t
��|�d|t
d��|�d|d��|�tt
@|t��dS)Nr)�	getargs_kg��Q�	@r8r7r9)rrHr:r;rr<r!r"r#r$r	r@)rrHrrr�test_k�szUnsigned_TestCase.test_kN)rrr rArCrErGrIrrrrr5�s
r5c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�Signed_TestCasec	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|t
d�|�t
|t
��|�t|t��|�t|td�|�d|d��|�t|t�dS)Nr)�	getargs_hg��Q�	@rr7r9)rrKr:r;r<rr!r"r=r>r#r$r?rrr@)rrKrrr�test_h�szSigned_TestCase.test_hc	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|t
d�|�t
|t
��|�t|t��|�t|td�|�d|d��|�t|t�dS)Nr)�	getargs_ig��Q�	@rr7r9)rrMr:r;r<rr!r"r=r>r#r$r?rr
r@)rrMrrr�test_i�szSigned_TestCase.test_ic	Cs�ddlm}|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|t
d�|�t
|t
��|�t|t��|�t|td�|�d|d��|�t|t�dS)Nr)�	getargs_lg��Q�	@rr7r9)rrOr:r;r<rr!r"r=r>r#r$r?rr
r@)rrOrrr�test_lszSigned_TestCase.test_lcCs�ddlm}|�t|d�|�t|t��|�d|t���|�t|t��|�t|t��|�d|t	���|�t
|td�|�t|t��|�t|t��|�t
|td�|�d|d��|�t
|t
�dS)Nr)�	getargs_ng��Q�	@r7r9)rrQr:r;rr<r!r"r#r$r?rrr@)rrQrrr�test_n!szSigned_TestCase.test_nN)rrr rLrNrPrRrrrrrJ�srJc@seZdZdd�Zdd�ZdS)�LongLong_TestCasec	Cs�ddlm}|�t|d�|�t|d�|�d|t���|�d|t���|�t|t��|�t	��|�d|t
���WdQRX|�d|t���|�t|t
d�|�t
|t
��|�t|t��|�t|td�|�d|d��|�t|t�dS)Nr)�	getargs_Lg��Q�	@�Hellorr7r9)rrTr:r;r<rr!r"r=r>r#r$r?�	LLONG_MIN�	LLONG_MAXr@)rrTrrr�test_L6szLongLong_TestCase.test_LcCs�ddlm}|�t|d�|�t|t��|�d|t���|�t|t��|�t|t��|�d|t	���|�t
|t
��|�d|d��|�d|t
d��|�d|d��|�tt
@|t��dS)Nr)�	getargs_Kg��Q�	@r7r9)rrYr:r;rr<r!r"r#r$�
ULLONG_MAXr@)rrYrrr�test_KKszLongLong_TestCase.test_KN)rrr rXr[rrrrrS5srSc@s:eZdZdd�Zdd�Zejdd��Zdd�Zd	d
�Z	dS)�Float_TestCasecCs,|�||�|�t�d|�t�d|��dS)Nr7)r<�mathZcopysign)r�actualZexpectedrrr�assertEqualWithSign_sz"Float_TestCase.assertEqualWithSignc	Cs�ddlm}|�|d�d�|�|d�d�|�t|d�|�|t��d�|�|td��d�|�|td��d�|�t|t��|�	t
��|�|t��d�WdQRX|�|td��d�x.t
t
ttttfD]}|�||�|�q�Wttk�r|�|t�t�|�|t�t�t
tk�rJ|�|t�d�|�|t�d	�|�|d�d�|�|d	�d	�|t�}|�||�dS)
Nr)�	getargs_fg@�g@y@g@gg�)rr`r<r:r;r%r'r(r)r=r>r*r+rr�INFrrr_�NAN�assertNotEqual)rr`�x�rrrr�test_fcs.

zFloat_TestCase.test_fcCs2ddlm}|�|d�t�|�|d�t�dS)Nr)r`gn���Ggn����)rr`r<r)rr`rrr�test_f_rounding}szFloat_TestCase.test_f_roundingc	CsLddlm}|�|d�d�|�|d�d�|�t|d�|�|t��d�|�|td��d�|�|td��d�|�t|t��|�	t
��|�|t��d�WdQRX|�|td��d�x.t
t
ttttfD]}|�||�|�q�W|�t|dt>�|�t|d	t>�|�|d
�d
�|�|d�d�|t�}|�||�dS)Nr)�	getargs_dg@rag@y@g@r7r8gg�)rrir<r:r;r%r'r(r)r=r>r*r+rrrbr?�DBL_MAX_EXPr_rcrd)rrirerfrrr�test_d�s&zFloat_TestCase.test_dc	Cszddlm}|�|d�d�|�|d�d�|�|d�d�|�|t��d�|�|td��d�|�|td��d�|�t|t��|�	t
��|�|t��d�WdQRX|�|td��d�xRt
t
ttttfD]8}t|d	�}|�||�|�td	|�}|�||�|�q�W|�|td
d	��jd
�|�|tdd	��jd�|�|td	d
��jd
�|�|td	d��jd�dS)Nr)�	getargs_Dy@�?g@y@ray@y@�?g�?gg�)rrlr<r,r.r/r:r;r0r=r>r1r2rrrb�complexr_�real�imag)rrlre�crrr�test_D�s(

zFloat_TestCase.test_DN)
rrr r_rgrZrequires_IEEE_754rhrkrqrrrrr\^s
r\c@seZdZdZdd�ZdS)�ParadoxzThis statement is false.cCst�dS)N)�NotImplementedError)rrrr�__bool__�szParadox.__bool__N)rrr �__doc__rtrrrrrr�srrc@seZdZdd�ZdS)�Boolean_TestCasecCsHddlm}|�d|d��|�d|d��|�d|d��|�d|d��|�d|d��|�d|d��|�d|d��|�d|g��|�d|i��|�d|d	��|�d|d��|�d|d
��|�d|d��|�d|d��|�d|d
��|�d|dg��|�d|ddi��|�d|tj��|�t|t��dS)Nr)�	getargs_pFgy�rr7Tg�?y�?re)r7�)rrwr<�unittest�TestCaser:rsrr)rrwrrr�test_p�s(zBoolean_TestCase.test_pN)rrr r|rrrrrv�srvc@seZdZdd�Zdd�ZdS)�Tuple_TestCasecCsddlm}|dd�}|�|d�|�t|�t�|d
d��}|�|d�|�t|�t�|ddg�}|�|d�|�t|�t�|tddg��}|�|d�|�t|�t�|�}|�|d�|�t|�ttd�f�|d	�}|�|d�|�t|�ttd�f�dS)Nr)�get_argsr7ry)r7ry)ry�)r7ryr)rNr)r7)rr~r<�assertIs�type�tupler3�assertIn)rr~�retrrr�	test_args�s&
zTuple_TestCase.test_argscCsFddlm}|dd�}|�|d�Gdd�d�}|�t|d|��dS)Nr)�
getargs_tupler7)ryr)r7ryrc@seZdZdd�Zdd�ZdS)z&Tuple_TestCase.test_tuple.<locals>.seqcSsdS)Nryr)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)rrr r�r�rrrr�seq�sr�)rr�r<r:r;)rr�r�r�rrr�
test_tuple�s

zTuple_TestCase.test_tupleN)rrr r�r�rrrrr}�sr}c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�Keywords_TestCasecCsddlm}|ddd�}|�|ddd��|�t|�t�|fddiddd���}|�|dddd	��|�t|�t�|ftddd���}|�|ddd��|�t|�t�|�}|�|idf�|�t|�ttd�f�|fi�}|�|idf�|�t|�ttd�f�dS)
Nr)�
get_kwargsr7ry)�a�br�r)r�rp)r�r�rp)rr�r<r�r��dictr4r�)rr�r�rrr�test_kwargs�s 
zKeywords_TestCase.test_kwargscCs|�tddddd�d�dS)N)r7ryr)ra)��)���	�
)
r7ryrrar�r�r�r�r�r�)r<r)rrrr�test_positional_argssz&Keywords_TestCase.test_positional_argsc	Cs|�tdddddd�d�dS)N)r7ryr)ra)r�r�)r�r�r�r�)�arg4�arg5)
r7ryrrar�r�r�r�r�r�)r<r)rrrr�test_mixed_argssz!Keywords_TestCase.test_mixed_argsc	Cs|�tdddddd�d�dS)N)r7ryr)ra)r�r�)r�r�r�r�)�arg1�arg2Zarg3r�r�)
r7ryrrar�r�r�r�r�r�)r<r)rrrr�test_keyword_args sz#Keywords_TestCase.test_keyword_argscCs|�tdddd�d�dS)N)r7ryrr�)r�r�r�)
r7ryrr8r8r8r8r8r8r�)r<r)rrrr�test_optional_args'sz$Keywords_TestCase.test_optional_argsc
CsPytdd�Wn2tk
r@}z|�t|�d�Wdd}~XYnX|�d�dS)N)r7ry)r�z1function missing required argument 'arg2' (pos 2)z!TypeError should have been raised)rr;r<�str�fail)r�errrrr�test_required_args.sz$Keywords_TestCase.test_required_argsc
CsXytdddddd�Wn2tk
rH}z|�t|�d�Wdd}~XYnX|�d�dS)	N)r7ryr)ra)r�r�)r�r�r�r��oz,function takes at most 5 arguments (6 given)z!TypeError should have been raised)rr;r<r�r�)rr�rrr�test_too_many_args8s
"z$Keywords_TestCase.test_too_many_argsc
CsVytddddd�Wn2tk
rF}z|�t|�d�Wdd}~XYnX|�d�dS)N)r7ryrr�i�)r�Zarg666z9'arg666' is an invalid keyword argument for this functionz!TypeError should have been raised)rr;r<r�r�)rr�rrr�test_invalid_keyword@s
"z&Keywords_TestCase.test_invalid_keywordc
CsTytd	ddi�Wn2tk
rD}z|�t|�d�Wdd}~XYnX|�d�dS)
N�r7ryr�ra)r�r��r�r�r�u�r�u6'�' is an invalid keyword argument for this functionz!TypeError should have been raised)r�rr�r�)rr;r<r�r�)rr�rrr�test_surrogate_keywordIs
"z(Keywords_TestCase.test_surrogate_keywordN)rrr r�r�r�r�r�r�r�r�r�rrrrr��s
	r�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�KeywordOnly_TestCasecCs|�tdd�d�dS)Nr7ry)r7ryr8)r<r)rrrrr�Rsz)KeywordOnly_TestCase.test_positional_argscCs|�tdddd�d�dS)Nr7ryr)�keyword_only)r7ryr)r<r)rrrrr�Ysz$KeywordOnly_TestCase.test_mixed_argscCs|�tdddd�d�dS)Nr7ryr)�required�optionalr�)r7ryr)r<r)rrrrr�`sz&KeywordOnly_TestCase.test_keyword_argscCs,|�tddd�d�|�tddd�d�dS)Nr7ry)r�r�)r7ryr8r)r�r�)r7r8r)r<r)rrrrr�gs

z'KeywordOnly_TestCase.test_optional_argsc	Csj|�td�d�|�tdd�d�|�td��tdd�WdQRX|�td��tdd�WdQRXdS)	Nr7)r7r8r8)r�z7function missing required argument 'required' \(pos 1\)ry)r�r)r�)r<r�assertRaisesRegexr;)rrrrr�rsz'KeywordOnly_TestCase.test_required_argsc	CsP|�td��tddd�WdQRX|�td��tddddd�WdQRXdS)Nz9function takes at most 2 positional arguments \(3 given\)r7ryrz.function takes at most 3 arguments \(4 given\)r�)r�)r�r;r)rrrrr��sz'KeywordOnly_TestCase.test_too_many_argsc	Cs*|�td��tdddd�WdQRXdS)Nz:'monster' is an invalid keyword argument for this functionr7ryi�)Zmonster)r�r;r)rrrrr��sz)KeywordOnly_TestCase.test_invalid_keywordc	Cs*|�td��tdddi�WdQRXdS)Nu6'�' is an invalid keyword argument for this functionr7ryu�r�)r7ry)r�r;r)rrrrr��sz+KeywordOnly_TestCase.test_surrogate_keywordN)rrr r�r�r�r�r�r�r�r�rrrrr�Qs	r�c@s@eZdZddlmZdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
S)�"PositionalOnlyAndKeywords_TestCaser)�$getargs_positional_only_and_keywordscCs|�|�ddd�d�dS)Nr7ryr)r7ryr)r<�getargs)rrrrr��sz7PositionalOnlyAndKeywords_TestCase.test_positional_argscCs|�|jdddd�d�dS)Nr7ryr)�keyword)r7ryr)r<r�)rrrrr��sz2PositionalOnlyAndKeywords_TestCase.test_mixed_argscCs.|�|�dd�d�|�|jddd�d�dS)Nr7ry)r7ryr8r)r�)r7r8r)r<r�)rrrrr��sz5PositionalOnlyAndKeywords_TestCase.test_optional_argsc	CsZ|�|�d�d�|�td��|��WdQRX|�td��|jdd�WdQRXdS)Nr7)r7r8r8z:function takes at least 1 positional arguments \(0 given\)r)r�)r<r�r�r;)rrrrr��sz5PositionalOnlyAndKeywords_TestCase.test_required_argsc	Cs,|�td��|jdddi�WdQRXdS)Nz3'' is an invalid keyword argument for this functionr7ryrxi�)r7ry)r�r;r�)rrrr�test_empty_keyword�sz5PositionalOnlyAndKeywords_TestCase.test_empty_keywordN)rrr rr�r�r�r�r�r�r�rrrrr��sr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�Bytes_TestCasecCs~ddlm}|�t|d�|�|d�d�|�|td��d�|�t|td��|�t|d�|�t|d�|�t|d�dS)Nr)�	getargs_csabc�a�a�s)rr�r:r;r<�	bytearray�
memoryview)rr�rrr�test_c�szBytes_TestCase.test_ccCsnddlm}|�t|d�|�|d�d�|�t|d�|�t|td��|�t|td��|�t|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}|�t|d�|�|d�d�|�|d�d�|�|td��d�|�|td��d�|�t|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}|�t|d�|�|d�d�|�|d�d�|�t|td��|�t|td��|�t|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}|�t|d�|�t|d�|�t|d�|�t|td��td�}|�||�d�|�|td��td�}|�|t|��d	�|�|td	��|�t|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)rrr r�r�r�r�r�rrrrr��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}|�t|d�|�|d�d�|�|d�d�|�|d�d	�|�t|d
�|�t|td
��|�t|td
��|�t|d�|�t|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}|�|d�d�|�t|d�|�t|d�|�t|td��|�t|td��|�t|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}|�|d�d�|�|d�d�|�|d�d�|�|td��d�|�|td	��d	�|�t|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}|�|d�d�|�|d�d�|�|d�d�|�t|td��|�t|td	��|�t|d�dS)
Nr)�getargs_s_hashuabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r<r:r;r�r�)rr�rrr�test_s_hashszString_TestCase.test_s_hashcCsnddlm}|�|d�d�|�t|d�|�t|d�|�t|td��|�t|td��|�|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}|�|d�d�|�|d�d�|�|d�d�|�|td��d�|�|td	��d	�|�|d��dS)
Nr)�getargs_z_staruabcésabcéznul:snul:sbytess	bytearrays
memoryview)rr�r<r�r�r�)rr�rrr�test_z_star!szString_TestCase.test_z_starcCsrddlm}|�|d�d�|�|d�d�|�|d�d�|�t|td��|�t|td	��|�|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}|�|d�d�|�|dd�d�|�t|dd�|�t|dd�|�t|d	d�|�t|td
�d�|�t|td�d�|�t|dd�|�t|dd�dS)
Nr)�
getargs_esuabcésabcé�latin1sabc��ascii�spamsbytess	bytearrays
memoryviewznul:)	rr�r<r:�UnicodeEncodeError�LookupErrorr;r�r�)rr�rrr�test_es3szString_TestCase.test_escCs�ddlm}|�|d�d�|�|dd�d�|�t|dd�|�t|dd�|�|d	d�d	�|�|td
�d�d
�|�t|td�d�|�t|dd�|�t|dd�|�t|d
d�|�t|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}|�|d�d�|�|dd�d�|�t|dd�|�t|dd�|�t|d	d�|�t|td
�d�|�t|td�d�|�t|dd�|�|dd�d
�td�}|�|dd|�d�|�|td��td�}|�|dd|�d�|�|td��td�}|�t	|dd|�|�|td��t�}|�t	|dd|�dS)Nr)�getargs_es_hashuabcésabcér�sabc�r�r�sbytess	bytearrays
memoryviewznul:snul:sxxxxxxxxsabc�xxxsxxxxxsabc�sxxxx)
rr�r<r:r�r�r;r�r�r�)rr�r�rrr�test_es_hashMs*zString_TestCase.test_es_hashcCsrddlm}|�|d�d�|�|dd�d�|�t|dd�|�t|dd�|�|d	d�d	�|�|td
�d�d
�|�t|td�d�|�t|dd�|�|dd�d
�|�|d
d�d
�|�|td
�d�d
�td�}|�|dd|�d�|�|td��td�}|�|dd|�d�|�|td��td�}|�t	|dd|�|�|td��t�}|�t	|dd|�dS)Nr)�getargs_et_hashuabcésabcér�sabc�r�r�sbytess	bytearrays
memoryviewznul:snul:sxxxxxxxxsabc�xxxsxxxxxsabc�sxxxx)
rr�r<r:r�r�r�r;r�r�)rr�r�rrr�test_et_hashes.zString_TestCase.test_et_hashcCsnddlm}|�|d�d�|�t|d�|�t|d�|�t|td��|�t|td��|�t|d�dS)Nr)�	getargs_uuabcéznul:sbytess	bytearrays
memoryview)rr�r<r:r�r;r�r�)rr�rrr�test_uszString_TestCase.test_ucCspddlm}|�|d�d�|�|d�d�|�t|d�|�t|td��|�t|td��|�t|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}|�|d�d�|�t|d�|�t|d�|�t|td��|�t|td��|�|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}|�|d�d�|�|d�d�|�t|d�|�t|td��|�t|td��|�|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)rrr r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s									r�c@s$eZdZdd�Zdd�Zdd�ZdS)�Object_TestCasecCsdddlm}d}|�||�|�|�t|td��|�t|d�|�t|d�|�t|t|��dS)Nr)�	getargs_Ssbytess	bytearrayr�)rr�r�r:r;r�r�)rr��objrrr�test_S�szObject_TestCase.test_ScCsdddlm}td�}|�||�|�|�t|d�|�t|d�|�t|d�|�t|t|��dS)Nr)�	getargs_Ys	bytearraysbytesr�)rr�r�r�r:r;r�)rr�r�rrr�test_Y�szObject_TestCase.test_YcCsRddlm}d}|�||�|�|�t|d�|�t|td��|�t|d�dS)Nr)�	getargs_Ur�sbytess	bytearray)rr�r�r:r;r�)rr�r�rrr�test_U�szObject_TestCase.test_UN)rrr r�r�r�rrrrr��s		r�c@seZdZdd�ZdS)�Test6012cCs|�t�dd�d�dS)NrUZWorldr7)r<rZ
argparsing)rrrr�test�sz
Test6012.testN)rrr r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�SkipitemTestcCs&d}d}ddi}ddg}�xtdd�D]�}t|�}|dkr<q&|d	}yt�||||�d
}WnHtk
r�}	zd}
t|	�|
k}Wdd}	~	XYntk
r�d
}YnXd
|}yt�||||�d
}Wn8tk
r�}	zd�|�}
t|	�|
k}Wdd}	~	XYnXd�||||�}
|�|||
�q&WdS)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.

        r)rr�r7r�� �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 {})	�range�chrr�parse_tuple_and_keywords�SystemErrorr�r;�formatr�)r�empty_tuple�tuple_1�dict_b�keywordsr�rprZwhen_not_skipped�er��optional_formatZwhen_skipped�messagerrr�
test_skipitem�s:

zSkipitemTest.test_skipitemcCs2tj}d}d}ddi}ddg}d}x�tjD]|}xvdD]n}||}	|j|	d��Pd	|	d
}
|	|krr||||
|�n&|�td��||||
|�WdQRXWdQRXq4Wq*Wx�ttt	dd
��D]n}d|}	d	|	d
}
|j|	d��D|dkr�||||
|�n&|�td��||||
|�WdQRXWdQRXq�WdS)Nr)rr�r7r�)
zs#zs*zz#zz*zu#zZ#zy#zy*zw#zw*z#*)rr�r�zimpossible<bad format char>r��r�st)
rr��stringZ
ascii_lettersZsubTestr�r��mapr�r�)r�parserrrrZ	supportedrpZc2�frrrr�test_skipitem_with_suffixs2
*z&SkipitemTest.test_skipitem_with_suffixN)rrr rrrrrrr��sDr�c@s$eZdZdd�Zdd�Zdd�ZdS)�ParseTupleAndKeywords_Testc	Csd|�ttjdidg�|�ttjdidd�|�ttjdiddgd�|�ttjdiddg�dS)Nrr9rx)r:r;rr�r�)rrrr�test_parse_tuple_and_keywords.s



z8ParseTupleAndKeywords_Test.test_parse_tuple_and_keywordsc	Cs|�ttjdiddg�|�ttjdidddg�|�ttjdddid	dg�|�ttjddd
d�dddg�|�ttjdddid
dg�|�ttjddd
d�dddg�|�ttjdidddg�|�ttjdiddg�|�ttjdiddg�|�ttjdidddg�dS)N)r7z||Or�)r7ryz|O|Or�rr7z$$Ory)r�r�z$O$Oz$|Oz$O|Oz|Oz|OOz|$Orx)r:r�rr�)rrrr�test_bad_use9s(









z'ParseTupleAndKeywords_Test.test_bad_usec	Cs�tj}|diddddg�|dddiddddg�|�td��|dddiddddg�WdQRX|did	dddg�|�td
��|did	dddg�WdQRX|dddiddddg�|�td
��|dddiddddg�WdQRX|diddddg�|�td
��|diddddg�WdQRX|�td��|diddddg�WdQRX|�td��|did	dddg�WdQRXdS)N)r7ryrZOOOrxr�)r7ryrz:function takes at least 2 positional arguments \(1 given\))r7zO|OOz:function takes at least 1 positional arguments \(0 given\)rzOO$Oz9function takes exactly 2 positional arguments \(1 given\)zO|O$OzEmpty parameter name after \$zO|$OOz
Empty keyword)rr�r�r;r�)rr
rrr�test_positional_onlyQs,""z/ParseTupleAndKeywords_Test.test_positional_onlyN)rrr rrrrrrrr,src@s&eZdZe��dd�ee�D��dS)�
Test_testcapiccs0|](}|�d�r|�d�r|tt|�fVqdS)Ztest_�_codeN)�
startswith�endswith�getattrr)�.0�namerrr�	<genexpr>lszTest_testcapi.<genexpr>N)rrr �locals�update�dirrrrrrrksr�__main__)Przr]r�sysr�r�
import_modulerrrZLARGEr@rrrr	r
rrr
rrrrrrrr�
float_info�max_exprj�floatrbrcrWrVrZr�intr!r"r#r$r%r'r(r)r*r+r,rmr.r/r0r1r2r�r3r�r4r{r5rJrSr\rrrvr}r�r�r�r�r�r�r�r�rrr�mainrrrr�<module>sl
 HcN)S*WH!65f?