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.10/test/__pycache__/test_positional_only_arg.cpython-310.opt-2.pyc
o

�iG�@sj	ddlZddlZddlZddlmZdd�Zdd�Zdd	d
�ZGdd�dej�Z	e
d
kr3e��dSdS)�N��check_syntax_errorcC�||fS�N���a�brr�:/usr/local/lib/python3.10/test/test_positional_only_arg.py�global_pos_only_f
�rcCrrrrrrr
�global_pos_only_and_normal
rr
��cCrrrrrrr
�global_pos_only_defaultsrrc@s�eZdZd=dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<S)>�PositionalOnlyTestCase�invalid syntaxcCsB|�t|��t|ddd�Wd�dS1swYdS)N�
�<test>�single)�assertRaisesRegex�SyntaxError�compile)�selfZcodestrZregexrrr
�assertRaisesSyntaxErrors"�z.PositionalOnlyTestCase.assertRaisesSyntaxErrorcC��t|dd�t|dd�t|dd�t|dd�t|d�t|d�t|d�t|d	�t|d
�t|d�t|d�t|d
�t|dd�t|dd�t|d�t|d�t|d�t|d�t|d�dS)Nzdef f(a, b = 5, /, c): pass�-non-default argument follows default argumentzdef f(a = 5, b, /, c): passz%def f(a = 5, b=1, /, c, *, d=2): passzdef f(a = 5, b, /): passzdef f(*args, /): passzdef f(*args, a, /): passzdef f(**kwargs, /): passzdef f(/, a = 1): passzdef f(/, a): passzdef f(/): passzdef f(*, a, /): passzdef f(*, /, a): passzdef f(a, /, a): pass�-duplicate argument 'a' in function definitionzdef f(a, /, *, a): passzdef f(a, b/2, c): passzdef f(a, /, c, /): passzdef f(a, /, c, /, d): passz def f(a, /, c, /, d, *, e): passzdef f(a, *, c, /, d, e): passr�rrrr
�test_invalid_syntax_errors�&











z1PositionalOnlyTestCase.test_invalid_syntax_errorscCr)Nz!async def f(a, b = 5, /, c): passrz!async def f(a = 5, b, /, c): passz(async def f(a = 5, b=1, /, c, d=2): passzasync def f(a = 5, b, /): passzasync def f(*args, /): passzasync def f(*args, a, /): passzasync def f(**kwargs, /): passzasync def f(/, a = 1): passzasync def f(/, a): passzasync def f(/): passzasync def f(*, a, /): passzasync def f(*, /, a): passzasync def f(a, /, a): passrzasync def f(a, /, *, a): passzasync def f(a, b/2, c): passzasync def f(a, /, c, /): passz async def f(a, /, c, /, d): passz&async def f(a, /, c, /, d, *, e): passz#async def f(a, *, c, /, d, e): passrrrrr
� test_invalid_syntax_errors_async.r z7PositionalOnlyTestCase.test_invalid_syntax_errors_asynccCs�ddd�}|�|ddd�d�|�|dddd	�d�|�td
��|dddd�Wd�n1s2wY|�|dd�d�|�td
��|ddd
�Wd�n1sWwY|�|ddd	�d�ddd�}|�|ddd�d�|�|dddd	�d�|�td
��|dddd�Wd�n1s�wY|�|dd�d�|�td
��|ddd
�Wd�n1s�wY|�|ddd	�d�dS)N�
�dcS�|||Srr�rr	�crrr
�fD�zDPositionalOnlyTestCase.test_optional_positional_only_args.<locals>.frr���r&�If\(\) got some positional-only arguments passed as keyword arguments: 'b'�r	r&�g�r	�
cSr$rrr%rrr
r'Qr()r"r#)rr"r#��assertEqualr�	TypeError�rr'rrr
�"test_optional_positional_only_argsCs,
��
��z9PositionalOnlyTestCase.test_optional_positional_only_argscC�,dd�dd�td�D��}t|dd�dS)N�def f(%s, /):
  pass
