403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.66
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_launcher.cpython-315.pyc
R
>lqj�~c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]QH(Gs]QH0G
s
\OQ6wc\	OQ2g]PH@sQsP
s\O&O)2O+QO)22%cQsP	sQQ	Q
QQQ
Q	QQP\O,QQ--QQ	QQP\O,QQ--QQ	QQP\O,QQQQ--QQ	QQP\O,---QQ	QQ
Q	QQP\O,Q\O&----s\QQ Q!Q"5sQ#O5Q$,\O72TTt,tFD!vqUQ%*O92Q&U0MJ#	tooN2sQ#O5Q'Q(,2sQ)sQ*s Q+s!Q,s"Q-s#Q.Q/2s$Q0Q12s%Q2Q3\	OL\%2s'P!ttooh)4�)�Path)�support�win32ztest only applies to Windows�py.exez_d.exezpy_d.exe�PythonTestSuite�DisplayNamezPython Test Suite�
SupportUrlzhttps://www.python.org/�3.100zX.Y version�InstallPath�ExecutablePath�X.Y.exe�3.100-32zX.Y-32 version�
X.Y-32.exe�3.100-arm64zX.Y-arm64 versionz
X.Y-arm64.exe�ExecutableArgumentsz-X fake_arg_for_test�ignoredz!Ignored because no ExecutablePath�PythonTestSuite1zPython Test Suite SinglezSingle Interpreter�PythonTestSuite/3.100zPythonTestSuite/3.100-32zPythonTestSuite/3.100-arm64)�	PY_PYTHON�
PY_PYTHON2�
PY_PYTHON3�
�
[defaults]:�NN�=z
[commands]ztest-command=TEST_EXE.exec�8�[U2oQU7cQUQ0!S!)� �")�str)�ss&�'C:\Python315\\Lib\test\test_launcher.py�quoter!^s$���A��A��a�x�Q�q�c��8�&�Q�&�c�\`�U1QknUO2FDvq#RVU2J	P!)c	�:�[U[2%cM[OV29^tt^2oUO	2FDvqERV4U2J	PPP2P![U[
2%c*[OVP[OU2P![QOU22g)%fhP!9h)Nz&don't know how to create data for '{}')
�
isinstance�dict�winreg�CreateKeyEx�itemsr�
SetValueEx�REG_SZ�	TypeError�format)�root�key�value�hkey�k�v�_create_registry_datas&&&   �r r4�3create_registry_data.<locals>._create_registry_datads�����e�T�"�"��#�#�D�.�.�$�!�K�K�M�D�A�)�$�1�5�*�/�.���s�
#�
#����d��v�}�}�e�D��D�K�K�E�R�S�S�/�.�.�s�$B>�>C	�C	)r))r.�datar2r3r4s&&  @r �create_registry_datar7cs'���
T��
�
�����d�q�)�r"c#�� �[O2FDo[OV2w�J	P![c oSO
Q6Xc	Po=P!gPo=hh9h3h)�)�	itertools�countr'�EnumKey�OSError�winerror)r.�i�exs&  r �	enum_keysrAtsM���
�_�_�
��	��.�.��)�)����	��{�{�c�!����	�s7�A*�=�A*�	A'�A'�A"�A*�!A"�"A'�'A*c
�F�[O[O*o[U2FDWo[OVUQ59^tt^2o[U[
U22PPP2[OV2JY	P!)%fhK,9h)��access)r'�	KEY_WRITE�KEY_ENUMERATE_SUB_KEYS�list�OpenKey�delete_registry_datarA�	DeleteKey)r.�keys�ACCESSr/r1s&&   r rIrI~sa��
�
�
�� =� =�
=�F��D�z��
�^�^�D�f�
5�
5�� ��y���7�6�����#��
5�
5�s�B	�B 
�B 
c
�v�QUQ0o[O]1[O[O1[O[O11FDIvq#[O
[OV![OU*Q52P	!	P
![cJ]h9h)zSoftware\Python\PythonCore\z\InstallPathrC)	r'�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINE�KEY_WOW64_64KEY�KEY_WOW64_32KEY�CloseKeyrH�KEY_READr=)�tagr/r.�flags&   r �is_installedrV�s���
(���\�
:�C�	�	!�	!�1�%�	�	"�	"�F�$:�$:�;�	�	"�	"�F�$:�$:�;��
��
	��O�O�F�N�N�4�V�_�_�t�=S�T�U������	��	�s� AB)�)	B8�3B8�7B8c�4`�\sQs]�snQsQsQsQsUsP!)�
PreservePyInic�B�[U2UmV mPUmP!�N)r�path�content�
_preserved)�selfr[r\s&&&r �__init__�PreservePyIni.__init__�s����J��	�����r"c���UOO2UmUOO	UO
QQ5P![cPSmK=h9h)Nzutf-16��encoding)r[�
read_bytesr]�FileNotFoundError�
write_textr\�r^s&r �	__enter__�PreservePyIni.__enter__�sP��	#�"�i�i�2�2�4�D�O�	
�	�	���T�\�\�H��=��!�	#�"�D�O�	#�s�A�	A �A �A c��UOeUOO2P!UOOUO2P!rZ)r]r[�unlink�write_bytes)r^�exc_infos&*r �__exit__�PreservePyIni.__exit__�s2���?�?�"��I�I�����I�I�!�!�$�/�/�2r")r]r\r[)	�__name__�
__module__�__qualname__�__firstlineno__r_rhrn�__static_attributes__�__classdictcell__��
__classdict__s@r rXrX�s�����
>�3�3r"rXc�`�\sQs]�snPs\Q2sQsQQksQs	\
OQ	Qk2s\
OQ2s
QsUsP!)
�
RunPyMixinc	�>�Po[O2%c0[[O2O
[*oLh[OQ2OQ2FD<oU%fJ
[U2[*oUO2%fJ;L	PoU%Cc[OUQ,[O[O[OQQQ59^tt^2oUOO2[!UO"Q2O%2]*O'Q2]*oUO"O)2UO+]
2PPP2[O,O/W2%fPoU%f*[2O4Q	O7[22gU!)%fhKj9h[0cPoKUh9h)
N�PATH�;�-h�ascii�ignore)�stdin�stdout�stderrrc�errorsrrzcannot locate '{}' for test)�	sysconfig�is_python_buildr�sys�
executable�parent�PY_EXE�os�getenv�split�is_file�
subprocess�Popen�PIPEr��close�nextr��
splitlines�
rpartition�read�wait�version�
startswithr=�unittest�SkipTestr-)�cls�py_exe�pr�s&   r �find_py�RunPyMixin.find_py�s�����$�$�&�&��#�.�.�)�0�0�6�9�F��Y�Y�v�&�,�,�S�1���1�!�!�W�v�-�F��~�~�'�'��	2����6�
��%�%��T�N�$�/�/�%�?�?�%�?�?�$�#�
����G�G�M�M�O�"�1�8�8�T�2�=�=�?��B�M�M�c�R�ST�U�G��H�H�M�M�O��F�F�2�J���{�{�-�-�g�6�6�!�F���#�#�-�4�4�V�<��
��
�+����
���
�s>�AH�BG9�,H�H�9H		�H		�H�	H�H�Hc�j�UO%fUO2UmUO!rZ)r�r�rgs&r �
get_py_exe�RunPyMixin.get_py_exe�s"���{�{�{��,�,�.�D�K��{�{�r"c	��UO%fUO2Um.Qlo-[OO	2TTt-tFD-vqxUO2U7fJUO2UaJ/	tooAQQQQQP-AS9%f-O	2TTt-tFDvqxUO2UaJ	tooAo[
UQP29o	%cUOQU	2U%fUO,UNo[OUUUO[O[O[OQ59^tt^2o
U
OO2U
O]
2U
OO2O!QQ	2oU
O"O2O!Q
Q	2O%QQ2oPPP2W
O&U6wcn[(O*%cXU%fP[-Q
2[-UO,UN2[-Q2[-W2[-Q2[-W2U%cBU
O&U6wc1[O.U
O&UO,UNWW2gUO1VJO&2WO32T
t-tFDbo
U
O5Q2%cJQU
7fJ%U
O7Q2]*U
O7Q2]*O92aJd	oo
WUQ$V�Q$U!ttoohttooh)%fhCK�9htto
h)�VIRTUAL_ENV�PYLAUNCHER_DEBUG�1�PYLAUNCHER_DRYRUN�PYLAUNCHER_LIMIT_TO_COMPANY�_ini_dir�_PYLAUNCHER_INIDIR)�envr�r�r�r��utf-8�replacer~u��?z
++ COMMAND ++z++ STDOUT ++z++ STDERR ++�#�:r�r�>rrrr�)r�r�r��environr)�upper�getattr�
setdefaultr�r�r�r�r�r�r�r��decoder�r��
returncoder�verbose�print�CalledProcessError�assertEqualr�r��	partition�lstrip)r^�argsr��
allow_fail�expect_returncode�argvrr2r3�ini_dirr��out�errrr6s&&&&&&         r �run_py�RunPyMixin.run_py�s����{�{�{��,�,�.�D�K�I��
�(*�
�
�(8�(8�(:�V�(:���a�g�g�i�v�>U�|�q�w�w�y�!�|�(:�V�
�����)�2�	
�
*-����(9�(9�(;�<�(;���q�w�w�y�!�|�(;�<�
���d�J��5�5�7�5��N�N�/��9���K�K�'�$�'�D�
�
�
����{�{��/�/��?�?��?�?�

�
��
�G�G�M�M�O�
�F�F�2�J��(�(�-�-�/�(�(��)�<�C��(�(�-�-�/�(�(��)�<�D�D�X�s�S�C�
�
�<�<�,�,�������/�"��4�;�;�&��&�'��.�!��#�J��.�!��#�J��!�,�,�*;�;��/�/����t�{�{�>R�T�>R�TW�Y\�]�]����.���=��^�^�%�
�%���<�<��$�
>�),���
>�A�K�K���Q�����S�!1�!�!4�!;�!;�!=�=�%�	
�
�
��X���X�����QW��=�
�
�
��.
s8�M&�.M&�+M,�$BM2�/N�N�AN�2N	�;N	c���[UQP2oU%f@[OOQ2oU%f[O
Q2gSo[
[U2Q*U2!)r��LOCALAPPDATAz5LOCALAPPDATA environment variable is missing or emptyzpy.ini)r�r�r��getr�r�rXr)r^r\r��
local_appdatas&&  r �py_ini�RunPyMixin.py_ini
s[���$�
�D�1����J�J�N�N�>�:�M� ��'�'�);�<�<�#�G��T�'�]�X�5�w�?�?r"c#�N �[[O[O2Q5Q*2o[U[2%cUOU2LUOVQ5Uw�UO2P!SO2h9h3h))�dirz.pyrb)
r�tempfile�mktempr��getcwdr%�bytesrlrfrk)r^r\rc�files&&& r �script�RunPyMixin.scriptsh����H�O�O��	�	��4�u�<�=���g�u�%�%����W�%��O�O�G�O�7�	��J��K�K�M��D�K�K�M�s$�AB%�$B%�9B�>B%�B"�"B%c#�X �[O2Q*oUOP	P	Q5S[%cQLQ*oUO	2UQ[UO2-1w�[OU2P![OS2h9h3h)�Scripts)�exist_ok�parentszpython_d.exez
python.exer�)	r�cwd�mkdir�DEBUG_BUILD�touchrr��shutil�rmtree)r^�venv�venv_exes&  r �	fake_venv�RunPyMixin.fake_venv su����x�x�z�I�%���
�
�D�$�
�/��k�k�N�|�L������	 ��]�C����,<�=�=�=��M�M�$���F�M�M�$��s#�=B*�B*�B�7B*�B'�'B*)r�)NFrN)r�)rprqrrrsr��classmethodr�r�r�r��
contextlib�contextmanagerr�r�rtrurvs@r ryry�sb����
�F��&��&�P�
.�`@����	��	���� �� r"ryc�V`�\sQsQsn\Q2s\Q2sQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Q s#Q!s$Q"s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Q+s.Q,s/Q-s0Q.s1Q/s2Q0s3Q1s4Q2s5Us6P!)3�TestLauncher�,c��[O[OQ29^tt^2o[U[2PPP2[
O%c[OQ2o[O2UmUO[OUOP	Q5P!)%fhK�9h)�Software\Pythonz!reg query HKCU\Software\Python /s)�
ignore_errors)r'�	CreateKeyrNr7�	TEST_DATArr�r��check_outputr��mkdtempr��addClassCleanupr�r�)r�r/r�s&  r �
setUpClass�TestLauncher.setUpClass-s���
�
�
�f�6�6�?�
L�
L�PS� ��i�0�M��?�?�?��'�'�(M�N�A� �'�'�)������F�M�M�3�<�<�t��L�M�
L�s�B<�<C	�C	c��[O[OQ[O[O*Q59^tt^2o[U[2PPP2P!)%fhP!9h)r�rC)r'rHrNrErFrIr�)r�r/s& r �
tearDownClass�TestLauncher.tearDownClass9sj��
�^�^�F�4�4��RX�Rb�Rb�ek�fC�fC�SC�D�D�HK� ��i�0�D�D�D�D�s�A/�/B	�8B	c��UOQ,2oUOUO[UQ*22UO[O
O
Q2]*UQ*2P!)�-0�argv0rr�)r�r�r�rr�r�r��r^r6s& r �test_version�TestLauncher.test_version?sW���{�{�D�6�"��������d�4��=�&9�:�������.�.�s�3�A�6��Y��Hr"c�^�UOQ,2oUOQUQ*2P!)r}�TruezSearchInfo.help�r�r�r�s& r �test_help_option�TestLauncher.test_help_optionDs(���{�{�D�6�"�������&7�!8�9r"c	��QFDjvqoUOU29^tt^2UOU,2oUOV$Q*2UOV4Q*2PPP2Jl	P!)%fhJ�9h)r�zSearchInfo.listzSearchInfo.listPaths))r�r��False)�-0prr�)�--listr�r)�--list-pathsrr�)�subTestr�r�)r^�opt�v1�v2r6s&    r �test_list_option�TestLauncher.test_list_optionHso��
�K�C�R����c�"�"��{�{�C�5�)��� � ��*;�%<�=�� � ��*@�%A�B�#�"�

�#�"�"�s�AA5	�5B
�>B
c
��UOQ,2o-o-oUQ*O2FDFo[OQU2oU%fJ$UO	]2V%O	]2$JH	[
FDyo[
U*oSTt,tFD#o[
Vx*[2%fJ!UMJ%	o	oS	FDo
QUQU
0oVz*Q*V;$J	UOQUQ0P2J{	UO2TT
t-tFDvq�V�7fJ
V�aJ	ooo
UOV>2P!ttohtto
oh[O%c[Q2[SQ*2g9h)rr��\s*(.+?)\s+?(\*\s+)?(.+)$�-V:�/r�/ignored�*** STDOUT ***)r�r��re�match�groupr�r%r&�popr)�assertDictEqualrr�r�)r^r6�found�expect�line�m�company�company_data�t�tagsrT�argr2r3�actuals&              r �	test_list�TestLauncher.test_listTsK���{�{�H�:�&��������N�-�-�/�D����5�t�<�A��q�$%�G�G�A�J��g�g�a�j�!�0�!�y�G�$�W�-�L�+�Q�|�!�z�,�/�4�/P�A�A�|�D�Q����G�9�A�c�U�+��*�/�
�>����
�J�J��W�I�X�.��5�
!�$)�;�;�=�@�=�4�1�A�K�$�!�$�=��@�	�� � ��0��R��A��	������&�'��d�8�n�%��s*� D>�9D>�E�!E�+E	�	E?�!E?c�2�UOQ,2o-o-oUQ*O2FDFo[OQU2oU%fJ$UO	]2V%O	]2$JH	[
FD�o[
U*oSTt,tFD#o[
Vx*[2%fJ!UMJ%	o	oS	FDIo
QUQU
0oVz*Q*oUQ*V;$V;99*QUQ***
tt$JK	UOQUQ	0P2J�	UO2T
Tt-tFDvq�V�7fJ
V�aJ	oo
oUO!V?2P!ttoh[cJ�h9h[cK[[SP*2[[O2O*2X;$CJh9httoo
h["O$%c['Q
2['SQ*2g9h)rr�r
rrr
rrrrr)r�r�rrrr�r%r&�KeyErrorrrr�r��namerr)rrr�r�)r^r6rrrrrrrrrTr�installr2r3r s&               r �test_list_paths�TestLauncher.test_list_pathsms����{�{�N�+�,��������N�-�-�/�D����5�t�<�A��q�$%�G�G�A�J��g�g�a�j�!�0�!�y�G�$�W�-�L�+�Q�|�!�z�,�/�4�/P�A�A�|�D�Q����G�9�A�c�U�+��&�+�M�:��W�")�*:�";�F�K����s�W�5J�-K�'K�K��
�
�J�J��W�I�X�.��5�!�"$)�;�;�=�@�=�4�1�A�K�$�!�$�=��@�	�� � ��0��#R��$������W�"%�d�7�4�=�&9�D����<P�<U�<U�&U�"V�F�K�W��
A��	������&�'��d�8�n�%��sg� E+�9E+�F�+"E0�=G�G�G �0	E?�:E?�;F�>E?�?F�	G�AG�G� H�8Hc���QoUOQUQ0,2oUOQUQ*2UOVQ*2UOQUQ*2P!)rrrr�
LaunchCommand�env.companyr	�env.tagr��r^rr6s&  r �test_filter_to_company�#TestLauncher.test_filter_to_company�s]��#���{�{�c�'��!�,�-�.������D��$9�:�����}�"5�6�����$�y�/�2r"c���QoUOQUQ0,[QQ5Q5oUOQUQ*2UOVQ*2UOQ	UQ
*2P!)rrrz3.0)r�r�rr*r+r	r,)r�r&r�r-s&  r �#test_filter_to_company_with_default�0TestLauncher.test_filter_to_company_with_default�sf��#���{�{�c�'��!�,�-�4�%�3H�{�I������D��$9�:�����}�"5�6�����$�y�/�2r"c�4�QoUOQ,2oUOQUQ*2UOVQ*2UOQUQ*2UOQ,2oUOQUQ*2UOVQ*2UOQ	UQ*2UOQ
,2oUOQUQ*2UOVQ*2UOQUQ*2P!)
rz-V:3.100rr*r+r	r,z-V:3.100-32rr
z-V:3.100-arm64z"X.Y-arm64.exe -X fake_arg_for_testrr�r-s&  r �test_filter_to_tag�TestLauncher.test_filter_to_tag�s���#���{�{�J�<�(������D��$9�:�����}�"5�6�����$�y�/�2��{�{�M�?�+������t�O�'<�=�����}�"5�6�����T�)�_�5��{�{�,�-�.�����=�t�O�?T�U�����}�"5�6������Y��8r"c��QoUOQUQ0,]gQ5oUOQUQ0,2oUOQUQ*2UOVQ*2UOQUQ	*2P!)
rrz/3.1�r�z/3.100rr*r+r	r,r�r-s&  r �test_filter_to_company_and_tag�+TestLauncher.test_filter_to_company_and_tag�s{��#���{�{�c�'��$�/�0�C�{�H���{�{�c�'��&�1�2�3������D��$9�:�����}�"5�6�����$�y�/�2r"c�:�QoUOQ,QU-]gQ5oP!)rz-V:Nonexistentr��r�r�)r�r-s&  r �test_filter_with_single_install�,TestLauncher.test_filter_with_single_install�s+��$���{�{�
��.��8�!��
�r"c���UOQ,P	Q5oUOQUQ*2UO
UQ*Q2P![Oc[OQ2gh9h)�-3�r�z(requires at least one Python 3.x install�
PythonCorer+r,�3.)r�r�r�r�r�r��assertStartsWithr�s& r �test_search_major_3� TestLauncher.test_search_major_3�sr��	P��;�;��v�$�;�7�D�	
����t�M�':�;����d�9�o�t�4���,�,�	P��#�#�$N�O�O�	P�s�A�A7�A7c���UOQ,P	Q5oUOQUQ*2UOUQ*Q2UOUQ*Q2P![Ocf[9PIc&Q[	]]22D%fJP	L	P
LQ[	]]222%f[
OQ2ggh9h)	z-3-32rAc3�L�SF �Do[QUQ02w�	J	P!3h)rC�-32)rV)�.0r?s& r �	<genexpr>�6TestLauncher.test_search_major_3_32.<locals>.<genexpr>�s ��,���,�Q�|�b���3�K�0�0�,�s�$z/requires at least one 32-bit Python 3.x installrBr+r,rCrI)
r�r�r��any�ranger�r�r�rD�assertEndsWithr�s& r �test_search_major_3_32�#TestLauncher.test_search_major_3_32�s���	��;�;��y�T�;�:�D�
	
����t�M�':�;����d�9�o�t�4����D��O�U�3��
�,�,�	��3�G�%��2�,�G�3�3�3�G�%��2�,�G�G�G��'�'�(Y�Z�Z��	�s#�A$�$C�8C�C�"#C�Cc��UOQ,P	Q5oUO
QUQ*2UOUQ*Q2P![Oc*[Q2%f[O
Q2ggh9h)�-2rAz2.7z(requires at least one Python 2.x installrBr+r,z2.)r�r�r�rVr�r�r�rDr�s& r �test_search_major_2� TestLauncher.test_search_major_2�s}��	��;�;��v�$�;�7�D�
	
����t�M�':�;����d�9�o�t�4���,�,�	���&�&��'�'�(R�S�S��	�s�A�B	�B	�1B	c�P�UO[29^tt^2UOQ,2oPPP2UOQWQ*2UOQUQ*2UOQUQ*O	22P!)%fhKk9h)�-argr�SearchInfo.companyr	�SearchInfo.tag�X.Y.exe -argr��r��TEST_PY_DEFAULTSr�r��stripr�s& r �test_py_default�TestLauncher.test_py_default�sz��
�[�[�)�
*�
*��;�;��x�(�D�+����*�D�1E�,F�G�����$�'7�"8�9������h��)=�)=�)?�@�	+�
*�s�B�B%	�B%	c�R�UO[29^tt^2UOQQ,2oPPP2UOQWQ*2UOQUQ*2UOQUQ*O	22P!)%fhKk9h)rSrWrrXr
rY�X.Y-32.exe -argr�r[r�s& r �test_py2_default�TestLauncher.test_py2_default�s}��
�[�[�)�
*�
*��;�;��f�~�.�D�+����*�D�1E�,F�G�����T�*:�%;�<����*�D��N�,@�,@�,B�C�	+�
*���B�B&	�B&	c�R�UO[29^tt^2UOQQ,2oPPP2UOQWQ*2UOQUQ*2UOQUQ*O	22P!)%fhKk9h)r@rWrrXrrY�'X.Y-arm64.exe -X fake_arg_for_test -argr�r[r�s& r �test_py3_default�TestLauncher.test_py3_default�s}��
�[�[�)�
*�
*��;�;��f�~�.�D�+����*�D�1E�,F�G������-=�(>�?����B�D��N�DX�DX�DZ�[�	+�
*�rdc���UOQ,[Q5oUOQUQ*2UOQUQ*2UOQUQ*O22P!)rWr1rrXr	rYrZr��r��TEST_PY_ENVr�r]r�s& r �test_py_default_env� TestLauncher.test_py_default_env�s`���{�{�F�8��{�5�����*�D�1E�,F�G�����$�'7�"8�9������h��)=�)=�)?�@r"c���UOQQ,[Q5oUOQUQ*2UOQUQ*2UOQUQ*O22P!)	rSrWr1rrXr
rYrar�rjr�s& r �test_py2_default_env�!TestLauncher.test_py2_default_env�sc���{�{�D�&�>�{�{�;�����*�D�1E�,F�G�����T�*:�%;�<����*�D��N�,@�,@�,B�Cr"c���UOQQ,[Q5oUOQUQ*2UOQUQ*2UOQUQ*O22P!)	r@rWr1rrXrrYrfr�rjr�s& r �test_py3_default_env�!TestLauncher.test_py3_default_env�sc���{�{�D�&�>�{�{�;�����*�D�1E�,F�G������-=�(>�?����B�D��N�DX�DX�DZ�[r"c���UO[29^tt^2Q
FD�oUOU29^tt^2UOQ,UQ0Q5oUO	QUQ*2UO	QUQ*2UO	QUQ	*O22PPP2J�	PPP2P!)%fhJ�9h)%fhP!9h)�"py.exe"�	--versionz
 --version�r�rrXr	rYzX.Y.exe --versionr�)rurz"py"�py)r�r\rr�r�r])r^r�r6s&  r �test_py_default_short_argv0�(TestLauncher.test_py_default_short_argv0s���
�[�[�)�
*�
*�=���\�\�%�(�(��;�;��}�e�W�J�;O�;�P�D��$�$�%6��=Q�8R�S��$�$�W�d�3C�.D�E��$�$�%8�$�x�.�:N�:N�:P�Q�	)�(�>�+�
*�(�(�(��+�
*�
*�s/� C�A1C
�0C�C�C�	C�C+	�#C+	c��UOQ,[Q5oPoUQ*O2FD6o[OQU2oU%fJ$UO]2oL	UO
QU2P!)r�r1r�z\s*-V:(.+?)\s+?\*\s+(.+)$r)r�rkr�rrrr�)r^r6�defaultrrs&    r �test_py_default_in_list�$TestLauncher.test_py_default_in_listsk���{�{�D�6�{�{�3������N�-�-�/�D����5�t�<�A��q��'�'�!�*���	0�
	
���0�'�:r"c
��UO29^tt^2vqUOQ,UQ5oUQ*O2FDOo[OQU2oU%fJ$UO[
U2UO]22LM	[O%c%[UQ*2[UQ*2UOQ2UOQ,UQ5oUQ*O2FDFo[OQU2oU%fJ$UOQUO]22L	UOQ2PPP2P!)%fhP!9h)	rr1r�z
\s*\*\s+(.+)$r�zdid not find active venv pathr�zActive venvzdid not find active venv entry)r�r�r�rrr�rrrr�r��fail)r^r�r�r6rrs&     r �test_virtualenv_in_list�$TestLauncher.test_virtualenv_in_lists��
�^�^�
�
��(��;�;��w�C�;�0�D��X��1�1�3���H�H�-�t�4���1��$�$�S��]�A�G�G�A�J�?��	4��?�?�?��$�x�.�)��$�x�.�)��	�	�9�:��;�;��v�3�;�/�D��X��1�1�3���H�H�-�t�4���1��$�$�]�A�G�G�A�J�?��	4��	�	�:�;�)�
�
�
�s&�AE8�-AE8�2BE8�77E8�8F		�F		c��UO29^tt^2vqUO,-UAQQ-AQ5oUOQ,-UAQQ-AQ5oPPP2UOWQ*O2[	W22UOUQ*Q2UOWQ*O2[	U22UOUQ*Q2P!)%fhK�9h)rzPythonTestSuite/3r1z-V:PythonTestSuite/3r�zSearchInfo.lowPriorityTagr�)r�r�r�r]r!�assertNotEqual)r^r�r��data1�data2s&    r �test_virtualenv_with_env�%TestLauncher.test_virtualenv_with_env-s���
�^�^�
�
��(��K�K��(Q�3�(Q��=P�(Q�K�R�E��K�K�!7� 8�>g��>g�k�Sf�>g�K�h�E��	
����x��.�.�0�%��/�B�����:�;�V�D����E�(�O�1�1�3�U�8�_�E����E�"=�>��G��
�s�6C,�,C<	�5C<	c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	�#! /usr/bin/python -prearg�-postargrrXr	rY�X.Y.exe -prearg �	 -postargr��r�r\r�r�r�r!r]�r^r�r6s&  r �test_py_shebang�TestLauncher.test_py_shebang8s���
�[�[�)�
*�
*����9�:�:�f��{�{�F�J�#7�8��;�+�	
���*�D�1E�,F�G�����$�'7�"8�9����+�E�&�M�?�)�D�d�8�n�FZ�FZ�F\�]�	;�:��+�
*��.�C�C	�
C�C
�C
�C�C(	�!C(	c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	z#! python -preargr�rrXr	rYr�r�r�r�r�s&  r �test_python_shebang� TestLauncher.test_python_shebang@s���
�[�[�)�
*�
*����0�1�1�V��{�{�F�J�#7�8��2�+�	
���*�D�1E�,F�G�����$�'7�"8�9����+�E�&�M�?�)�D�d�8�n�FZ�FZ�F\�]�	2�1��+�
*�r�c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	z#! /usr/bin/python2 -preargr�rrXr
rY�X.Y-32.exe -prearg r�r�r�r�s&  r �test_py2_shebang�TestLauncher.test_py2_shebangHs���
�[�[�)�
*�
*����:�;�;�v��{�{�F�J�#7�8��<�+�	
���*�D�1E�,F�G�����T�*:�%;�<����.�u�V�}�o�Y�G��h��-�-�/�	1�	<�;��+�
*�r�c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	�#! /usr/bin/python3 -preargr�rrXrrY�+X.Y-arm64.exe -X fake_arg_for_test -prearg r�r�r�r�s&  r �test_py3_shebang�TestLauncher.test_py3_shebangQs���
�[�[�)�
*�
*����:�;�;�v��{�{�F�J�#7�8��<�+�	
���*�D�1E�,F�G������-=�(>�?����F�u�V�}�o�U^�_��h��-�-�/�	1�	<�;��+�
*�r�c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	z#! /usr/bin/python -prearg
r�rrXr	rYr�r�r�r�r�s&  r �test_py_shebang_nl�TestLauncher.test_py_shebang_nlZs���
�[�[�)�
*�
*����;�<�<���{�{�F�J�#7�8��=�+�	
���*�D�1E�,F�G�����$�'7�"8�9����+�E�&�M�?�)�D��h��-�-�/�	1�	=�<��+�
*�r�c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	z#! /usr/bin/python2 -prearg
r�rrXr
rYr�r�r�r�r�s&  r �test_py2_shebang_nl� TestLauncher.test_py2_shebang_nlcs���
�[�[�)�
*�
*����<�=�=���{�{�F�J�#7�8��>�+�	
���*�D�1E�,F�G�����T�*:�%;�<����.�u�V�}�o�Y�G��h��-�-�/�	1�	>�=��+�
*�r�c	���UO[29^tt^2UOQ29^tt^2oUOUQ,2oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q[W2Q0UQ*O
22P!)%fhK�9h)%fhK�9h)	z#! /usr/bin/python3 -prearg
r�rrXrrYr�r�r�r�r�s&  r �test_py3_shebang_nl� TestLauncher.test_py3_shebang_nlls���
�[�[�)�
*�
*����<�=�=���{�{�F�J�#7�8��>�+�	
���*�D�1E�,F�G������-=�(>�?����F�u�V�}�o�U^�_��h��-�-�/�	1�	>�=��+�
*�r�c
���UO[29^tt^2UOQ29^tt^2oUOUQ,QUQ0Q5oPPP2PPP2UO	QWQ*2UO	QUQ*2UO	Q	WQ0UQ
*O22P!)%fhKw9h)%fhK�9h)r�r�z
"py.exe" "z
" -postargrwrrXr	rYzX.Y.exe -prearg "r�)r�r\r�r�r�r]r�s&  r �test_py_shebang_short_argv0�(TestLauncher.test_py_shebang_short_argv0us���
�[�[�)�
*�
*����9�:�:�f��{�{�F�J�#7�
�6�(�R\�>]�{�^��;�+�	
���*�D�1E�,F�G�����$�'7�"8�9����,�V�H�J�?��h��AU�AU�AW�X�;�:��+�
*�s.�C�C	�C�C
�C
�
C�C%	�C%	c	��UO[29^tt^2QOQ2oUOQU*29^tt^2oUO	UQ,2oPPP2PPP2UOQWQ*2UOQUQ*2UOQ[
W2Q	0UQ
*O22P!)%fhK�9h)%fhK�9h)r�r�sr�rrXr	rYr�r�r�)r�r\�encoder�r�r�r!r]�r^r\r�r6s&   r �test_py_shebang_valid_bom�&TestLauncher.test_py_shebang_valid_bom~s���
�[�[�)�
*�
*�2�9�9�'�B�G����_�w�6�7�7�6��{�{�F�J�#7�8��8�+�	
���*�D�1E�,F�G�����$�'7�"8�9����+�E�&�M�?�)�D�d�8�n�FZ�FZ�F\�]�	8�7��+�
*�s/�2C0�C	�%C0�C-
�&C-
�(C0�0D	�9D	c	�8�UO[29^tt^2QOQ2oUOQU*29^tt^2oUO	UQ,2oPPP2PPP2UOQWQ*2UO
QUQ*2UO
QUQ	*2UO
Q
[W2Q0UQ*O22P!)%fhK�9h)%fhK�9h)
r�r�s謹r�zInvalid BOMr�rrXr	rY�X.Y.exe r�r�)	r�r\r�r�r��assertInr�r!r]r�s&   r �test_py_shebang_invalid_bom�(TestLauncher.test_py_shebang_invalid_bom�s���
�[�[�)�
*�
*�3�:�:�7�C�G����_�w�6�7�7�6��{�{�F�J�#7�8��8�+�	
�
�
�m�T�(�^�4����*�D�1E�,F�G�����$�'7�"8�9����8�E�&�M�?�)�<�d�8�n�>R�>R�>T�U�8�7��+�
*�s/�2D	�C6	�%D	�6D
�?D
�D	�	D	�D	c� �UOQOQQ,229^tt^2UO,P	]gQ5oPPP2UOQWQ*2UOQUQ*2P!)%fhKD9h)rrzpython=3.999-64)r�r�z3.999-64rYr�zSearchInfo.oldStyleTag)r��joinr�r�r�s& r �test_py_handle_64_in_ini�%TestLauncher.test_py_handle_64_in_ini�sr��
�[�[����L�2C�#D�E�
F�
F��;�;�r�d�c�;�J�D�G�	
����T�*:�%;�<������&>�!?�@�	G�
F�s�A=�=B
	�B
	c
�z�[Q2O2oUO2UOUO2UO[29^tt^2UOQUOQ029^tt^2oUOUQ,QUOQ[OQ20-Q5oPPP2PPP2UO[U2Q[W2Q0WQ	*O22P!)%fhKY9h)%fhKd9h�
zarbitrary-exe-name.exe�#! /usr/bin/env z -preargr�r{r|r1z	 -prearg r�r�)r�absoluter��
addCleanuprkr�r\r��stemr�r�r�r�r�r!r]�r^�exer�r6s&   r �test_search_path�TestLauncher.test_search_path�s����+�,�5�5�7���	�	������
�
�#�
�[�[�)�
*�
*����/����z��B�C�C�v��{�{��Z�(��C�J�J�<�q����6�1B�0C�!D�E�#���D�+�	
���E�#�J�<�y��v���y�I��h��-�-�/�	1�D�C��+�
*��0�#(D*�;D	�D*�D'
� D'
�"D*�*D:	�3D:	c
�z�[Q2O2oUO2UOUO2UO[29^tt^2UOQUOQ029^tt^2oUOUQ,QUOQ[OQ20-Q5oPPP2PPP2UO[U2Q[W2Q0WQ	*O22P!)%fhKY9h)%fhKd9hr�)rr�r�r�rkr�r\r�r%r�r�r�r�r�r!r]r�s&   r �test_search_path_exe�!TestLauncher.test_search_path_exe�s����+�,�5�5�7���	�	������
�
�#�
�[�[�)�
*�
*����/����z��B�C�C�v��{�{��Z�(��C�J�J�<�q����6�1B�0C�!D�E�#���D�+�	
���E�#�J�<�y��v���y�I��h��-�-�/�	1�D�C��+�
*�r�c
��UO2OoUO[29^tt^2UO	QU029^tt^2oUOU,QUO2OQ[OQ20-Q5oPPP2PPP2UOQ[W20WQ*O22P!)%fhKM9h)%fhKX9h)r�r{r|r1r�r�)r�r�r�r\r�r�r�r�r�r�r!r])r^r�r�r6s&   r �test_recursive_search_path�'TestLauncher.test_recursive_search_path�s������ �%�%��
�[�[�)�
*�
*����/��v�6�7�7�6��{�{��H��D�O�O�$5�$<�$<�#=�Q�r�y�y��?P�>Q�!R�S�#���8�+�	
���8�E�&�M�?�3�T�(�^�5I�5I�5K�L�
8�7��+�
*�s0�C6�AC#	�C6�#C3
�,C3
�.C6�6D	�?D	c�b�UOQ,QQ-]oQ5oUQ*O2o[OQQ,[O[O
Q5UO
QU2UO
Q	U2P![cSO
QS2K3h9h)
z-V:3.10�PYLAUNCHER_ALWAYS_INSTALLr�r<r�z
winget.exerv)r�r�zms-windows-store://�9PJPW5LDXLZ5)r�r]r��
check_callr��STDOUTr�re)r^r6�cmds&  r �test_install�TestLauncher.test_install�s����{�{�I�;�-H�#�,N�be�{�f���8�n�"�"�$��	-��!�!�<��"=�j�o�o�^h�^o�^o�p�
�M�M�,��,��
�
�n�c�*��!�	6��M�M�/��5�	6�s�7B�	B.�B.�-B.c��UOQ29^tt^2oUOU,2oPPP2UOQ[W20WQ*O	22P!)%fhKE9h)z#! C:/some_random_app -withargzC:\some_random_app -witharg r�)r�r�r�r!r]r�s&  r �test_literal_shebang_absolute�*TestLauncher.test_literal_shebang_absolute�s^��
�[�[�9�
:�
:�f��;�;��x�(�D�;����+�E�&�M�?�;���N� � �"�	
�;�
:�s�A+�+A;	�4A;	c�H�UOQ29^tt^2oUOU,2oPPP2UO[WOOQ*2Q[U20WQ*O22P!)%fhKk9h)z#! ..\some_random_app -witharg�some_random_app�
 -witharg r��r�r�r�r!r�r]r�s&  r �test_literal_shebang_relative�*TestLauncher.test_literal_shebang_relative�sy��
�[�[�:�
;�
;�v��;�;��x�(�D�<�����V�]�]�)�)�,=�=�>�?�z�%�PV�-��Y���N� � �"�	
�<�
;�s�B�B!	�B!	c�`�UOQ29^tt^2oUOU,2oPPP2UO[WOQ*2Q[U20WQ*O22UOQ29^tt^2oUOU,2oPPP2UO[UOQ*2Q[U20UQ*O22P!)%fhK�9h)%fhKt9h)z#! "some random app" -withargzsome random appr�r�z#! some" random "app -withargr�r�s&  r �test_literal_shebang_quoted�(TestLauncher.test_literal_shebang_quoted�s���
�[�[�8�
9�
9�V��;�;��x�(�D�:�����V�]�]�%6�6�7�8�
�5��=�/�R���N� � �"�	
�
�[�[�8�
9�
9�V��;�;��x�(�D�:�����V�]�]�%6�6�7�8�
�5��=�/�R���N� � �"�	
�:�
9��:�
9�s#�D
�D�
D	�D	�D-	�&D-	c�4�UOQ29^tt^2oUOU,2oPPP2UO[WOQ*2Q[U20WQ*O22P!)%fhKa9h)z#! some\" random "app -withargzsome/ random appr�r�r�r�s&  r �"test_literal_shebang_quoted_escape�/TestLauncher.test_literal_shebang_quoted_escape�sr��
�[�[�:�
;�
;�v��;�;��x�(�D�<�����V�]�]�%7�7�8�9��E�&�M�?�S���N� � �"�	
�<�
;�s�B�B	�B	c	�n�UO[29^tt^2UOQ29^tt^2oUOU,2oPPP2PPP2UO	Q[W20WQ*O
22P!)%fhKM9h)%fhKX9h)z#! test-command arg1zTEST_EXE.exe arg1 r�)r��TEST_PY_COMMANDSr�r�r�r!r]r�s&  r �test_literal_shebang_command�)TestLauncher.test_literal_shebang_command�s~��
�[�[�)�
*�
*����3�4�4���{�{�F�8�,��5�+�	
��� ��v���0���N� � �"�	
�5�4��+�
*�s.�B$�B	�B$�B!
�B!
�B$�$B4	�-B4	c�8�UOQ29^tt^2oUOU,2oPPP2WOQ*oUO[	U2Q[	U20WQ*O22P!)%fhKc9h)z#! /usr/bin/not-python arg1z/usr/bin/not-python� arg1 r�)r�r�r�r�r!r])r^r�r6rs&   r �%test_literal_shebang_invalid_template�2TestLauncher.test_literal_shebang_invalid_template�su��
�[�[�6�
7�
7�6��;�;��x�(�D�8����!6�6������V�}�o�V�E�&�M�?�3���N� � �"�	
�8�
7�s�B	�	B	�B	c
�V�QoUOQUQ029^tt^2oUOU,]gQ5oPPP2UO29^tt^2vqE[[U2O2O2oUO
2UOUO2UOQ[OQ*0UQ$UOQUQ029^tt^2oUOU,UQ5oPPP2UOWQ*O2[U2Q[W202UOQUOQ029^tt^2oUOU,UQ5oPPP2UOUQ*O2[U2Q[U202PPP2P!)%fhCK�9h)%fhK�9h)%fhK9h)%fhP!9h)	zpython-that-is-not-on-pathr�z arg1r8r|r{r1r�r�)r�r�r�rr%r�r�r�rkr�r�r�r�r]r!r�)r^r�r�r6r�r�r�s&      r �test_shebang_command_in_venv�)TestLauncher.test_shebang_command_in_venvs���+���[�[�+�D�6��7�
8�
8�F��;�;��x�3�;�?�D�9��^�^�
�
��(��t�H�~�*�*�+�4�4�6�C��I�I�K��O�O�C�J�J�'� �Z�Z�L��"�*�*�V�*<�)=�>�C��K����/��v�U�;�<�<���{�{�F�8��{�5��=����T�(�^�1�1�3��h��7H��u�U[�}�o�5^�_����/����z��?�@�@�F��{�{�F�8��{�5��A����T�(�^�1�1�3��c�
�|�6�%�PV�-��5Y�Z��
�9�
8�
8��=�<��A�@���
�
�sb�G�B H�6G1	�A-H�8H	�
AH�G.	�&G.	�1H
�:H
�<H�H
�
H
�H�H(	� H(	c�j�UOQ29^tt^2oUOU,]gQ5oPPP2QoWQ*O2Tt,tFD,oUOQ2%fJUO	2MJ.	ooUOU,U2P!)%fhKu9httoh)z#! /usr/bin/env python3.99r8z # Search PATH for python3.99.exer�z
# Search PATH)r�r�r�r�r]r�)r^r�r6rrr s&     r �!test_shebang_executable_extension�.TestLauncher.test_shebang_executable_extensions���
�[�[�5�
6�
6�&��;�;��x�3�;�?�D�7�3��+/��>�+D�+D�+F�7�+F�4��_�_�_�5��$�*�*�,�+F��7����&��6�*�7�
6��7s�B�B0�2B0�B-	�&B-	�)7rprqrrrsr�r�r�r�r�r
r!r'r.r2r5r9r=rErPrTr^rbrgrlrorrryr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rtrurvs@r r�r�,s+�����	M��	M��1��1�
I�
:�
C��2 �D3�3�9�"3�
�5�	4�5�A�D�\�A�D�\�R�;�<�.	H�^�^�1�1�1�1�1�Y�^�V�A�1�1�	M�+�
�
�

�
�
�
�[�2+�+r"r�)(r�r:r�rr�r�r�r�r�r��pathlibr�testr�platformr�r'r�r�r��casefold�endswith�prefixr�r&rkr�r)�lowerr\r�r!r7rArIrVrXry�TestCaser�)r2r3s00r �<module>r�sF����	�	�
��
�������<�<�7��
�
�
�:�
;�;��
�����>�>����%�%�h�&7�&7�&9�:�:�
�F��K�
��*��/���=���c�j�j� �)��
�	��+���c�j�j� �,��
�	��.���c�j�j� �/�%�'=��
�	��>���c�j�j��
�3�@��1���/���c�j�j� �#�.�.��
�	�C+
�	�\�%�)�,����9�9���)4�):�):�)<�=�)<����2������q����)<�=�����9�9������'�
*�"�$��3�3�(@ �@ �Fx+�8�$�$�j�x+��q>s�)G

Youez - 2016 - github.com/yon3zu
LinuXploit