403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
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_site.cpython-315.opt-2.pyc
R
>lqj%c��]PHs]PHs]QHGs]QHGs]QHGs]QHGs]QHGs]QHG	s	]QH(GsGs]QHG
s
Gs]PH<s]PH@s]PHDs]PHHs]PHLs]PHPs]PHTs]PHXs]PH\s]PH`s]PHds]PHhs]PHls]Q	HpGs]Q
HxGs]PH�s!]PH�s!]QHG#s#]QH�G$s$\OJOL%c\ONQ
2g]PH�s(\(ORPIs*Pr+Qs,Qs-QQ\O\2s/QQ2s0QQ\O\2s1QQ\O\2s2QQ\O\2s3QQ\O\2s4QQ\O\2s5\6Q6Xc\On2P!P!)�)�support)�assert_python_ok)�
import_helper)�	os_helper)�
socket_helper)�captured_stderr)�TESTFN�EnvironmentVarGuard)�spawn_python�kill_python)�dedent)�SimpleNamespace)�mock)�copyzPython was invoked with -Sc���[OQ*r[O%c�[
OO
[O2%fL[
O[O2[O[O2P!P!P![c2o[OQ[O8QS802gPo=hh9h)�NNNz&unable to create user site directory (z): )
�sys�path�OLD_SYS_PATH�site�ENABLE_USER_SITE�os�isdir�	USER_SITE�makedirs�
addsitedir�PermissionError�unittest�SkipTest)�excs �#C:\Python315\\Lib\test\test_site.py�setUpModuler!2s����8�8�A�;�L�����R�W�W�]�]�4�>�>�%B�%B�	=��K�K����'��O�O�D�N�N�+�&C����	=��#�#�'+�~�~�s�%<�=�
=��	=�s�#AB1�1	C-�;C-�<,C(�(C-c�6�[[OQ$P!�r)rrr��r �tearDownModuler&As���C�H�H�Q�Kr%c�`�\sQs]EsnQsQsQsQsQsQs	Q\
1QksQ	sQ
s
QsQsQ
sQsQs\O(\\Q2Q2Q2s\O(\O2Q6HQ2\O62Q22sQsQs\O(\Q2Q2s \O(\!ODQ2\O62Q22s#\O(\Q2Q2s$\O(\Q2Q2s%Qs&\O(\Q2Q2s'Q s(Q!s)Q"s*Us+P!)#�HelperFunctionsTestsc�$�[OQ*Um[OUm[OUm[OUm	[OUm[[O2UmP!r#)rr�sys_pathr�	USER_BASE�old_baser�old_site�PREFIXES�old_prefixes�	sysconfig�_CONFIG_VARS�
original_varsr�old_vars��selfs&r �setUp�HelperFunctionsTests.setUpIsS��������
�����
�����
� �M�M���&�3�3����Y�3�3�4��
r%c��UO[OQ$UO[mUO[mUO[m	UO[m[OdJ[OO2[OOUO2P!P!r#)r*rrr,rr+r-rr/r.r2r0r1�clear�updater3r4s&r �tearDown�HelperFunctionsTests.tearDownRs���m�m�����������������)�)��
�!%�!3�!3�	���!�!�-��"�"�(�(�*��"�"�)�)�$�-�-�8�.r%c��Qo[OOUo[OUvq4UO[OO
U2U2U[OOU26XcUOV42P!UO[OOU2U2P!)�	Beginning)r>�End)rr�joinr�makepath�assertEqual�abspath�normcase)r5�
path_parts�original_dir�abs_dir�norm_dirs&    r �
test_makepath�"HelperFunctionsTests.test_makepath^s���*�
��w�w�|�|�Z�0�� �M�M�:�6������������6��@��2�7�7�+�+�L�9�9����W�/����R�W�W�-�-�g�6��Ar%c	�X�[O2o[OTt,tFDQoU%fJ
[OOU2%fJ4[OU2]*MJS	toFDoUOV1U8QU802J	P!ttoh)�z> from sys.path not found in set returned by _init_pathinfo(): )r�_init_pathinforrr�existsrA�assertIn)r5�dir_setr�entrys&   r �test_init_pathinfo�'HelperFunctionsTests.test_init_pathinfoks~���%�%�'��9<���:����-�$&�G�G�N�N�4�$8�-�d�m�m�D�)�!�,�,��:�E��M�M�%�7<�g�G�
H�:��:s�B'�"B'� !B'c�z�UOUO[OQUO*2UO[O
UO2]*[O2UO[OOUO22P!)z%s not in sys.modules)rO�importedr�modulesrrA�
good_dir_pathr�assertFalserrN�bad_dir_path�r5�pth_files&&r �pth_file_tests�#HelperFunctionsTests.pth_file_testsssr���
�
�h�'�'����-��0A�0A�A�	C��
�
�d�m�m�H�$:�$:�;�A�>����I����������(=�(=�>�?r%c�4�[2oUOP	Q5UO29^tt^2[OUO
UO[22UOU2PPP2P!)%fhP!9h�T��prep)	�PthFile�cleanup�creater�
addpackage�base_dir�filename�setr\rZs& r �test_addpackage�$HelperFunctionsTests.test_addpackagezsd��
�9�����d��#�
�_�_�
�
��O�O�H�-�-�x�/@�/@�#�%�H�����)��
�
�
�s�AB�B	�B	�.c�N`�[OOU2oUQ*o[OOV$2n[	RQQQ59^tt^2oUOU1Qk2UO
U2PPP2V$1!)%fhX$1!9h)�.pth�w�utf-8��encodingc�2:�[OR2!�N)r�remove)�pth_fns�r �<lambda>�/HelperFunctionsTests.make_pth.<locals>.<lambda>�s���B�I�I�f�$5r%)rrrCr@�open�
addCleanup�write)r5�contents�pth_dir�pth_name�pth_basenamer[rus&&&&  @r �make_pth�HelperFunctionsTests.make_pth�s����'�'�/�/�'�*���&�(�������g�4��
�&�#��
0�
0�H��O�O�5�6��N�N�8�$�1��$�$�1�
0��$�$�s� 'B�B$	�B$	c	�j�UOQ2vq[29^tt^2o[OV[	22PPP2UOWO
2Q2UOUO
2[O[OOV222UOUO
2Q2UOUO
2Q2UOUO
2Q2P!)%fhK�9h)zimport bad-syntax
zline 1�	Tracebackzimport bad-syntax�SyntaxError�rrrrerh�assertRegex�getvalue�re�escaperrr@�r5r|ru�err_outs&   r �!test_addpackage_import_bad_syntax�6HelperFunctionsTests.test_addpackage_import_bad_syntax�s����-�-�(=�>���
�
�
�'��O�O�G�S�U�3������)�)�+�X�6�����)�)�+��I�I�b�g�g�l�l�7�3�4�	6�����)�)�+�[�9�����)�)�+�-A�B�����)�)�+�]�;��
�s� D"�"D2	�+D2	c	���UOQ2vq[29^tt^2o[OV[	22PPP2UOWO
2[O[OOV222UOUO
2Q2UOUO
2Q2P!)%fhK�9h)zrandompath
import nosuchmodule
r��ModuleNotFoundErrorr�r�s&   r �test_addpackage_import_bad_exec�4HelperFunctionsTests.test_addpackage_import_bad_exec�s����-�-�(K�L���
�
�
�'��O�O�G�S�U�3������)�)�+��I�I�b�g�g�l�l�7�3�4�	6�����)�)�+�[�9�����)�)�+�-B�C��
�s� C"�"C2	�+C2	c��UOQ2vq[OV[22oUO	U[22P!)z

  

)rrrerhrB)r5r|ru�known_pathss&   r �test_addpackage_empty_lines�0HelperFunctionsTests.test_addpackage_empty_lines�s6���-�-��5����o�o�g�s�u�=������c�e�,r%c��UOQ2vq[OFD-o[U[2%fJUOQU2J/	P!)zabcdef
zabcdef)rrr�
isinstance�str�assertNotIn)r5r|rurs&   r �#test_addpackage_import_bad_pth_file�8HelperFunctionsTests.test_addpackage_import_bad_pth_file�s=���-�-��7����H�H�D��$��$�$�� � ��t�4�r%c��[2oUOP	Q5UO29^tt^2[OUO
2UO
U2PPP2P!)%fhP!9hr_)rbrcrdrrrfr\rZs& r �test_addsitedir�$HelperFunctionsTests.test_addsitedir�sX���9�����d��#�
�_�_�
�
��O�O�H�-�-�.�����)��
�
�
�s�2A2�2B	�;B	c��[2oUOP	Q5UO29^tt^2[O[2Q5oUO
UO2UOUO[O2UO2UOU2PPP2P!)%fhP!9h)Tr`�r�)rbrcrdr�StartupStaterhrrfr�rUrrV�processr\)r5r[�states&  r �test_addsitedir_explicit_flush�3HelperFunctionsTests.test_addsitedir_explicit_flush�s����9�����d��#�
�_�_�
�
��%�%�#�%�8�E����X�.�.�/����X�.�.����<��M�M�O�����)��
�
�
�s�BC�C	�C	c���[Q2oUOP	Q5UO29^tt^2[OUO
2UO
[OUO2]*[O2UOUO
[O2PPP2P!)%fhP!9h)z.dotfiler`)rbrcrdrrrfr�rArWrrrOrZs& r �test_addsitedir_dotfile�,HelperFunctionsTests.test_addsitedir_dotfile�s����:�&�����d��#�
�_�_�
�
��O�O�H�-�-�.����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6��
�
�
�s�BC�C"	�C"	�chflags�test needs os.chflags()c��[2oUOP	Q5UO29^tt^2[OUO
2o[OUO
UO[O*2[OUO2UO[OUO2]*[O 2UO#UO[O 2PPP2P!)%fhP!9hr_)rbrcrdr�stat�	file_pathr��st_flags�	UF_HIDDENrrrfr�rArWrrrO)r5r[�sts&  r �test_addsitedir_hidden_flags�1HelperFunctionsTests.test_addsitedir_hidden_flags�s����9�����d��#�
�_�_�
�
�����+�+�,�B��J�J�x�)�)�2�;�;����+G�H��O�O�H�-�-�.����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6��
�
�
�s�C0D0�0E	�9E	�win32ztest needs Windowsc��[2oUOP	Q5UO29^tt^2[OQQUO
,2[OUO2UO[OUO2]*[O2UOUO[O2PPP2P!)%fhP!9h)Tr`�attribz+H)rbrcrd�
subprocess�
check_callr�rrrfr�rArWrrrOrZs& r �%test_addsitedir_hidden_file_attribute�:HelperFunctionsTests.test_addsitedir_hidden_file_attribute�s����9�����d��#�
�_�_�
�
��!�!�8�T�8�3E�3E�"F�G��O�O�H�-�-�.����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6�	�
�
�
�s�B3C3�3D	�<D	c�^�QOQ2oUOU2vq#[O29^tt^2o[O
V#[
22oPPP2WO2O2oUOVb2P!)%fhKA9h)z; )�
import sysz.sitedir = sys._getframe(1).f_locals['sitedir']zprint(sitedir))
r@rr�captured_stdoutrrerhr��rstriprB)r5�coder|ru�stdoutr��sitedirs&      r �test_sitedir_variable�*HelperFunctionsTests.test_sitedir_variable�s{���y�y�
����-�-��-���
�
$�
$�
&�
&�&��/�/�'�3�5�A�K�'��/�/�#�*�*�,������*�'�
&�s� B�B,	�%B,	c�x�UO[O2[O22P!rs)rBr�_getuserbaser0r4s&r �test__getuserbase�&HelperFunctionsTests.test__getuserbase�s$������*�*�,�i�.D�.D�.F�Gr%zneed user sitec�h�[OQ6Xc[O%cQoL[OQ*oUO[OO[O[O222[OQU22P!)�darwin�osx_framework_user�_user�purelib)
r�platform�
_frameworkr�namerBr�normpathr�	_get_pathr�r0�get_path)r5�schemes& r �
test_get_path�"HelperFunctionsTests.test_get_path�sk���<�<�8�#�����)�F��W�W�w�&�F�������)�)�$�.�.��9J�9J�9L�*M�N�"�+�+�I�v�>�	@r%z<requires access to PEP 370 user-site (site.ENABLE_USER_SITE)c��[OO[O2oUOU[O2[OO2o[O[OQQU*,UQ5oUOU]2[OO2o[O[OQQQU*,UQ5oU[O2]*6XcUOU]2LUOU]Q2[OO2oQUQ$[O[OQQU*,UQ5oU[O2]*6XcUOU]2LUOU]Q2[OO2oQUQ	$[O[OQQ
,UQ5oUOU]Q2P!)�-cz$import sys; sys.exit(%r in sys.path)��env�-sz%User site still added to path with -s�1�PYTHONNOUSERSITEz3User site still added to path with PYTHONNOUSERSITEz/tmp�PYTHONUSERBASEz=import sys, site; sys.exit(site.USER_BASE.startswith("/tmp"))z#User base not set by PYTHONUSERBASE)rrr�rrrOr�environrr��call�
executablerB�getsitepackages)r5�usersiter��rcs&   r �
test_s_option�"HelperFunctionsTests.test_s_options���
�7�7�#�#�D�N�N�3���
�
�h����)��j�j�o�o���
�_�_�c�n�n�d�2�X�=�?����	
����Q���j�j�o�o���
�_�_�c�n�n�d�D�2�X�=�?�����t�+�+�-�a�0�0����R��#����R��$K�L��j�j�o�o���"%����
�_�_�c�n�n�d�2�X�=�?�����t�+�+�-�a�0�0����R��#����R��M�
O��j�j�o�o��� &����
�_�_�c�n�n�d�K�M����	
����Q�=�	?r%c�f�P[m[O2oUO[OU2P[m]PHoPUm[
29^tt^2oQUQ$UO[O2Q2PPP2P!)%fhP!9h)N�xoxor�)rr+�getuserbaserBr0r1r	�assertStartsWith)r5�	user_baser0r�s&   r �test_getuserbase�%HelperFunctionsTests.test_getuserbase2s������$�$�&�	�	
�������3�����!%�	��
 �
"�
"�g�(.�G�$�%��!�!�$�"2�"2�"4�f�=�#�
"�
"�
"�s�*+B�B0	�(B0	c�D�P[mP[m[O2oUO	[OU2UOU[O2UO	[O[O22P!rs)rrr+�getusersitepackagesrBr�r�)r5�	user_sites& r �test_getusersitepackages�-HelperFunctionsTests.test_getusersitepackagesCse���������,�,�.�	�	
�������3����i����8��������)9�)9�);�<r%c��Q,[m[O2o[OQ6Xc�[
OQ6wc|UO[U2]2[OOQ[
OQ[O20Q2oUOU]*U2LUO[U2]2[OOQQQ[O20Q2oUOUP*U2P!UO[U2]2UOU]*Q2[OOQQQ2oUO[OOU]*2[OOU22P!)r��/�lib�pythonz
site-packages)rr.r�r�sepr�
platlibdirrB�lenrr@r0�_get_python_version_abirD)r5�dirs�wanteds&  r �test_getsitepackages�)HelperFunctionsTests.test_getsitepackagesNsW�����
��#�#�%��
�6�6�S�=��~�~��&�� � ��T��A�.������f�c�n�n�(.�y�/P�/P�/R�.S�&T�&5�7��� � ��a��&�1�� � ��T��A�.��W�W�\�\�&�%�$*�9�+L�+L�+N�*O�"P�"1�3�F�
���T�"�X�v�.�
���S��Y��*����T�!�W�f�-��W�W�\�\�&�%��A�F����R�W�W�-�-�d�1�g�6��W�W�-�-�f�5�
7r%c� �P[mP[m[29^tt^2o[O
QQ29^tt^2UO
QQ2[O2oUOUQ[O*2[O2oUOV22PPP2PPP2[O
QP
Q59^tt^2o[O
O[Q29^tt^2o[O[Q	P	29^tt^2[2o[O U2UO#W2UO%2UO'U2PPP2PPP2PPP2P!)%fhK�9h)%fhCK9h)%fhKI9h)%fhKT9h)%fhP!9h)
Nzos.path.expanduserc��U!rsr$)rs&r rv�=HelperFunctionsTests.test_no_home_directory.<locals>.<lambda>ps��4r%r��APPDATA�~z
os.path.isdir��return_valuerr)rrr+r	r�patch�unsetr�r�rr�r��objectr�	swap_attrrh�addusersitepackages�assert_called_once_with�assert_not_calledrX)r5r�r�r��
mock_isdir�mock_addsitedirr�s&      r �test_no_home_directory�+HelperFunctionsTests.test_no_home_directorygsU��
������
 �
"�
"�g�
�Z�Z�,�.?�
@�
@��M�M�*�I�6��(�(�*�I��!�!�)�S�2�6�6�\�:��0�0�2�I��!�!�)�7�A�#��Z�Z��e�
<�
<�
�
�Z�Z�
�
�t�\�
2�
2�o�
�
�
�t�%7��
>�
>��%�K��$�$�[�1��.�.�y�9��-�-�/����[�)�?�3�=�
<�A�
@��#�
"�
"��?�
>��3�
2��=�
<�
<�s�!G�A5F/	�G�0-G<�%G)	�AG
�G)	�G<�/F?
�8F?
�:G�G	�G	�G&�G&�!G)	�)G9
�2G9
�4G<�<H
	�H
	c��Qo[QQUQ0UQ5vq#oUOU]2[QQQUQ0UQ5vq#oUOU]2P!)�filer�z.import site; assert site.gethistoryfile() == "�")�PYTHON_HISTORY�-Iz.import site; assert site.gethistoryfile() != ")rrB)r5rgr��out�errs&    r �test_gethistoryfile�(HelperFunctionsTests.test_gethistoryfile�sm����'��<�X�J�a�H�#�%����	
����Q��(��d�<�X�J�a�H�#�%����	
����Q�r%c��QoP	UQ*1Q1FD�vq#[OQ[OUQ529^tt^2[OQ[O229^tt^2[
OU2UO[OO2U2PPP2PPP2J�	P!)%fhK9h)%fhJ�9h)zbla-bla-bla�
�	sys.flags)�verbosez
sys.stderr)F�)rr�Mock�io�StringIOr�_tracerBr�stderrr�)r5�messagerrs&   r �
test_trace�HelperFunctionsTests.test_trace�s�����!�7�T�>�2�K�?�L�G����K����7�)C�D�D��J�J�|�R�[�[�]�;�;����G�$�� � ����!4�!4�!6��<�<�E�D�@�;�;��E�D�D�s1�3C,	�>AC
�C,	�C)�"C)�$C,	�,C=
�5C=
)r,r/r-r3r2r*),�__name__�
__module__�__qualname__�__firstlineno__r6r;rIrRr\rirrr�r�r�r�r�r�r�r�
skipUnless�hasattrrr�rr�r�requires_subprocessr�r�r��
HAS_USER_SITEr�rrr�r�r�r�rrr"�__static_attributes__�__classdictcell__��
__classdict__s@r r(r(Es�����5�
9�B�H�@�
*�*-�v�%�
<�D�-�5�*�*�7������Y�/�1J�K�	7�L�	7��������0�2F�G�� � �"�7�#�H�7�+� H�����(8�9�@�:�@�����.�.�1>�?�� � �"�%?�#�?�%?�N����(8�9�>�:�>� ����(8�9�=�:�=�7�2����(8�9�*�:�*�< �=�=r%r(c�b`�\sQsQsn\QQQ1Qks\OQ2sQ	Qks	Qs
UsP!)
rb��time�__testdir__�__badc���UQ*Um[OOP2Um[OOUOUO2UmV mV0mV@m	[OOUOUO2Um
[OOUOUO2UmP!)rm)rgrrrCrfr@r�rU�good_dirname�bad_dirnamerWrY)r5�
filename_baserUr6r7s&&&&&r �__init__�PthFile.__init__�s���&��.��
�������+��
������d�m�m�T�]�]�C��� �
�(��&���W�W�\�\�$�-�-��9J�9J�K����G�G�L�L�����8H�8H�I��r%c#� �[UOQ29^tt^2o[QUOQUOQUO
Q0UQ5PPP2[OUO2Uw�UO2P!)%fhKH9hSO2h9h3h)rnz #import @bad module name
import r�r)
rxr��printrUr6r7r�mkdirrWrc)r5�fps& r rd�PthFile.create�s�����$�.�.�#�
&�
&�"����
�
�������������	�

�
�'�	����#�#�$�	��J��L�L�N�'�
&��
�L�L�N�s:� C�6B�(C�B+�C�B(	�!B(	�#C�+B=�=Cc� �[OOUO2%c![OUO2U%c][
OOUO2Um	UO%c[
OUOL9UO%c(UO[
OUO$[OOUO2%c![OUO2[OOUO2%c#[OUO2P!P!rs)
rrrNr�rtrrV�getrU�imported_modulerW�rmdirrY)r5ras&&r rc�PthFile.cleanup�s����7�7�>�>�$�.�.�)�)��I�I�d�n�n�%��#&�;�;�?�?�4�=�=�#A�D� ��#�#�#��K�K��
�
�.���#�#�#�-1�-A�-A����D�M�M�*�
�7�7�>�>�$�,�,�-�-��H�H�T�'�'�(�
�7�7�>�>�$�+�+�,�,��H�H�T�&�&�'�-r%)	rYr7rfr�rgrWr6rUrC)F)r$r%r&r'rr9�
contextlib�contextmanagerrdrcr,r-r.s@r rbrb�s;����&,�f�!.�G�
J�������0(�(r%rbc�`�\sQsQsnQsQsQs\OQ2Q2s	Qs
QsQ	sQ
s
\O2Q2s\O"\\O(Q2Q
2\OO-Q2\OO.Q222s\O2Q2sQsUsP!)�ImportSideEffectTests��c�@�[OQ*UmP!r#)rrr*r4s&r r6�ImportSideEffectTests.setUp�s��������
r%c�B�UO[OQ$P!r#)r*rrr4s&r r;�ImportSideEffectTests.tearDown�s���m�m�����r%c��[O2[2o[OFD%oUOV!2UO
U2J'	P!rs)r�removeduppathsrhrrr��add)r5�
seen_pathsrs&  r �test_no_duplicate_paths�-ImportSideEffectTests.test_no_duplicate_paths�s?��	
�����U�
��H�H�D����T�.��N�N�4� �r%ztest not implementedc��P!rsr$r4s&r �test_add_build_dir�(ImportSideEffectTests.test_add_build_dir�s��
	
r%c�`�UO[Q2UO[Q2P!)�quit�exit��
assertHasAttr�builtinsr4s&r �test_setting_quit�'ImportSideEffectTests.test_setting_quit�s"�����8�V�,����8�V�,r%c��UO[Q2UO[Q2UO[Q2P!)�	copyright�credits�licenser[r4s&r �test_setting_copyright�,ImportSideEffectTests.test_setting_copyright�s2�����8�[�1����8�Y�/����8�Y�/r%c�4�UO[Q2P!)�helpr[r4s&r �test_setting_help�'ImportSideEffectTests.test_setting_help�s�����8�V�,r%c��Q[O7c]PH
oUOQ2P!P![cP!h9h)�
sitecustomizez(sitecustomize not imported automatically)rrVrk�fail�ImportError)r5rks& r �test_sitecustomize_executed�1ImportSideEffectTests.test_sitecustomize_executeds?���#�+�+�-�
F�$��	�	�D�E�
.���
��
�s�1�	A�A�Ac�8�Q,o[O%cUOQ2[O2oUO[OU2[29^tt^2oV#Q$SFCDjo[OU2[OU2[OOV$Q02oQU0o[UQ29^tt^2oUOQUQ02PPP2[O ["O$QQ	,2oUO'VhO)Q
22[O ["O$QQQ	,2oUO+VhO)Q
22QU6XfCJ"[O ["O$QQQ	,2oUO+VhO)Q
22CJm	PPP2P!)%fhCK9h)%fhP!9h)
rk�
usercustomize�
PYTHONPATH�.py�	EXECUTED_rnzprint("z")r�z""roz-Sr�)rr�append�tempfile�mkdtempryr�rmtreer	rr>rr@rxrzr��check_outputrr�rO�decoder�)	r5�	mod_names�temp_dirr��module_name�customize_path�
eyecatcher�f�outputs	&        r �%test_customization_modules_on_startup�;ImportSideEffectTests.test_customization_modules_on_startups���
�
�	�� � � ����_�-��#�#�%�����	�(�(�(�3�
 �
"�
"�g�$,�L�!�(��� � ��*�����"�!#�����h�-�s�8K�!L��(��
�6�
��.�#�.�.�!��G�G�g�j�\��4�5�/�$�0�0�#�.�.�$��1M�N���
�
�j�-�-��*@�A�$�0�0�#�.�.�$��d�1S�T��� � ��]�]�7�-C�D�#�k�1�'�4�4�c�n�n�d�D�RV�5W�X�F��$�$�Z���w�1G�H�) )�#�
"�/�.�.��#�
"�
"�s9�3A3H�&G4
�<BH�A
H�4H�=H�?	H�H	�H	�HTTPSHandlerz$need SSL support to download license�networkc	��[OO2]*o[OOUQQ5oUO
[OO2[OU29^tt^2[OOU29^tt^2oUO2oPPP2PPP2UOW]�QU*Q5P!)%fhK59h)%fhK@9h[OOcoSOoPo=KsPo=hh9h)rL�HEAD)�methodzCan't find )�msg)rc�_Printer__data�split�urllib�request�Requestry�
urlcleanupr�transient_internet�urlopen�getcode�error�	HTTPErrorr�rB)r5�url�req�datar��es&     r �test_license_exists_at_url�0ImportSideEffectTests.test_license_exists_at_url0s����$�$�*�*�,�Q�/���n�n�$�$�S��$�8��������1�1�2�	��1�1�#�6�6��^�^�+�+�C�0�0�D��<�<�>�D�1�7�
	
����s�
��(;��<�	1�0��7�6���|�|�%�%�	��6�6�D��	�s`�2D�(D	�8C6	�	D	�D�6D
�?D
�D	�	D	�D	�D�D�E�:E�;E�Ec�:�[OQ,QN2P!)r)r�locale�	traceback�atexit�warnings�textwrap)r�ensure_lazy_importsr4s&r �test_lazy_imports�'ImportSideEffectTests.test_lazy_importsCs���)�)�&�3
�	r%)r*)r$r%r&r'r6r;rSr�skiprVr^rdrhrnrr*r�r(r)r�r��test�requires_resource�system_must_validate_certr��cpython_onlyr�r,r-r.s@r rIrI�s�����$�$�!��]�]�)�*�
�+�
�-�
0�-�F�
� � �"�"I�#�"I�H��������@�?�A�	�\�\�#�#�I�.�	�\�\�+�+�
=�,�/�A�
=�
�����r%rIc��`�\sQsQsn\O
2Q2s\O
2Q2s\O
2Q2s\O
2Q2s	Qs
UsP!)�StartupImportTests�Oc	�|�[O[OQQQQQ,[OQQQ5oUO2]*oUO
UO][U22[OU2oSFDuo[O[OO[OU2Q22oU%fJUUO!Q	[#U2Q
U02Jw	[O[OQQQQQQ,[O[OQQQ
5oUO2vq&UO
UO]V&12[OU2oUO%QU2.QloUO'UO)U2U2UO+QVv2UO+QVv2.QlO-[O.2o	UO'UO)U	2U2P!)�-X�utf8rr�z!import sys; print(repr(sys.path))ro�surrogateescape)r�rq�errorsz*.pthzfound z .pth files in: z-vz#import sys; print(set(sys.modules)))r�r rqr�rr��copyreg>r��_sre�
re._parser�re._compiler�
re._constants>
�heapq�types�keyword�reprlib�weakref�operator�	functools�	itertools�collections�_collections)r��Popenrr��PIPE�communicaterB�
returncode�repr�ast�literal_eval�globrrr@r��skipTestr�rOrX�intersectionr��
difference�builtin_module_names)
r5�popenr��isolated_pathsr�	pth_filesr rV�re_mods�collection_modss
&         r �test_startup_imports�'StartupImportTests.test_startup_importsQs���� � �#�.�.�$���"&�(K�"M�(2���*1�(9�	;��
�"�"�$�Q�'������)�)�1�d�6�l�;��)�)�&�1��
#�D��	�	�"�'�'�,�,�t�{�{�4�/@�'�"J�K�I��y��
�
��s�9�~�&6�6F�t�f�M�N�#�� � �#�.�.�$���d�"&�(M�"O�(2���(2���*1�(9�;���*�*�,�������)�)�1�v�.>�?��"�"�6�*���
�
�f�g�&�P������-�-�g�6��?�	
����7�3�	
����G�4��'�J�s�'?�'?�@�	�	
����-�-�o�>��Gr%c��[O[OQQ,2O	2oUOUQ2P!)r��9import sys; sys.exit(hasattr(sys, "__interactivehook__"))z''__interactivehook__' not added by site�r�r�rr��wait�
assertTrue�r5�rs& r �test_startup_interactivehook�/StartupImportTests.test_startup_interactivehook�s=�����c�n�n�d�G�I�
J�JN�$�&�	
�����D�Er%c��[O[OQQQ,2O	2oUOUQ2P!)rr�r�z,'__interactivehook__' added in isolated mode)r�r�rr�r�rXr�s& r �%test_startup_interactivehook_isolated�8StartupImportTests.test_startup_interactivehook_isolated�sC��
���c�n�n�d�D�G�I�
J�JN�$�&�	
�����J�Kr%c��[O[OQQQ,2O	2oUOUQ2P!)rr�zYimport site, sys; site.enablerlcompleter(); sys.exit(hasattr(sys, "__interactivehook__"))z6'__interactivehook__' not added by enablerlcompleter()r�r�s& r �.test_startup_interactivehook_isolated_explicit�AStartupImportTests.test_startup_interactivehook_isolated_explicit�sC��
���c�n�n�d�D�g�i�
j�jn�jn�jp�	
�����S�Tr%r$)r$r%r&r'rr*r�r�r�r�r,r-r.s@r r�r�Os������ � �"�0H�#�0H�d
� � �"�F�#�F�

� � �"�L�#�L�
� � �"�U�#�Ur%r�c�X`�\sQsQsn\O
Q6XcQQksLQQksQsU1QkQks\	O2Q2s\	O2Q	2s\	O2Q
2s
\	O2Q2s\	O2Q2sQ
sUsP!)�
_pthFileTests�r�c�$�]PHo[O2oUO[O
U2[OOU[OO[O2]*2oUO[O2o[OOU[OOU2]*2o[O[OU2[OVg2[ O [OO[OOU2]*Q22FD\o[OU[OOU[OOU2]*22J^	U%c/[OO#U2]*Q*o	L-[OO#U2]*Q*o	[%U	QQQ59^tt^2o
SFDo['V�Q5J	PPP2U!)%fhS!9h)rzvcruntime*.dll�._pthrnr�rpr<)�_winapirvrwryrrxrrr@r�rr��GetModuleFileName�	dllhandle�shutilrr��splitextrxr=)r5�lines�exe_pthr�r|�exe_file�dll_src_file�dll_file�fn�	_pth_filer��lines&&&         r �_create_underpth_exe�"_pthFileTests._create_underpth_exe�s�����'�'�)�H��O�O�I�,�,�h�7��w�w�|�|�H�b�g�g�m�m�C�N�N�.K�A�.N�O�H�"�4�4�S�]�]�C�L��w�w�|�|�H�b�g�g�m�m�L�.I�!�.L�M�H��K�K�����1��K�K��/��i�i������R�W�W�]�]�<�-H��-K�M]� ^�_�����B������X�r�w�w�}�}�R�7H��7K� L�M�`���G�G�,�,�X�6�q�9�G�C�	��G�G�,�,�X�6�q�9�G�C�	��i��v�6�6�!�!�D��$�'�"�7��O�7�6��O�s�I>�>J	�J	c	�<�U%f[OQ2g[O2oUO	[
OU2[OOU[OO[O2]*2o[O[OU2UQ*o[UQ29^tt^2oSFDo[VvQ5J	PPP2U!)%fhS!9h)z1library ._pth file not supported on this platformr�rnr<)rrrvrwryrrxrrr@r�rr��symlinkrxr=)r5r�r�r|r�r�r�r�s&&&     r r�r��s�����'�'�([�\�\��'�'�)�H��O�O�I�,�,�h�7��w�w�|�|�H�b�g�g�m�m�C�N�N�.K�A�.N�O�H��J�J�s�~�~�x�0� �7�*�I��i��%�%��!�D��$�'�"�&��O�&�%��O�s�)D
�
D	�D	c���,oSFDhoU%cU]*Q6XcJO[OOV22oUO	U2Jj	U!)r�#)rrrCr@ru)r5�
sys_prefixr�r*r��abs_paths&&&   r �"_calc_sys_path_for_underpth_nosite�0_pthFileTests._calc_sys_path_for_underpth_nosite�sS�����D��4��7�c�>���w�w���r�w�w�|�|�J�'E�F�H��O�O�H�%�	�
�r%c�(:�U]6�cPgQRZQRZ-!)��libpath�import_site)r��bool)�formatr/s"�r �__annotate__�)_pthFileTests._get_pth_lines.__annotate__�s�����c��4�r%c�B`�Q,o[ROQ22o[]�QU*2oU]6:cUOQUQ
Q02UO	U1Qk[U222UO	PQ,2U%cUO
Q2U!)	�fake-path-nameroi0uz Python stdlib path is too long (�,z bytes)c3�4:�SF �DoRw�	J
	P!3hrsr$)�.0�_rs& �r �	<genexpr>�/_pthFileTests._get_pth_lines.<locals>.<genexpr>�s��*<���*<�Q��*<�s�z	# comment�import site)r��encode�minr��extend�rangeru)r5rr�	pth_lines�encoded_libpath_length�repetitionss&f$   r �_get_pth_lines�_pthFileTests._get_pth_lines�s����%�&�	�"%�W�^�^�G�%<�!=���#�u�(>�>�?���!���M�M�2�3I�!�2L�G�T�
V����=�%��*<�=�=����"�k�*�+�����]�+��r%c�|�QQ,[ONQMQMoUOU2oUO[OOU2U2o[OUQQQQ,QQ	Q
5oUO2OQ2oUOUQ2UOUUQ
2P!)z#.z# ..rkz..r�r�r��Cimport sys; print("\n".join(sys.path) if sys.flags.no_site else "")ror�)rqr�r�sys.flags.no_site was False�sys.path is incorrect)rrr�r�r�dirnamer�ryr�r�r�rB)r5rr�r*r��actual_sys_paths&     r �test_underpth_basic�!_pthFileTests.test_underpth_basic�s����6�8�C�H�H�8�c�8�4�8�	��,�,�Y�7���:�:��G�G�O�O�H�%�����(�(�(�D�&�$�R�*
��$5�7��!�-�-�/�/�/��5������)F�G������#�	
r%c��[OOo[OO[O2oUOUP
Q5oUOU2oUO[OOU2U2o[OO2oQUQ$QOU[O[OQ22UQ$[ O"UQQ,UQQ	Q
5oUO%2O'Q2oUO)UQ2UO+UUQ
2P!)F�r�from-envrrz{}{}{}�PATHr�rror�)r�rqr�rrr)r�r�
STDLIB_DIRrrrrr�rr�r�r�rr�pathsep�getenvr�ryr�r�r�rB)	r5r�
exe_prefixrr�r*r�r�rs	&        r �test_underpth_nosite_file�'_pthFileTests.test_underpth_nosite_file�s���,�,�)�)���W�W�_�_�S�^�^�4�
��'�'��U�'�C�	��,�,�Y�7���:�:��G�G�O�O�H�%�����j�j�o�o���&��L���o�o�j�"�*�*�b�i�i��>O�P��F���(�(�(�D�R�*
��W�->�@��!�-�-�/�/�/��5������)F�G������#�	
r%c
��[OOo[OO[O2oUOUOUP	Q52o[OOU2o[OO2oQUQ$QOU[OQ22UQ$[OUQQ[OO!UQ28Q	U8Q	[OO!UQ28Q
0,UQ5oUO#UQ2P!)
Tr!r"rr�{};{}r#r��/import sys; sys.exit(not sys.flags.no_site and r� in sys.path and �L not in sys.path and all("\r" not in p and "\n" not in p for p in sys.path))r�r�r�rr$rrrrr�r�rr�rrr&r�r�r@r��r5rr'r�r�r�r�s&      r �test_underpth_file� _pthFileTests.test_underpth_files����,�,�)�)���W�W�_�_�S�^�^�4�
��,�,�����T��:�<���W�W�_�_�X�.�
��j�j�o�o���&��L���n�n�Z����6�1B�C��F��
�_�_�h�������Z�)9�:�������Z��4�
�����	
����3�4r%c
��[OOo[OO[O2oUOUOUP	Q5P
Q5o[OOU2o[OO2oQUQ$QOU[OQ22UQ$[OUQQ[OO!UQ	28Q
U8Q
[OO!UQ28Q0,UQ5oUO#UQ
2P!)Tr!)r�r"rrr+r#r�r,rr-r.r�rr/r0s&      r �test_underpth_dll_file�$_pthFileTests.test_underpth_dll_files����,�,�)�)���W�W�_�_�S�^�^�4�
��,�,�����T��:�E�-�K���W�W�_�_�X�.�
��j�j�o�o���&��L���n�n�Z����6�1B�C��F��
�_�_�h�������Z�)9�:�������Z��4�
�����	
����3�4r%c���[OOQ,oUOU2o[O
UQQQQ,2oUO
UO]Q2P!)rr�r�r�z0import sys; sys.exit(not sys.flags.no_user_site)zsys.flags.no_user_site was 0)r�rr$r�r��runrBr�)r5rr��ps&   r �test_underpth_no_user_site�(_pthFileTests.test_underpth_no_user_site(sb���\�\�,�,�m�<�	��,�,�Y�7���N�N�H�d�F�D�C�D�
E��	
������q�*H�Ir%r$)T)r$r%r&r'rr�r�r�rrr*rr(r1r4r9r,r-r.s@r r�r��s�����
�|�|�w��	�(	���� 
� � �"�
�#�
�$
� � �"�
�#�
�.
� � �"�5�#�5�&
� � �"�5�#�5�&
� � �"�J�#�Jr%r�c�`�\sQsQsnQsQsQs\O2Q2s	\O2Q2s
\O2Q2s\O2Q2s\O2Q	2s
Q
sUsP!)�CommandLineTests�2c�^�Ud([OOU2%cQ!Q!)NrNz
doesn't exist)rrr)r5rs&&r rN�CommandLineTests.exists3s �������
�
�d� 3� 3��"r%c�v�[U2]6XCc*[O2o[O2o[O
2oUO
Q2[OFDoUO
QU8Q02J	UO
Q2UO
QUQUOU2Q02UO
QUQUOU2Q02UO
Q	[OQ
02][UO22O21!,oQU7c%UO[O22QU7c%UO[O22U%c�]o[O%c]oL+[OP
Ic]oL[Oe]o[O O#U2oU[OO%[U2O221!Q
!)rz
sys.path = [
z    z,
z]
zUSER_BASE: � (�)
zUSER_SITE: �ENABLE_USER_SITE: r�--user-base�--user-site)�
N)r�rr�r�rrrzrrrNrrr��striprurr%r@r�)r5�argsr�r�r��dir�buffer�return_codes&*      r �get_excepted_output�$CommandLineTests.get_excepted_output9s����t�9��>��(�(�*�I��0�0�2�I��[�[�]�F��L�L�)�*��x�x�����C�1�2� ��L�L����L�L�;�y�k��D�K�K�	�4J�3K�3�O�P��L�L�;�y�k��D�K�K�	�4J�3K�3�O�P��L�L�-�d�.C�.C�-D�B�G�H��f�V�_�_�.�/�5�5�7�7�7����D� ��M�M�$�*�*�,�-��D� ��M�M�$�2�2�4�5���K��$�$�$����&�&�%�/����&�&�.����Z�Z�_�_�V�,�F����� 0� 0����1E�1E�1G� H�H�H��Or%c
���,o[OO%cUOQ2UO	QQ,UN2[29^tt^2oQUQ$QUQ$[
UQP	QUQ	QQ
Q-oPPP2[W2oUOoU[OO[U2O221!)%fhK_9h)r�z-mrr��
PYTHONUTF8ro�PYTHONIOENCODING�textr�rqr��replace)r�flags�no_user_siterurr	r
rr�rrr�rrG)r5rH�cmd_argsr��procr�rKs&*     r �invoke_command_line�$CommandLineTests.invoke_command_lineZs������9�9�!�!�!��O�O�D�!�����v�-��-�.�
 �
"�
"�c� #�C���&-�C�"�#���D��D�#�D�)0�D�9B�D�D�#��T�"���o�o���B�G�G�,�,�V�F�^�-A�-A�-C�D�D�D�#�
"�s�C�C 	�C 	c���UO2vqUO2vq4UOV2UO2oUOU]*Q2UOUQ	*Q2Q[O
2Q0QUO
[O
22Q0*oUOUQ
*U2Q[O2Q0QUO
[O22Q0*oUOUQ*U2UOUP*Q[O02P!)rzsys.path = [�]zUSER_BASE: '�'rA�)zUSER_SITE: 'rC���������)	rWrLrB�
splitlinesrr�rNr�r)r5rKr��excepted_return_coderr��
excepted_base�
excepted_sites&       r �test_no_args�CommandLineTests.test_no_argsjs,��"�6�6�8���"&�":�":�"<�������;��!�!�#������q��>�2�����r��C�(�&�t�'7�'7�'9�&:�!�<�����T�-�-�/�0�1��3�4�
�����r��M�2�&�t�'?�'?�'A�&B�!�D�����T�5�5�7�8�9��;�<�
�����r��M�2�����r��&8��9N�9N�8O�$P�Qr%c��UOQ2vqUOQ2vq4UOV2UOQU2P!)z
--unknown-argz[--user-base] [--user-site])rWrLrBrO)r5rKr�rars&    r �test_unknown_args�"CommandLineTests.test_unknown_argszsF��"�6�6��G���"&�":�":�?�"K�������;��
�
�3�V�<r%c��UOQ2vqUOQ2oUvqEUOV2UOV%2P!)rD�rWrLrB�r5rKr��exceptedra�excepted_outputs&     r �
test_base_arg�CommandLineTests.test_base_arg��J��"�6�6�}�E����+�+�M�:��08�-������;�����1r%c��UOQ2vqUOQ2oUvqEUOV2UOV%2P!)rErjrks&     r �
test_site_arg�CommandLineTests.test_site_arg�rpr%c��UOQQ2vqUOQQ2oUvqEUOV2UOV%2P!)rDrErjrks&     r �test_both_args�CommandLineTests.test_both_args�sR��"�6�6�}�7D�F����+�+�M�=�I��08�-������;�����1r%r$)r$r%r&r'rNrLrWrr*rdrgrnrrrur,r-r.s@r r<r<2s�����#��BE� 
� � �"�
R�#�
R�
� � �"�=�#�=�
� � �"�2�#�2�
� � �"�2�#�2�
� � �"�2�#�2r%r<c�`�\sQsQsnQsQBQksQBQksQCQP
QP
-QkksQDQksQDQ	ks	Q
s
QsQsQ
s
QsQsQsQsQs\O(\\Q2Q2Q2sQsQsQsQsQsQsQsQsQs 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-s/Q.s0Q/s1Q0s2Q1s3Q2s4Q3s5Q4s6Q5s7Q6s8Q7s9Q8s:Q9s;Q:s<Q;s=Q<s>Q=s?\O(\@O�Q>2\BO�2Q?22sD\O(\@O�Q>2\BO�2Q@22sEQAsFUsGP!)E�StartFileTests�c��UO[O22UO[O229UmUm[O[2Q5Um
P!)r�)�enterContextr�
DirsOnSysPathrr|�tmpdirr�rr�rhr�r4s&r r6�StartFileTests.setUp�sQ�����-�5�5�7�8�%)�%6�%6�y�7I�7I�7K�%L�L���d�l��&�&�3�5�9��
r%c��UQ0o[OOUe
UOLSU2o[	UQQQ59^tt^2oUOU2PPP2U!)%fhS!9h)z.startrnrorp�rrr@r}rxrz�r5�contentr��basedir�basename�filepathr�s&&&&   r �_make_start�StartFileTests._make_start�sb���V�6�?���7�7�<�<�w�����G�X�V��
�(�C�'�
2�
2�a�
�G�G�G��3���3�
2�����
A)�)A:	�2A:	c��UQ0o[OOUe
UOLSU2o[	UQQQ59^tt^2oUOU2PPP2U!)%fhS!9h)rmrnrorpr�r�s&&&&   r �	_make_pth�StartFileTests._make_pth�sb���V�4�=���7�7�<�<�w�����G�X�V��
�(�C�'�
2�
2�a�
�G�G�G��3���3�
2���r��package�on_pathc��[OOUOQ2o[OUP	Q5U%cW[OOVR2o[O
U2[OOUQ2oL"[OOVRQ02o[
UQ29^tt^2oUOU2PPP2UO[OOUP2U%c![OO]U2U!)%fhKe9h)�extdir)�exist_okz__init__.pyrsrn)
rrr@r�rr>rxrzryrrV�pop�insert)	r5r{r�r�r�r��pkgdir�modpathr?s	&&&$$    r �	_make_mod�StartFileTests._make_mod�s��������d�l�l�H�5��
���F�T�*���W�W�\�\�&�/�F��H�H�V���g�g�l�l�6�=�9�G��g�g�l�l�6�V�3�<�8�G�
�'�3�
�
�2��H�H�X�� �	
���������t�4���H�H�O�O�A�v�&��
� �
�s�E�E	�E	c��,oUe
UOLSoUOO2FD!vq4SFDoUOV512J	J#	U!rs)r��_entrypoints�itemsru)r5r��resultrg�entriesrQs&&    r �_all_entrypoints�StartFileTests._all_entrypoints�sR����#�m��
�
���!&�!3�!3�!9�!9�!;��H� ���
�
�x�/�0�!�"<��
r%c�\�UOU2TTt,tFDvq#UMJ		too!ttoohrs)r�)r5r�rgrQs&&  r �_just_entrypoints� StartFileTests._just_entrypoints�s)��-1�-B�-B�5�-I�J�-I�/�(��-I�J�J��Js�(c��[OO]UO2[O
2oUO
[OUO2]*UO2P!)r)	rrr�r�rr�rOrA�_known_paths�r5r�s& r �+test_impl_startupstate_defaults_to_sys_path�:StartFileTests.test_impl_startupstate_defaults_to_sys_path�sL��������4�<�<�(��!�!�#���
�
�d�m�m�D�L�L�1�!�4�e�6H�6H�Ir%c�$�[2o[OU2oUOUO2UOUOU2UO[OUO2]*U2P!)rL)	rhrr�rr��assertIsr�rOrA)r5r�r�s&  r �0test_impl_startupstate_uses_supplied_known_paths�?StartFileTests.test_impl_startupstate_uses_supplied_known_paths�s_���e���!�!�+�.��
������&��
�
�e�(�(�+�6��
�
�d�m�m�D�L�L�1�!�4�k�Br%c�*�UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*Q,2P!)�
os.path:join
�foo�r��	foo.start�os.path:join�	r�r��_read_start_filer�rrr@rBr��r5�fullnames& r �test_impl_read_start_file_basic�.StartFileTests.test_impl_read_start_file_basic�sk�����)���6��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:������J�J�#�#�H�-��/?�	
r%c�,�UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*QQ,2P!)zos.path:join
os.path:exists
r�r�r�r��os.path:existsr�r�s& r �*test_impl_read_start_file_multiple_entries�9StartFileTests.test_impl_read_start_file_multiple_entriesso�����9���F��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:������J�J�#�#�H�-�
�-�.�	
r%c�*�UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*Q,2P!)z# a comment

os.path:join
  
r�r�r�r�r�r�s& r �-test_impl_read_start_file_comments_and_blanks�<StartFileTests.test_impl_read_start_file_comments_and_blankssk�����<�5��I��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:������J�J�#�#�H�-��/?�	
r%c�0�QoUOUQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*,QN2P!)z?os.path
pkg.mod:
:callable
pkg.mod:callable:extra
os.path:join
r�r�r�)�os.path�pkg.mod:�	:callable�pkg.mod:callable:extrar�r�)r5r�r�s&  r �5test_impl_read_start_file_accepts_all_non_blank_lines�DStartFileTests.test_impl_read_start_file_accepts_all_non_blank_linessu��
�	�	
����u��-��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:��������0�0��:�=
�	r%c��UOPQQ5UOOUOQ2[O
O
UOQ2oUOUOOU,-2P!)rr�r�r�r�r�s& r �test_impl_read_start_file_empty�.StartFileTests.test_impl_read_start_file_empty*se��	
����%��(��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:��������0�0�8�R�.�Ar%c��UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU,-2P!)z# just a comment
# another
r�r�r�r�r�s& r �'test_impl_read_start_file_comments_only�6StartFileTests.test_impl_read_start_file_comments_only3sf��	
���8�u��E��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:��������0�0�8�R�.�Ar%c��[29^tt^2UOOUOQ2PPP2UO	UOO
-2P!)%fhK89h)znonexistent.start)rr�r�r}rBr�r4s&r �%test_impl_read_start_file_nonexistent�4StartFileTests.test_impl_read_start_file_nonexistent;sL��
�
�
��J�J�'�'����5H�I��������0�0�"�5��
�s�'A+�+A;	�4A;	r�r�c��UOQQQ5[OOUOQ2o[O
U2o[OVO[
O*2UOOUOQ2UOUOO-2P!)r�r�r�r�)r�rrr@r}r�r�r�r�r�r�r�rBr�)r5r�r�s&  r �&test_impl_read_start_file_hidden_flags�5StartFileTests.test_impl_read_start_file_hidden_flags@s������)���6��7�7�<�<����[�9��
�W�W�X�
��
�
�
�8�[�[�4�>�>�9�:��
�
�#�#�D�L�L�+�>�������0�0�"�5r%c�,�UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*QQ,2P!)zos.path:join
os.path:join
r�r�r�r�r�r�s& r �9test_impl_one_start_file_with_duplicates_not_deduplicated�HStartFileTests.test_impl_one_start_file_with_duplicates_not_deduplicatedIsn�����7�e��D��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:������J�J�#�#�H�-�
�^�,�	
r%c�0�UOQQQ5UOQQQ5UOOUOQ2UOOUOQ2UO	UO2QQ,2P!)r�r�r��barr��	bar.start)r�r�r�r�rBr�r4s&r �:test_impl_two_start_files_with_duplicates_not_deduplicated�IStartFileTests.test_impl_two_start_files_with_duplicates_not_deduplicatedSsz������e��4�����e��4��
�
�#�#�D�L�L�+�>��
�
�#�#�D�L�L�+�>�����"�"�$�
�^�,�	
r%c���[OOUOQ2o[	UQ29^tt^2oUOQ2PPP2UOOUOQ2[OOUOQ2oUOUOOU*Q,2P!)%fhK�9h)r��wbr�sos.path:join
)rrr@r}rxrzr�r�r�rBr�)r5r�r�r�s&   r �*test_impl_read_start_file_accepts_utf8_bom�9StartFileTests.test_impl_read_start_file_accepts_utf8_bom]s����7�7�<�<����[�9��
�(�D�
!�
!�Q�
�G�G�7�8�"��
�
�#�#�D�L�L�+�>��7�7�<�<����k�:������J�J�#�#�H�-��/?�	
�	"�
!�s�C�C*	�#C*	c��[OOUOQ2o[	UQ29^tt^2oUOQ2PPP2[
29^tt^2oUOOUOQ2PPP2UOUOO-2UOWO2P2P!)%fhK�9h)%fhKk9h)r�r�s���
)
rrr@r}rxrzrr�r�r�rBr�r�)r5r�r�rs&   r �7test_impl_read_start_file_invalid_utf8_silently_skipped�FStartFileTests.test_impl_read_start_file_invalid_utf8_silently_skippedhs����7�7�<�<����[�9��
�(�D�
!�
!�Q�
�G�G�%�&�"��
�
�#��J�J�'�'����k�B��������0�0�"�5���������,�
"�
!���
�s$�C#�,'C6�#C3	�,C3	�6D	�?D	c��[OOUOQ2o[OU2UOQQQ5UOOUOQ2[OOUOQ2oUOV!1UOO2P!)�mylib�mylib
r�r��foo.pth)
rrr@r�r>r�r��_read_pth_filerO�
_path_entries�r5�subdirr�s&  r �test_impl_read_pth_file_paths�,StartFileTests.test_impl_read_pth_file_pathsys��������d�l�l�G�4��
��������y�u��-��
�
�!�!�$�,�,�	�:��7�7�<�<����i�8���
�
�x�(�$�*�*�*B�*B�Cr%c�*�UOQQQ5UOOUOQ2[O
O
UOQ2oUOUOOU*Q,2P!)zimport sys
r�r�r�r�)	r�r�r�r�rrr@rB�_importexecsr�s& r �)test_impl_read_pth_file_imports_collected�8StartFileTests.test_impl_read_pth_file_imports_collected�sf�����~�E��2��
�
�!�!�$�,�,�	�:��7�7�<�<����i�8������J�J�#�#�H�-��~�	
r%c��UOQQQ5UOOUOQ2UO	UOO
,2UO	UOO-2P!)z# comment

  
r�r�r�)r�r�r�r�rBr�r�r4s&r �+test_impl_read_pth_file_comments_and_blanks�:StartFileTests.test_impl_read_pth_file_comments_and_blanks�s_�����*���7��
�
�!�!�$�,�,�	�:�������1�1�2�6�������0�0�"�5r%c���[OOUOQ2o[OU2UOQQQ5UOQQQ5UOOUOQ2UOOUOQ2UOOTTt,tFDvq#UMJ		oooUOVA,2P!ttooh)r�r��ar��bza.pthzb.pth)
rrr@r�r>r�r�r�r�rB)r5r�rg�dir_�all_dirss&    r �%test_impl_read_pth_file_deduplication�4StartFileTests.test_impl_read_pth_file_deduplication�s��������d�l�l�G�4��
�����	
���y�s��+����y�s��+��
�
�!�!�$�,�,��8��
�
�!�!�$�,�,��8�/3�z�z�/G�/G�H�/G�^�X�D�/G��H�����8�,��Is�C2c��[OOUOQ2o[OU2UOQQQ5[
29^tt^2UOOUOQ2PPP2[OOUOQ2oUOV!1UOO2P!)%fhKc9h)�goodpathzabcdef
goodpath
r�r�r�)rrr@r�r>r�rr�r�rOr�r�s&  r �*test_impl_read_pth_file_bad_line_continues�9StartFileTests.test_impl_read_pth_file_bad_line_continues�s��������d�l�l�J�7��
��������/�e��<�
�
�
��J�J�%�%�d�l�l�I�>���7�7�<�<����i�8���
�
�x�(�$�*�*�*B�*B�C��
�s�''C)�)C9	�2C9	c	��[OOTt-tFDoU[[OU2aJ 	ooVQ$[	Q-U@!ttoh)rr$)rrS�__match_args__�getattrr
)r5rr��attrss&&  r �_flags_with_verbose�"StartFileTests._flags_with_verbose�s[���	�	�0�0�
�0��
�'�#�)�)�T�*�*�0�	�
�#�i���'��'�'��
s�&Ac�4�UOQQQ5[OQ[Q2Q59^tt^2[OQUO	P
229^tt^2[29^tt^2oUOOUOQ2PPP2PPP2PPP2UOWO2P2P!)%fhKB9h)%fhKM9h)%fhKX9h)�badline
r�r��
site.makepath�boom��side_effectrr�)r�rr�
ValueErrorr�rr�r�r�rBr�)r5rs& r �5test_impl_read_pth_file_parse_error_silent_by_default�DStartFileTests.test_impl_read_pth_file_parse_error_silent_by_default�s���	
���{���/��J�J��J�v�4F�G�G��J�J�{�D�$<�$<�U�$C�D�D������J�J�%�%�d�l�l�I�>�
�
E�
H�
	
��������,�
���
E�D��
H�G�sM�/D�-C4	�'C!
�'C4	�/D�!C1�*C1�,C4	�4D
�=D
�?D�D	�D	c�\�UOQQQ5[OQ[Q2Q59^tt^2[OQUO	P	229^tt^2[29^tt^2oUOOUOQ2PPP2PPP2PPP2WO2oUOQU2UOQU2P!)%fhKV9h)%fhKa9h)%fhKl9h)	rr�r�rrrrr�zError in)r�rrrr�rr�r�r�r�rO)r5rrs&  r �:test_impl_read_pth_file_parse_error_reported_under_verbose�IStartFileTests.test_impl_read_pth_file_parse_error_reported_under_verbose�s������{���/��J�J��J�v�4F�G�G��J�J�{�D�$<�$<�T�$B�C�C������J�J�%�%�d�l�l�I�>�
�
D�
H�
�l�l�n���
�
�j�#�&��
�
�i��%�
���
D�C��
H�G�sM�/D�-D	�'C5
�'D	�/D�5D�>D�D	�D
�D
�D�D+	�$D+	c	� �[OOUOQ2o[OU2[OOUO
Q2o[
UQ29^tt^2oUOQ2PPP2[OQQQ59^tt^2[29^tt^2UOOUOQ2PPP2PPP2[OOUOQ2oUOVA1UOO2P!)%fhK�9h)%fhK~9h)%fhK�9h)r�r�r�s# caf� comment
mylib
zlocale.getencodingzlatin-1r)rrr@r�r>r}rxrzrrrr�r�rOr�)r5r�r�r�r�s&    r �'test_impl_read_pth_file_locale_fallback�6StartFileTests.test_impl_read_pth_file_locale_fallback�s���
�����d�l�l�G�4��
������7�7�<�<����Y�7��
�(�D�
!�
!�Q�
�G�G�1�2�"�
�J�J�+�)�D�D�����J�J�%�%�d�l�l�I�>�
�
E��7�7�<�<����i�8���
�
�x�(�$�*�*�*B�*B�C�"�
!��
���
E�D�sB�E�:E=�
'E*	�4E=�E'	� E'	�*E:
�3E:
�5E=�=F
	�F
	c�,�UOQQP	P	Q5[OOUOQ2oQ,UO
OU$UO
O2]PH"oUOUO2P!)�Bcalled = False
def startup():
    global called
    called = True
�epmod�r�r�r�zepmod.startz
epmod:startup)r�rrr@r�r�r��_execute_start_entrypointsrr��called)r5r�rs&  r �+test_impl_execute_entrypoints_with_callable�:StartFileTests.test_impl_execute_entrypoints_with_callable�su������
�4��	�	/��7�7�<�<����m�<��-<�,=��
�
����)��
�
�-�-�/��������%r%c�b�[OOUOQ2oQQ,UOO
U$[
29^tt^2oUOO2PPP2UOQWO22P!)%fhK29h)�	bad.startznosuchmodule_xyz:funcr��nosuchmodule_xyz)
rrr@r�r�r�rrrOr��r5r�rs&  r �*test_impl_execute_entrypoints_import_error�9StartFileTests.test_impl_execute_entrypoints_import_error�su���7�7�<�<����k�:��#�^�-
��
�
����)��
�
�#��J�J�1�1�3���
�
�(�#�,�,�.�9��
�s�B�B.	�'B.	c��[OOUOQ2o,QNUOO
U$[
29^tt^2oUOO2PPP2WO2oUOQU2QFDoUOVC2J	P!)%fhKO9h)rzInvalid entry point syntax)r�r�r�r�)
rrr@r�r�r�rrr�rO)r5r�rr�bads&    r �5test_impl_execute_entrypoints_strict_syntax_rejection�DStartFileTests.test_impl_execute_entrypoints_strict_syntax_rejection�s���
�7�7�<�<����k�:��-
��
�
����)��
�
�#��J�J�1�1�3���l�l�n���
�
�2�C�8�
�C�
�M�M�#�#�

�	�
�s�B;�;C	�C	c���UOQQP	P	Q5[OOUOQ2oQ,UO
OU$[29^tt^2oUO
O2PPP2UOQWO22UOQUO22P!)%fhKR9h)z+def fail():
    raise RuntimeError("boom")
�badmodrzbadmod.startzbadmod:fail�RuntimeErrorr)r�rrr@r�r�r�rrrOr�rs&  r �,test_impl_execute_entrypoints_callable_error�;StartFileTests.test_impl_execute_entrypoints_callable_errors��������D�$�	�	0��7�7�<�<����n�=��-:�O��
�
����)�
�
�
�#��J�J�1�1�3���
�
�n�c�l�l�n�5��
�
�f�c�l�l�n�-��
�s�-C�C"	�C"	c�0�UOQQP
P	Q5[OOUOQ2oQQ,UO
OU$UO
O2]PH"oUOUO]2P!)�Ecall_count = 0
def bump():
    global call_count
    call_count += 1
�countmodrzcountmod.startz
countmod:bump)r�rrr@r�r�r�rr)rB�
call_count)r5r�r)s&  r �5test_impl_execute_entrypoints_duplicates_called_twice�DStartFileTests.test_impl_execute_entrypoints_duplicates_called_twices�������
�e�T�	�	3��7�7�<�<����.>�?���_�-
��
�
����)�	
�
�
�-�-�/������,�,�a�0r%c��UOQQP
P	Q5UOQQQ5UOQQQ5UOO	UO
Q2UOO
UO
Q2UOO2UOO2]PH&oUOUO]2P!)	zNcall_count = 0
def bump(incr=2):
    global call_count
    call_count += incr
r)rzcountmod:bump
r�r�z"import countmod; countmod.bump(1)
r�r�)r�r�r�r�r�r�r��
_exec_importsrr)rBr*)r5r)s& r �3test_impl_exec_imports_suppressed_by_matching_start�BStartFileTests.test_impl_exec_imports_suppressed_by_matching_start/s�������
�e�T�	�	3�	
���*���7����<�5��I��
�
�!�!�$�,�,�	�:��
�
�#�#�D�L�L�+�>��
�
� � �"��
�
�-�-�/��	
����,�,�a�0r%c��UOQQP
P	Q5[OOUOQ2o[OOUOQ2oQ,UO
OU$Q,UO
OU$UO
O2]PH&oUOUO]2P!)r(r)rr�r�z import countmod; countmod.bump()r�)r�rrr@r�r�r�r�r.r)rBr*)r5�pth_fullname�start_fullnamer)s&   r �8test_impl_exec_imports_not_suppressed_by_different_start�GStartFileTests.test_impl_exec_imports_not_suppressed_by_different_startBs�������
�e�T�	�	3��w�w�|�|�D�L�L�)�<�������d�l�l�K�@��1S�0T��
�
����-�3A�2B��
�
����/��
�
� � �"������,�,�a�0r%c��UOPQQ5UOQQQ5UOQQP	P	Q5UOO	UO
Q2UOO
UO
Q2UOO2]PH"oUOUO2P!)	rr�r�zimport epmod; epmod.startup()rrrr�r�)r�r�r�r�r�r�r�r.rrXr)r5rs& r �9test_impl_exec_imports_suppressed_by_empty_matching_start�HStartFileTests.test_impl_exec_imports_suppressed_by_empty_matching_startRs�������%��(����6�U��C�����
�4��	�	/�	
�
�
�!�!�$�,�,�	�:��
�
�#�#�D�L�L�+�>��
�
� � �"��������&r%c�J�[OOUOQ2o[OU2UO
OOQU12UO
O2UOU[O2P!)�extlib�test.pth)rrr@r�r>r�r�ru�_extend_syspathrOr�r5r�s& r �%test_impl_extend_syspath_existing_dir�4StartFileTests.test_impl_extend_syspath_existing_dircse�������d�l�l�H�5��
������
�
� � �'�'��V�(<�=��
�
�"�"�$��
�
�f�c�h�h�'r%c��[OOUOQ2oUOO
O
QU12[29^tt^2oUOO2PPP2UOU[O2UOQWO22P!)%fhKR9h)�	nosuchdirr;zdoes not exist)
rrr@r�r�r�rurr<r�rrOr�)r5�nonesuchrs&  r �(test_impl_extend_syspath_nonexistent_dir�7StartFileTests.test_impl_extend_syspath_nonexistent_dirjs����7�7�<�<����k�:���
�
� � �'�'��X�(>�?�
�
�
�#��J�J�&�&�(������3�8�8�,��
�
�&�����7��
�s�%C
�
C	�C	c��UOQQP	Q5UOPQQ5UOQQQ5[OUO
[
22]PHoUOUOQ2P!)z
flag = False
�
suppressed�r�r�r�r�z*import suppressed; suppressed.flag = True
z8import line in foo.pth should be suppressed by foo.start)
r�r�r�rrr�rhrFrX�flag)r5rFs& r �=test_addsitedir_pth_import_skipped_when_matching_start_exists�LStartFileTests.test_addsitedir_pth_import_skipped_when_matching_start_existstss��	
���'�l�D��I�����%��(����9��	�	�	
������c�e�,������O�O�F�	Hr%c���UOQQP	Q5UOQQQ5[OUO[22]PHoUOUO2P!)�?called = False
def hook():
    global called
    called = True
�dottedrGzdotted:hook
�.hiddenr�)	r�r�rrr�rhrMrXr)r5rMs& r �5test_addsitedir_dotfile_start_entrypoint_not_executed�DStartFileTests.test_addsitedir_dotfile_start_entrypoint_not_executed�s_��	
����%�d�
	�	4�	
����y��9�������c�e�,��������'r%c���[OOUOQ2o[OU2UOQQQ5UOQQQ5[OOU2o[OUO[22UO[OOU2U]*2P!)�sharedzshared
r�r�r�)rrr@r�r>r�r�countrrrhrB)r5r��befores&  r �-test_addsitedir_dedups_paths_across_pth_files�<StartFileTests.test_addsitedir_dedups_paths_across_pth_files�s��������d�l�l�H�5��
��������z���,����z���,�������'��������c�e�,����������/��!��<r%c�<�UOQQQ5[O[2Q5oUO	UO
2[OOUO
Q2oUOQUOU*2P!)r�r�r�r�r�r�)r�rr�rhrr�rrr@rOr�)r5r�r�s&  r �%test_addsitedir_discovers_start_files�4StartFileTests.test_addsitedir_discovers_start_files�sn�����)���6��!�!�c�e�4��
������&��7�7�<�<����k�:���
�
��E�.�.�x�8�	
r%c���[OOUOQ2o[OU2UOQQQ5UO
QQQ5[O[2Q5oUOUO2[OOUOQ2oUOV11UO2P!)r�r�r�r�r�r�r�)
rrr@r�r>r�r�rr�rhrrOr��r5r�r�r�s&   r �/test_addsitedir_pth_paths_still_work_with_start�>StartFileTests.test_addsitedir_pth_paths_still_work_with_start�s��������d�l�l�G�4��
��������)���6����y�u��-��!�!�c�e�4��
������&��7�7�<�<����i�8���
�
�x�(�%�*=�*=�>r%c�P�UOQQQ5UOQQQ5[O[2Q5oUO	UO
2UO
U2oUOQ2oUOQ2oUOV42P!)r��zzzr�zos.path:exists
�aaar�r�r�)	r�rr�rhrr�r��index�
assertLess)r5r�r��idx_a�idx_zs&    r �(test_addsitedir_start_alphabetical_order�7StartFileTests.test_addsitedir_start_alphabetical_order�s������)���6����+�%��8��!�!�c�e�4��
������&��(�(��/���
�
�.�/���
�
�n�-������%r%c��[OOUOQ2o[OU2UOQQQ5UO
QQQ5[O[2Q5oUOUO2[OOUOQ2o[OOUOQ2oUOV11UO2UOQUOOU,22P!)	r�r�r�r�r�r�r�r�r�)rrr@r�r>r�r�rr�rhrrOr�r�rB)r5r�r�r2r3s&    r �test_addsitedir_pth_and_start�,StartFileTests.test_addsitedir_pth_and_start�s��������d�l�l�G�4��
��������y�u��-����)���6��!�!�c�e�4��
������&��w�w�|�|�D�L�L�)�<�������d�l�l�K�@���
�
�|�,�e�.A�.A�B��
�
�����"�"�>�2�6�	
r%c���UOQQQ5[O[2Q5oUO	UO
2UO
UO-2P!)r�rNr�r�)r�rr�rhrr�rBr�r�s& r �(test_impl_addsitedir_skips_dotfile_start�7StartFileTests.test_impl_addsitedir_skips_dotfile_start�sR��	
���)�	��:��!�!�c�e�4��
������&�����+�+�R�0r%c�.�[OOUOQ2o[OU2UOQQQ5[OUO2UOU[O2P!)�flushlibz	flushlib
r�r�)
rrr@r�r>r�rrrOrr=s& r �"test_addsitedir_standalone_flushes�1StartFileTests.test_addsitedir_standalone_flushes�sZ�������d�l�l�J�7��
��������|�%��0�������%��
�
�f�c�h�h�'r%c���[OOUOQ2o[OU2UOQQQ5[O[2Q5oUOUO2UOU[O2[OOUOQ2oUOV11UO2P!)�acclibzacclib
r�r�r�r�)rrr@r�r>r�rr�rhrr�rrOr�r[s&   r �5test_addsitedir_explicit_startup_state_does_not_flush�DStartFileTests.test_addsitedir_explicit_startup_state_does_not_flush�s��������d�l�l�H�5��
��������z���.��!�!�c�e�4��
������&��������*��7�7�<�<����i�8���
�
�x�(�%�*=�*=�>r%c��UO[O22o[OOUOQ2o[OOUQ2o[OU2[OU2UOUQ*QQ5UOUQ*QUQ5[O[2Q5oUOUO2UOU2UO2UOV!U1Tt,tFD"o[OOU2MJ$	ooUO!U[#U22P!ttoh)�ext1�ext2r�oner��two�r�r�r�)r{rr|rrr@r�r>r�rr�rhrr�rrarB�sorted)r5�sitedir2�extdir1�extdir2r�r�indexess&      r �;test_addsitedir_startup_state_preserves_site_relative_order�JStartFileTests.test_addsitedir_startup_state_preserves_site_relative_order�s���$�$�Y�%7�%7�%9�:���'�'�,�,�t�|�|�V�4���'�'�,�,�x��0��
�����
��������w��~�E��2����w��~�E�8��D��!�!�c�e�4��
������&�
����"�
�
�
��
���w�'�B�
�B��
�H�H�N�N�4� �B�	�
�
	
����&��/�2��
s�<*Fc�H�UOQ2oUOU[O2UO	QQQ5UOQQQ5[O[2Q5oUOUO2UOU[O2UOQ[O2UO2UOU[O2]PH:oUOUO 2P!)rL�extdir
r:r��	mod:hook
r��mod)r�r�rrr�r�rr�rhrr�rVr�rOr�r�r)r5r�r�r�s&   r �6test_addsitedir_startup_state_paths_before_entrypoints�EStartFileTests.test_addsitedir_startup_state_paths_before_entrypointss������!���	
�������*����z���1�����H��5��!�!�c�e�4��
������&��������*��������,�	�
�
���
�
�f�c�h�h�'������
�
�#r%c�v�UOQ2oUOU[O2UO	QQQ5UOQQQ5[OUO2UOU[O2]PH*oUOUOQ2P!)rLr�r:r�r�z]entry point did not run; .pth path was likely not applied before .start entry-point execution)
r�r�rrr�r�rrr�rOr�r�r)r5r�r�s&  r �.test_pth_path_is_available_to_start_entrypoint�=StartFileTests.test_pth_path_is_available_to_start_entrypoint)s������!���	
�������*����z���1�����H��5�	
������%��
�
�f�c�h�h�'������J�J�
2�	3r%c�*�UOQ2oUOUQ02[2o[OUO
U2o[OUO
U2o]PHoUOUO]2P!)z_pth_count = 0
z!
import mod; mod._pth_count += 1
)	r�r�rhrrr�r�rB�
_pth_count�r5r�r�r�s&   r �test_addsitdir_idempotent_pth�,StartFileTests.test_addsitdir_idempotent_pthGs|�����!���	
�����	��	��u�����t�|�|�T�2�����t�|�|�T�2����������+r%c�L�UOQ2oUOUQ02UOQ2[2o[O
UOU2o[O
UOU2o]PHoUOUO]2P!)zJ_pth_count = 0
def increment():
    global _pth_count
    _pth_count += 1
rzmod:increment
)
r�r�r�rhrrr�r�rBr�r�s&   r �test_addsitdir_idempotent_start�.StartFileTests.test_addsitdir_idempotent_startWs������!���	
�����	��	�	
����	��u�����t�|�|�T�2�����t�|�|�T�2����������+r%c�R�UO[O22o[OOUQ2oUO[O22o[
UQQQ59^tt^2o[V4Q5PPP2UOQU8Q02[OUO[22UOU[O2UOU[O2P!)%fhK�9h)�overlay.pthrnrorpr<zimport site; site.addsitedir(rB)r{rr|rrr@rxr=r�rrr�rhrOr�r5�overlay�overlay_pthr�r?s&    r �test_reentrant_addsitedir_pth�,StartFileTests.test_reentrant_addsitedir_pthms����#�#�I�$6�$6�$8�9���g�g�l�l�7�M�:���"�"�9�#5�#5�#7�8��
�+�s�W�
5�
5���&�"�6����6�w�k��E�F�������c�e�,��
�
�g�s�x�x�(��
�
�f�c�h�h�'�6�
5�s�
D�D&	�D&	c�z�UO[O22o[OOUQ2oUO[O22o[
UQQQ59^tt^2o[V4Q5PPP2UOQU8Q0QP	Q5UOQ	2[OUO[22UOU[O2UOU[O2P!)%fhK�9h)
r�rnrorpr<z1import site
def bootstrap():
    site.addsitedir(rB�reenter_helperrGzreenter_helper:bootstrap
)r{rr|rrr@rxr=r�r�rrr�rhrOrr�s&    r �test_reentrant_addsitedir_start�.StartFileTests.test_reentrant_addsitedir_start|s����#�#�I�$6�$6�$8�9���g�g�l�l�7�M�:���"�"�9�#5�#5�#7�8��
�+�s�W�
5�
5���&�"�6������K� ��
"�4�	�	1�	
���5�6�������c�e�,��
�
�g�s�x�x�(��
�
�f�c�h�h�'�6�
5�s�
D*�*D:	�3D:	zrequires user-sitec���UOo[OU2o[OU2QoUOQU8Q0QUQ5[
29^tt^2oVQ$V$Q$[O[OQP,P	P	Q5oPPP2UOUO2WO2P!)%fhK<9h)	�GH149819_PTH_RANzimport sys; sys.stderr.write(z); sys.stderr.flush()
�gh149819rzr�rrr���capture_output�check)r}rr�rrr�r	r�r7rr�rOrr )r5r�r��sentinelr�r�s&     r �/test_pth_processed_when_sitedir_already_on_path�>StartFileTests.test_pth_processed_when_sitedir_already_on_path�s����K�K�	��N�N�9�-�	�
���I��%������&�\�*����		�	�
!�
"�
"�c�%.� �!�
!*����^�^�����r�*�#���F�#�	
�
�
�h�o�o�'����7�#�
"�s�'3C�C	�C	c�&�UOo[OU2o[OU2QoUOQU8Q0QQ5oUO
QQUQ5[29^tt^2oVQ$[OOV$,2UQ	$[O[OQ
P,P	P	Q5oPPP2UOUO2WO 2P!)%fhK<9h)�GH149819_START_RANz+import sys
def run():
    sys.stderr.write(z)
    sys.stderr.flush()
�gh149819modr�zgh149819mod:run
r�rzr�rrr�r�)r}rr�rrr�r�r	r%r@r�r7rr�rOrr )r5r�r�r�r�r�r�s&      r �1test_start_processed_when_sitedir_already_on_path�@StartFileTests.test_start_processed_when_sitedir_already_on_path�s����K�K�	��N�N�9�-�	�
���I��'��
���%��\�"�!�
� ���	
����j�)�	�	
�!�
"�
"�c�$-� �!� "�
�
����0C� D�C����^�^�����r�*�#���F�	#�	
�
�
�h�o�o�'����7�#�
"�s�:AD�D	�	D	)r�r�r})�testpkgN)r�rs)Hr$r%r&r'r6r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr(r)rr�r�r�r�r�r�r�r�r�r�r�rrrrrr r%r+r/r4r7r>rCrIrOrUrXr\rerhrkrorsr�r�r�r�r�r�r�rrrr*r�r�r,r-r.s@r rxrx�s�����:��������,�K�J�
C�
�
�
��.B�B�6�
�����Y�/�1J�K�6�L�6�
�
�	
�
-�"D�
�6�-�D�	(�
-�&�D�*&�:�$�0.�1�$1�&1� 
'�"(�8�H�
(�
=�
�	?�	&�
�$1�(�?�3�B$�23�<,� ,�,(�(�*����.�.�0D�E�� � �"�!8�#�F�!8�F����.�.�0D�E�� � �"�8�#�F�8r%rx�__main__)8r�test.supportr�r�test.support.script_helperrrrrr�test.support.os_helperrr	r
rr�r]rFr�rrr�r�r�r�rr0rvr�rr�r
�urllib.errorr��urllib.requestrrrS�no_siterrrr+rr!r&�TestCaser(rbrIr�r�r<rxr$�mainr$r%r �<module>r�sI�����7�&�"�&�(�>�@�
����	�	�	�
���
����!�����
�9�9����
�
�
�8�
9�9�����t�+�
���=��T=�8�,�,�T=�n
8(�8(�vu�H�-�-�u�pGU��*�*�GU�RWJ�H�%�%�WJ�tf2�x�(�(�f2�R|8�X�&�&�|8�@�z���M�M�O�r%

Youez - 2016 - github.com/yon3zu
LinuXploit