�, cs��|]}d|VqdS�zi%dNr��.0�irrr
�	<genexpr>`��zNPositionalOnlyTestCase.test_syntax_for_many_positional_only.<locals>.<genexpr>�,rr��join�ranger�rZfundefrrr
�$test_syntax_for_many_positional_only^�z;PositionalOnlyTestCase.test_syntax_for_many_positional_onlycCs�ddd�dd�}|�d|jj�|�d|jj�|�d|j�dd	d�d
d�}|�d|jj�|�d|jj�|�d|j�dS)Nrr)�gcS�dSrr�rr	r&�d�er'rGrrr
r'd�z:PositionalOnlyTestCase.test_pos_only_definition.<locals>.f�r))r�cSrHrrrIrrr
r'krL�rrr))r2�__code__�co_argcount�co_posonlyargcount�__defaults__r4rrr
�test_pos_only_definitioncsz/PositionalOnlyTestCase.test_pos_only_definitioncCs dd�}|�|ddg�d�dS)NcS�||Srrrrrr
r'srzBPositionalOnlyTestCase.test_pos_only_call_via_unpacking.<locals>.frrr)�r2r4rrr
� test_pos_only_call_via_unpackingrsz7PositionalOnlyTestCase.test_pos_only_call_via_unpackingcCs�dd�}d}|�t|��
|dd�Wd�n1swYdd�}d}|�t|��|ddd�Wd�n1s>wYd	d�}d
}|�t|��|ddd�Wd�dS1sawYdS)NcSrHrr�rrrr
r'yrLz@PositionalOnlyTestCase.test_use_positional_as_keyword.<locals>.f�If\(\) got some positional-only arguments passed as keyword arguments: 'a'rrXcSrHrrrrrr
r'rLrrcSrHrrrrrr
r'�rLzLf\(\) got some positional-only arguments passed as keyword arguments: 'a, b'�rr3)rr'�expectedrrr
�test_use_positional_as_keywordxs��"�z5PositionalOnlyTestCase.test_use_positional_as_keywordcCs�dd�}|�td��
|dd�Wd�n1swY|�td��|d�Wd�n1s4wY|�td��|�Wd�n1sMwY|�td��|ddd	d
�Wd�dS1skwYdS)NcSrHrrr%rrr
r'�rLzLPositionalOnlyTestCase.test_positional_only_and_arg_invalid_calls.<locals>.f�1f\(\) missing 1 required positional argument: 'c'rr�:f\(\) missing 2 required positional arguments: 'b' and 'c'z@f\(\) missing 3 required positional arguments: 'a', 'b', and 'c'z3f\(\) takes 3 positional arguments but 4 were givenr)rNrZr4rrr
�*test_positional_only_and_arg_invalid_calls�s�
��"�zAPositionalOnlyTestCase.test_positional_only_and_arg_invalid_callscCs�d
dd�}|dd�|�td��|d�Wd�n1swY|�td��|�Wd�n1s8wY|�td��|dddd	�Wd�dS1sVwYdS)Nr)cSrHrrr%rrr
r'�rLzUPositionalOnlyTestCase.test_positional_only_and_optional_arg_invalid_calls.<locals>.frr�1f\(\) missing 1 required positional argument: 'b'�:f\(\) missing 2 required positional arguments: 'a' and 'b'z=f\(\) takes from 2 to 3 positional arguments but 4 were givenrN)r)rZr4rrr
�3test_positional_only_and_optional_arg_invalid_calls�s


��"�zJPositionalOnlyTestCase.test_positional_only_and_optional_arg_invalid_callscCs�dd�}|dddddd�|�td��|ddddd�Wd�n1s&wY|�td	��|ddd�Wd�n1sBwY|�td
��
|dd�Wd�n1s]wY|�td��|d�Wd�n1swwY|�td��|�Wd�n1s�wY|�td
��|ddddddddd�Wd�n1s�wY|�td��|ddddddd�Wd�dS1s�wYdS)NcSrHrr)rr	r&rJrKrrr
r'�rLzSPositionalOnlyTestCase.test_positional_only_and_kwonlyargs_invalid_calls.<locals>.frrr))rJrKz-missing 1 required keyword-only argument: 'd')rKz6missing 2 required keyword-only arguments: 'd' and 'e'r]r^z; missing 3 required positional arguments: 'a', 'b', and 'c'zif\(\) takes 3 positional arguments but 6 positional arguments \(and 2 keyword-only arguments\) were givenrNrMr*��z,f\(\) got an unexpected keyword argument 'f'�8)rJrKr'rZr4rrr
�1test_positional_only_and_kwonlyargs_invalid_calls�s.���
���"�zHPositionalOnlyTestCase.test_positional_only_and_kwonlyargs_invalid_callscCs�dd�}|dd�|�td��|d�Wd�n1swY|�td��|�Wd�n1s7wY|�td��|ddd�Wd�dS1sTwYdS)	NcSrHrrrrrr
r'�rLzDPositionalOnlyTestCase.test_positional_only_invalid_calls.<locals>.frrr`raz3f\(\) takes 2 positional arguments but 3 were givenr)rZr4rrr
�"test_positional_only_invalid_calls�s

��"�z9PositionalOnlyTestCase.test_positional_only_invalid_callscCs�ddd�}|d�|�td��|�Wd�n1swY|�td��|ddd�Wd�dS1s:wYdS)	NrcSrHrrrrrr
r'�rLzRPositionalOnlyTestCase.test_positional_only_with_optional_invalid_calls.<locals>.frz1f\(\) missing 1 required positional argument: 'a'z=f\(\) takes from 1 to 2 positional arguments but 3 were givenr)�rrZr4rrr
�0test_positional_only_with_optional_invalid_calls�s
�"�zGPositionalOnlyTestCase.test_positional_only_with_optional_invalid_callscCsTdd�}|dddd�|�t��|dddd�Wd�dS1s#wYdS)NcSrHrrr%rrr
r'�rLz=PositionalOnlyTestCase.test_no_standard_args_usage.<locals>.frrr)r+r-)�assertRaisesr3r4rrr
�test_no_standard_args_usage�s
"�z2PositionalOnlyTestCase.test_no_standard_args_usagecCs6ddd�}|�d|j�d|_|�|ddd�d�dS)	Nrr)cSr$rrr%rrr
r'�r(z>PositionalOnlyTestCase.test_change_default_pos_only.<locals>.f)rr)rOrr*)r2rSr4rrr
�test_change_default_pos_only�s
z3PositionalOnlyTestCase.test_change_default_pos_onlycCs�dd�}|�|dd�d�|�|ddd�d�d
dd�}|�|d�d�dd�}|�|dd�d�d	d�}|�|dd�d�dS)NcSrUrrrrrr
�<lambda>��z5PositionalOnlyTestCase.test_lambdas.<locals>.<lambda>rrr)r/cSrUrrrrrr
rm�rncSrUrrrrrr
rm�rncSrUrrrrrr
rm�rnrhrV)r�xrrr
�test_lambdas�s
z#PositionalOnlyTestCase.test_lambdascCs�t|dd�t|dd�t|dd�t|d�t|d�t|d�t|d�t|d	�t|d
�t|d�t|d�t|d
d�t|dd�t|d�t|d�t|d�t|d�dS)Nzlambda a, b = 5, /, c: Nonerzlambda a = 5, b, /, c: Nonezlambda a = 5, b, /: Nonezlambda *args, /: Nonezlambda *args, a, /: Nonezlambda **kwargs, /: Nonezlambda /, a = 1: Nonezlambda /, a: Nonezlambda /: Nonezlambda *, a, /: Nonezlambda *, /, a: Nonezlambda a, /, a: Nonerzlambda a, /, *, a: Nonezlambda a, /, b, /: Nonezlambda a, /, b, /, c: Nonez lambda a, /, b, /, c, *, d: Nonezlambda a, *, b, /, c: Nonerrrrr
�test_invalid_syntax_lambda�s"










z1PositionalOnlyTestCase.test_invalid_syntax_lambdacCs�Gdd�d�}|�|��dd�d�|�|�|�dd�d�|�t|jdd�d}|�t|��|�jddd�Wd�dS1sCwYdS)Nc@�eZdZdd�ZdS)z<PositionalOnlyTestCase.test_posonly_methods.<locals>.ExamplecS�||fSrr)rrr	rrr
r'�rz>PositionalOnlyTestCase.test_posonly_methods.<locals>.Example.fN)�__name__�
__module__�__qualname__r'rrrr
�Example��rwrr�rrr,r/)r2r'rjr3r)rrwr[rrr
�test_posonly_methods�s"�z+PositionalOnlyTestCase.test_posonly_methodscCs8|�td��t�Wd�dS1swYdS)Nra)rr3rrrrr
�test_module_functions"�z+PositionalOnlyTestCase.test_module_functioncCsVdd�}|�|dd�dd�d�|�td��|dd�d�Wd�n1s(wY|�td	��|dd�ddd
�Wd�n1sGwYdd�}|�|dd�dd�d�dd�}|�|dd�dd�d�|�td��|dd�d�Wd�n1s�wY|�td	��|dd�ddd
�Wd�dS1s�wYdS)
Nc���fdd�}|S)Nc���||Srr�Zx2Zy2�ro�yrr
rG��:PositionalOnlyTestCase.test_closures.<locals>.f.<locals>.gr�ror�rGrrr
r'�z/PositionalOnlyTestCase.test_closures.<locals>.frrr)rNr"z2g\(\) missing 1 required positional argument: 'y2'z3g\(\) takes 2 positional arguments but 3 were givenrMcr|)Ncr}rrr~rrr
rGr�r�rr�rrr
r'r�cr|)Ncr}rrr~rrr
rG!r�r�rr�rrr
r' r�r1r4rrr
�
test_closures
s$���"�z$PositionalOnlyTestCase.test_closurescCs"dd�}Gdd�d�}dd�}dS)NcS�dtfdd�}|S)NrocSrHrr�rorrr
r'.�zZPositionalOnlyTestCase.test_annotations_in_closures.<locals>.inner_has_pos_only.<locals>.f��int�r'rrr
�inner_has_pos_only-�zOPositionalOnlyTestCase.test_annotations_in_closures.<locals>.inner_has_pos_onlyc@rr)zFPositionalOnlyTestCase.test_annotations_in_closures.<locals>.SomethingcSsdtfdd�}|S)NrocSrHrrr�rrr
r'5r�zXPositionalOnlyTestCase.test_annotations_in_closures.<locals>.Something.method.<locals>.fr�r4rrr
�method4r�zMPositionalOnlyTestCase.test_annotations_in_closures.<locals>.Something.methodN�rtrurvr�rrrr
�	Something3rxr�cSsdd�}|�S)NcSr�)NrocSrHrrr�rrr
r'<r�zsPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levels.<locals>.inner_has_pos_only.<locals>.fr�r�rrr
r�;r�zhPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levels.<locals>.inner_has_pos_onlyr)r�rrr
�multiple_levels:szLPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levelsr)rr�r�r�rrr
�test_annotations_in_closures+sz3PositionalOnlyTestCase.test_annotations_in_closurescCsrdd�}|�|ddd�dddif�|�td��
|dd�Wd�n1s(wY|�|d�dif�dS)Nc[rrr)�	something�kwargsrrr
r'CrzMPositionalOnlyTestCase.test_same_keyword_as_positional_with_kwargs.<locals>.f�*)r�r�z9f\(\) missing 1 required positional argument: 'something'r1r4rrr
�+test_same_keyword_as_positional_with_kwargsBs�zBPositionalOnlyTestCase.test_same_keyword_as_positional_with_kwargscCsHGdd�d�}|�|���d�|�|���d�|�|���d�dS)Nc@s0eZdZddd�Zd
dd�Zd
dd�d	d
�ZdS)z/PositionalOnlyTestCase.test_mangling.<locals>.Xr�cSs|Srr)r�_X__arrr
r'OrLz1PositionalOnlyTestCase.test_mangling.<locals>.X.f�+cSrsrr)rr��_X__brrr
�f2Rrz2PositionalOnlyTestCase.test_mangling.<locals>.X.f2�,)�_X__ccSs
|||fSrr)rr�r�r�rrr
�f3U�
z2PositionalOnlyTestCase.test_mangling.<locals>.X.f3N)r��r�r�)rtrurvr'r�r�rrrr
�XNs

r�r�r�)r�r�r�)r2r'r�r�)rr�rrr
�
test_manglingMs
z$PositionalOnlyTestCase.test_manglingcCr6)Nr7r8csr9r:rr;rrr
r>^r?zAPositionalOnlyTestCase.test_too_many_arguments.<locals>.<genexpr>r@rrrArDrrr
�test_too_many_arguments\rFz.PositionalOnlyTestCase.test_too_many_argumentscCs(t�t�}t�t�}t�t�}t�|�}t�|�}t�|�}|�|dd�d�d}|�t|��|ddd�Wd�n1s@wY|�|dd�d�d}|�t|��|ddd�Wd�n1sgwY|�|�d�d}|�t|��|ddd�Wd�dS1s�wYdS)Nrrryz\global_pos_only_f\(\) got some positional-only arguments passed as keyword arguments: 'a, b'rzbglobal_pos_only_and_normal\(\) got some positional-only arguments passed as keyword arguments: 'a'z`global_pos_only_defaults\(\) got some positional-only arguments passed as keyword arguments: 'a')	�pickle�dumpsrr
r�loadsr2rr3)rZpickled_posonlyZpickled_optionalZpickled_defaultsZunpickled_posonlyZunpickled_optionalZunpickled_defaultsr[rrr
�test_serializationas*





��"�z)PositionalOnlyTestCase.test_serializationcsxd
dd����td���ddd�Wd�n1swY��fdd�}|dd�|ddd	�|d�|�dS)Nrrc�s
�||fSrrrrrr
r'~s�z,PositionalOnlyTestCase.test_async.<locals>.frYrc
sXz�|i|��}|�d�Wnty#}z	|j}WYd}~nd}~ww��|d�dS)Nry)�send�
StopIteration�valuer2)�argsr��cororK�result�r'rrr
�_check_call�s��z6PositionalOnlyTestCase.test_async.<locals>._check_callr/ryrZ)rr�rr�r
�
test_async|s
�

z!PositionalOnlyTestCase.test_asynccCs�ddd�}|�td��|ddd�Wd�n1swY|dd�}|�t|�d�|ddd�}|�t|�d�|d�}|�t|�d�|�}|�t|�d�dS)	Nrrcss�||fVdSrrrrrr
r'�s�z0PositionalOnlyTestCase.test_generator.<locals>.frYrryr/)rr3r2�next)rr'�genrrr
�test_generator�s
�
z%PositionalOnlyTestCase.test_generatorcs>t��G�fdd�d�}Gdd�d|�}|�|�����dS)NcseZdZ�fdd�ZdS)z,PositionalOnlyTestCase.test_super.<locals>.Acs�Srrr��sentinelrr
r��rLz3PositionalOnlyTestCase.test_super.<locals>.A.methodNr�rr�rr
�A�sr�cseZdZ�fdd�Z�ZS)z,PositionalOnlyTestCase.test_super.<locals>.Ccs
t���Sr)�superr�r��	__class__rr
r��r�z3PositionalOnlyTestCase.test_super.<locals>.C.method)rtrurvr��
__classcell__rrr�r
�C�sr�)�objectr2r�)rr�r�rr�r
�
test_super�sz!PositionalOnlyTestCase.test_supercCs8dd�}dd�t�|�D�}|�d|�|�d|�dS)NcSsdttufdd�}dS)NrocSrHrrr�rrr
r'�r�zKPositionalOnlyTestCase.test_annotations_constant_fold.<locals>.g.<locals>.fr�r�rrr
rG�sz@PositionalOnlyTestCase.test_annotations_constant_fold.<locals>.gcSsg|]}|j|jf�qSr)�opnameZargvalr;rrr
�
<listcomp>�szIPositionalOnlyTestCase.test_annotations_constant_fold.<locals>.<listcomp>)Z	UNARY_NOTN)ZIS_OPr)�disZget_instructionsZassertNotInZassertIn)rrGZcodesrrr
�test_annotations_constant_fold�sz5PositionalOnlyTestCase.test_annotations_constant_foldN)r) rtrurvrrr!r5rErTrWr\r_rbrfrgrirkrlrprqrzr{r�r�r�r�r�r�r�r�r�r�rrrr
rs<

r�__main__ry)r�r�ZunittestZtest.supportrrr
rZTestCaserrt�mainrrrr
�<module>s
,