Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_site.cpython-312.opt-2.pyc

�

'Μg,w��N�	ddlZddlZddlmZddlmZddlmZddlmZddlmZm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZej6j8rej:d	��ddlZej>duZ da!d
�Z"d�Z#Gd�d
ejH�Z%Gd�de&�Z'Gd�dejH�Z(Gd�dejH�Z)Gd�dejH�Z*e+dk(rejX�yy)�N)�support)�	os_helper)�
socket_helper)�captured_stderr)�TESTFN�EnvironmentVarGuard)�mock)�copyzPython was invoked with -Sc��tjddatjrvt
jj
tj�sH	tjtj�tjtj�yyy#t$r.}tjdtj�d|����d}~wwxYw)Nz&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 �+/usr/local/lib/python3.12/test/test_site.py�setUpModuler,s����8�8�A�;�L����R�W�W�]�]�4�>�>�%B�	=��K�K����'��O�O�D�N�N�+�&C����	=��#�#�'+�~�~�s�%<�=�
=��	=�s�AB�	C�$)C
�
Cc�2�ttjddy�N)rrr
��r�tearDownModuler ;s���C�H�H�Q�Krc�^�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zde	fd�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zej$eed�d�d��Zej$ej.dk(d�ej2�d���Zd�Zej$ed�d��Zej$ej>d�ej2�d���Z ej$ed�d��Z!ej$ed�d��Z"d�Z#ej$ed�d��Z$d�Z%y) �HelperFunctionsTestsc��	tjdd|_tj|_tj|_tj|_	tj|_ttj�|_yr)rr
�sys_pathr�	USER_BASE�old_baser�old_site�PREFIXES�old_prefixes�	sysconfig�_CONFIG_VARS�
original_varsr
�old_vars��selfs r�setUpzHelperFunctionsTests.setUpCsV��%�������
�����
�����
� �M�M���&�3�3����Y�3�3�4��
rc��	|jtjdd|jt_|jt_|jt_	|jt_tj�Htjj�tjj|j�yyr)r$rr
r&rr%r'rr)r(r,r*r+�clear�updater-r.s r�tearDownzHelperFunctionsTests.tearDownLs�����m�m�����������������)�)��
�!%�!3�!3�	���!�!�-��"�"�(�(�*��"�"�)�)�$�-�-�8�.rc��d}tjj|�}tj|�\}}|jtjj
|�|�|tjj|�k(r|j||�y|jtjj|�|�y)N)�	Beginning�End)rr
�joinr�makepath�assertEqual�abspath�normcase)r/�
path_parts�original_dir�abs_dir�norm_dirs     r�
test_makepathz"HelperFunctionsTests.test_makepathXs���*�
��w�w�|�|�Z�0�� �M�M�:�6�������������6��@��2�7�7�+�+�L�9�9����W�h�/����R�W�W�-�-�g�6��Arc��tj�}tjD�cgc];}|r7tjj|�rtj|�d��=c}D]}|j|||�d|����ycc}w)N�z> from sys.path not found in set returned by _init_pathinfo(): )r�_init_pathinforr
r�existsr9�assertIn)r/�dir_setr
�entrys    r�test_init_pathinfoz'HelperFunctionsTests.test_init_pathinfoesu���%�%�'��9<���:����B�G�G�N�N�4�$8��m�m�D�)�!�,��:�E��M�M�%��7<�g�G�
H�:��:s�ABc�f�	|j|jtjd|jz�|jt	j
|j�dtj�|jtjj|j��y)Nz%s not in sys.modulesr)rF�importedr�modulesrr9�
good_dir_pathr
�assertFalserrE�bad_dir_path�r/�pth_files  r�pth_file_testsz#HelperFunctionsTests.pth_file_testsmsu��L��
�
�h�'�'����-��0A�0A�A�	C��
�
�d�m�m�H�$:�$:�;�A�>����I����������(=�(=�>�?rc�0�t�}|jd��	|j�tj|j
|jt��|j|�|j�y#|j�wxYw�NT��prep)	�PthFile�cleanup�creater�
addpackage�base_dir�filename�setrRrPs  r�test_addpackagez$HelperFunctionsTests.test_addpackagetsp��
�9�����d��#�	��O�O���O�O�H�-�-�x�/@�/@�#�%�H�����)������H����s�AB�B�.c�*��tjj|�}|dz}tjj||��t	�dd��5}|j�fd��|j
|�ddd�||fS#1swY||fSxYw)N�.pth�w�utf-8��encodingc�.��tj��Sr)r�remove)�pth_fns�r�<lambda>z/HelperFunctionsTests.make_pth.<locals>.<lambda>�s���B�I�I�f�$5r)rr
r;r8�open�
addCleanup�write)r/�contents�pth_dir�pth_name�pth_basenamerQrhs      @r�make_pthzHelperFunctionsTests.make_pth�s����'�'�/�/�'�*���&�(�������g�|�4��
�&�#��
0�H��O�O�5�6��N�N�8�$�1���$�$�1���$�$�s�&B�Bc	�J�|jd�\}}t�5}tj||t	��ddd�|jj
�d�|j|j
�tjtjj||���|j|j
�d�|j|j
�d�|j|j
�d�y#1swY��xYw)Nzimport bad-syntax
zline 1�	Tracebackzimport bad-syntax�SyntaxError�rqrrrZr]�assertRegex�getvalue�re�escaperr
r8�r/rnrh�err_outs    r�!test_addpackage_import_bad_syntaxz6HelperFunctionsTests.test_addpackage_import_bad_syntax�s����-�-�(=�>����
�
�'��O�O�G�V�S�U�3������)�)�+�X�6�����)�)�+��I�I�b�g�g�l�l�7�F�3�4�	6�
	
����)�)�+�[�9�����)�)�+�-A�B�����)�)�+�]�;��
�s� D�D"c	�
�|jd�\}}t�5}tj||t	��ddd�|jj
�d�|j|j
�tjtjj||���|j|j
�d�|j|j
�d�y#1swY��xYw)Nzrandompath
import nosuchmodule
zline 2rs�ModuleNotFoundErrorrurzs    r�test_addpackage_import_bad_execz4HelperFunctionsTests.test_addpackage_import_bad_exec�s����-�-�(K�L����
�
�'��O�O�G�V�S�U�3������)�)�+�X�6�����)�)�+��I�I�b�g�g�l�l�7�F�3�4�	6�	
����)�)�+�[�9�����)�)�+�-B�C��
�s� C9�9Dc��|jd�\}}tj||t��}|j	|t��y)Nz

  

)rqrrZr]r:)r/rnrh�known_pathss    r�test_addpackage_empty_linesz0HelperFunctionsTests.test_addpackage_empty_lines�s:���-�-��5�����o�o�g�v�s�u�=������c�e�,rc	��|jd�\}}t�5}|jtj||t���ddd�d|_|jj�d�tjD]%}t|t�s�|jd|��'y#1swY�ixYw)Nzabcdef
�zabcdef)rqrrNrrZr]�maxDiffr:rwrr
�
isinstance�str�assertNotIn)r/rnrhr{r
s     r�#test_addpackage_import_bad_pth_filez8HelperFunctionsTests.test_addpackage_import_bad_pth_file�s����-�-��7����
�
�'����T�_�_�W�f�c�e�D�E���������)�)�+�R�0��H�H�D��$��$�� � ��t�4��	�
�s�/B6�6B?c��t�}|jd��	|j�tj|j
t
��|j|�|j�y#|j�wxYwrT)rWrXrYrrr[r]rRrPs  r�test_addsitedirz$HelperFunctionsTests.test_addsitedir�sh���9�����d��#�	��O�O���O�O�H�-�-�s�u�5�����)������H����s�A	A8�8B
c���td�}|jd��	|j�tj|j
t
��|jtj|j�dtj�|j|j
tj�|j�y#|j�wxYw)Nz.dotfileTrUr)
rWrXrYrrr[r]r�r9rMrr
rFrPs  r�test_addsitedir_dotfilez,HelperFunctionsTests.test_addsitedir_dotfile�s����:�&�����d��#�	��O�O���O�O�H�-�-�s�u�5����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6������H����s�B"C�C$�chflagsztest needs os.chflags()c��t�}|jd��	|j�tj|j
�}tj|j
|jtjz�tj|jt��|jtj|j�dt j"�|j%|jt j"�|j�y#|j�wxYw)NTrUr)rWrXrYr�stat�	file_pathr��st_flags�	UF_HIDDENrrr[r]r�r9rMrr
rF)r/rQ�sts   r�test_addsitedir_hidden_flagsz1HelperFunctionsTests.test_addsitedir_hidden_flags�s����9�����d��#�	��O�O������+�+�,�B��J�J�x�)�)�2�;�;����+G�H��O�O�H�-�-�s�u�5����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6������H����s�C<D+�+D=�win32ztest needs Windowsc��t�}|jd��	|j�tjdd|j
g�t
j|jt��|jt
j|j�dtj�|j|jtj�|j�y#|j�wxYw)NTrU�attribz+Hr)rWrXrY�
subprocess�
check_callr�rrr[r]r�r9rMrr
rFrPs  r�%test_addsitedir_hidden_file_attributez:HelperFunctionsTests.test_addsitedir_hidden_file_attribute�s����9�����d��#�	��O�O���!�!�8�T�8�3E�3E�"F�G��O�O�H�-�-�s�u�5����T�]�]�8�+A�+A�B�1�E�s�x�x�P��M�M�(�+�+�S�X�X�6������H����s�CC3�3Dc�p�|jtj�tj��yr)r:r�_getuserbaser*r.s r�test__getuserbasez&HelperFunctionsTests.test__getuserbase�s$������*�*�,�i�.D�.D�.F�Grzneed user sitec�F�tjdk(rtjrd}ntjdz}|jtjjtjtj���tjd|��y)N�darwin�osx_framework_user�_user�purelib)
r�platform�
_frameworkr�namer:r
�normpathr�	_get_pathr�r*�get_path)r/�schemes  r�
test_get_pathz"HelperFunctionsTests.test_get_path�si���<�<�8�#����)�F��W�W�w�&�F�������)�)�$�.�.��9J�9J�9L�*M�N�"�+�+�I�v�>�	@rz<requires access to PEP 370 user-site (site.ENABLE_USER_SITE)c�@�tjjtj�}|j|tj�tjj�}tjtjdd|zg|��}|j|d�tjj�}tjtjddd|zg|��}|tj�dk(r|j|d�n|j|dd�tjj�}d|d	<tjtjdd|zg|��}|tj�dk(r|j|d�n|j|dd
�tjj�}d|d<tjtjdd
g|��}|j|dd�y)N�-cz$import sys; sys.exit(%r in sys.path)��envrCz-srz%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)rr
r�rrrFr�environr
r��call�
executabler:�getsitepackages)r/�usersiter��rcs    r�
test_s_optionz"HelperFunctionsTests.test_s_option�s���
�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�=�	?rc��dt_tj�}|jtj|�dt_ddl}d|_t
�5}d|d<|jtj�jd�tj��ddd�y#1swYyxYw)Nr�xoxor�)	rr%�getuserbaser:r*r+r�
assertTrue�
startswith)r/�	user_baser*r�s    r�test_getuserbasez%HelperFunctionsTests.test_getuserbase%s�������$�$�&�	�	
�������3�����!%�	��
 �
"�g�(.�G�$�%��O�O�D�,�,�.�9�9�&�A� �,�,�.�
0�#�
"�
"�s
� AB4�4B=c�Z�dt_dt_tj�}|j	tj|�|j|j
tj�|�|j	tjtj��yr)rrr%�getusersitepackagesr:r�r�r�)r/�	user_sites  r�test_getusersitepackagesz-HelperFunctionsTests.test_getusersitepackages7sn���������,�,�.�	�	
�������3����	�,�,�T�^�^�<�i�H��������)9�)9�);�<rc��dgt_tj�}tjdk(r�t
jdk7ru|jt|�d�tjjdt
jdt
jddzd�}|j|d|�n|jt|�d�tjjdddt
jddzd�}|j|d	|�y|jt|�d�|j|dd�tjjddd�}|jtjj|d�tjj|��y)
Nr��/�lib�zpython%d.%dz
site-packagesrrC���)
rr(r�r�sepr�
platlibdirr:�lenr
r8�version_infor<)r/�dirs�wanteds   r�test_getsitepackagesz)HelperFunctionsTests.test_getsitepackagesBsY�����
��#�#�%��
�6�6�S�=��~�~��&�� � ��T��A�.������f�c�n�n�&3�c�6F�6F�r��6J�&J�&5�7��� � ��a��&�1�� � ��T��A�.��W�W�\�\�&�%�"/�#�2B�2B�2�A�2F�"F�"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�
7rc��dt_dt_t�5}t	j
dd��5|d=|d=tj�}|j|jdtjz�|�tj�}|j|j|�|�ddd�ddd�t	j
dd��5}tj
jtd	�5}tjtd
d�5t�}tj |�|j#�|j%�|j'|�ddd�ddd�ddd�y#1swY��xYw#1swY��xYw#1swY�2xYw#1swY�6xYw#1swYyxYw)Nzos.path.expanduserc��|Srr)r
s rriz=HelperFunctionsTests.test_no_home_directory.<locals>.<lambda>ds��4rr��APPDATA�~z
os.path.isdirF)�return_valuerrT)rrr%rr	�patchr�r�r�rr�r��objectr�	swap_attrr]�addusersitepackages�assert_called_once_with�assert_not_calledrN)r/r�r�r��
mock_isdir�mock_addsitedirr�s       r�test_no_home_directoryz+HelperFunctionsTests.test_no_home_directory[s[��
������
 �
"�g�
�Z�Z�,�.?�
@��(�)��	�"��(�(�*�I��O�O�I�0�0��r�v�v��>�%�
'��0�0�2�I��O�O�I�0�0��;�Y�G�A�#��Z�Z��e�
<�
�
�Z�Z�
�
�t�\�
2�o�
�
�
�t�%7��
>��%�K��$�$�[�1��.�.�y�9��-�-�/����[�)�?�3�=�
<�A�
@��#�
"��?�
>��3�
2��=�
<�s`�F�BF�;F�"%F>�F2�#AF&�5F2�=F>�F	�F�F#�&F/�+F2�2F;	�7F>�>Gc��d}d|dzfdfD]�\}}tjdtj|���5tjdtj��5tj|�|jtjj�|�ddd�ddd���y#1swY�xYw#1swY��xYw)Nzbla-bla-blaT�
)Fr�z	sys.flags)�verbosez
sys.stderr)r	r��Mock�io�StringIOr�_tracer:r�stderrrw)r/�messager��outs    r�
test_tracezHelperFunctionsTests.test_trace}s�����!�7�T�>�2�K�?�L�G�S����K����7�)C�D��J�J�|�R�[�[�]�;����G�$�� � ����!4�!4�!6��<�<�E�D�@�;�;��E�D�s$�)C�%AB<�)C�<C�C�C	N)&�__name__�
__module__�__qualname__r0r4rArIrRr^rrqr|rr�r�r�r�r�
skipUnless�hasattrrr�rr�r�requires_subprocessr�r��
HAS_USER_SITEr�rrr�r�r�r�r�r�rrrr"r"?s����5�
9�B�H�@�
�*-�v�%�
<�
D�-�	5��	��X�����Y�/�1J�K��L���X�������0�2F�G� �W� � �"�
�#�H�
�H��X����(8�9�@�:�@��X����.�.�1>�?� �W� � �"�%?�#�?�%?�N�X����(8�9�0�:�0�"�X����(8�9�=�:�=�7�2�X����(8�9�*�:�*�B=rr"c�,�eZdZ	edddfd�Zd�Zdd�Zy)	rW�time�__testdir__�__badc���	|dz|_tjjd�|_tjj|j|j�|_||_||_||_	tjj|j|j�|_
tjj|j|j�|_y)Nrar�)r\rr
r;r[r8r�rK�good_dirname�bad_dirnamerMrO)r/�
filename_baserKr�r�s     r�__init__zPthFile.__init__�s���+�%��.��
�������+��
������d�m�m�T�]�]�C��� ��
�(���&����W�W�\�\�$�-�-��9J�9J�K����G�G�L�L�����8H�8H�I��rc��	t|jd�}	td|��td|��td|jz|��t|j|��t|j
|��|j
�tj|j�y#|j
�wxYw)Nrbz#import @bad module name��filer�z	import %s)
rjr��printrKr�r��closer�mkdirrM)r/�FILEs  rrYzPthFile.create�s���		��D�N�N�C�(��	��,�4�8��$�T�"��+��
�
�-�D�9��$�#�#�$�/��$�"�"��.��J�J�L�
����#�#�$��
�J�J�L�s�A"B+�+B=c���	tjj|j�rtj|j�|rVt
jj|j�|_	|jrOt
j|j=n3|jr'|jt
j|j<tjj|j�rtj|j�tjj|j�r tj|j�yyr)
rr
rEr�rgrrL�getrK�imported_modulerM�rmdirrO)r/rVs  rrXzPthFile.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�&�&�'�-rN)F)r�r�r�rr�rYrXrrrrWrW�s��9�%+�f�!.�G�
J�%�,(rrWc�0�eZdZ	d�Zd�Zd�Zd�Zejd�d��Z	d�Z
d�Zd	�Zd
�Z
ejeej"d�d�ej&j)d
�ej&j*d����Zy)�ImportSideEffectTestsc�6�	tjdd|_yr)rr
r$r.s rr0zImportSideEffectTests.setUp�s��%�������
rc�@�	|jtjddyr)r$rr
r.s rr4zImportSideEffectTests.tearDown�s����m�m�����rc��	dtjd_tj�|jtjdj�y)N�test)rrL�
__cached__r�	abs_paths�assertIsNoner.s r�test_abs_paths_cached_Nonez0ImportSideEffectTests.test_abs_paths_cached_None�sA��	�*.����F��&��������#�+�+�f�-�8�8�9rc��tj�t�}tjD]%}|j||�|j
|��'yr)r�removeduppathsr]rr
r��add)r/�
seen_pathsr
s   r�test_no_duplicate_pathsz-ImportSideEffectTests.test_no_duplicate_paths�sA��	
�����U�
��H�H�D����T�:�.��N�N�4� �rztest not implementedc��yrrr.s r�test_add_build_dirz(ImportSideEffectTests.test_add_build_dir�s��
	
rc��|jttd��|jttd��y)N�quit�exit�r�r��builtinsr.s r�test_setting_quitz'ImportSideEffectTests.test_setting_quit�s(�������&�1�2������&�1�2rc��|jttd��|jttd��|jttd��y)N�	copyright�credits�licenserr.s r�test_setting_copyrightz,ImportSideEffectTests.test_setting_copyright�s;�������+�6�7������)�4�5������)�4�5rc�B�|jttd��y)N�helprr.s r�test_setting_helpz'ImportSideEffectTests.test_setting_help�s�������&�1�2rc�t�dtjvr	ddl}|jd�yy#t$rYywxYw)N�
sitecustomizerz(sitecustomize not imported automatically)rrLr%�fail�ImportError)r/r%s  r�test_sitecustomize_executedz1ImportSideEffectTests.test_sitecustomize_executed�s?���#�+�+�-�
F�$��	�	�D�E�
.���
��
�s�+�	7�7�HTTPSHandlerz$need SSL support to download license�networkc�R�tjj�d}tjj|d��}|j
tjj�	tj|�5tjj|�5}|j�}ddd�ddd�|jdd|z��y#1swY�)xYw#1swY�-xYw#tjj$r}|j}Yd}~�^d}~wwxYw)NrC�HEAD)�method��zCan't find )�msg)r�_Printer__data�split�urllib�request�Requestrk�
urlcleanupr�transient_internet�urlopen�getcode�error�	HTTPError�coder:)r/�url�req�datar;�es      r�test_license_exists_at_urlz0ImportSideEffectTests.test_license_exists_at_url�s����$�$�*�*�,�Q�/���n�n�$�$�S��$�8��������1�1�2�	��1�1�#�6��^�^�+�+�C�0�D��<�<�>�D�1�7�
	
����s�
��(;��<�	1�0��7�6���|�|�%�%�	��6�6�D��	�sH�-C3� C'�"C�3C'�;C3�C$	� C'�'C0�,C3�3D&�D!�!D&N)r�r�r�r0r4rrr�skiprrr r#r(r�r�r2r3r
r�requires_resource�system_must_validate_certr@rrrrr�s���2�$�$�	:�!��X�]�]�)�*�
�+�
�3�
6�3�F��X��������@�?�A�	�\�\�#�#�I�.�	�\�\�+�+�
=�,�/�A�
=rrc���eZdZej�d��Zej�d��Zej�d��Zej�d��Zy)�StartupImportTestsc	�X�tjtjdddddgtjdd��}|j�d	}|j
|jd	t|��tj|�}|D]k}tjtjjtj|�d
��}|s�L|j!dt#|��d|����mtjtjdddd
ddgtjtjdd��}|j�\}}|j
|jd	||f�tj|�}|j%d|�hd�}|j'|j)|�|�|j+d||�|j+d||�hd�j-tj.�}	|j'|j)|	�|�y)N�-X�utf8�-Ir�z!import sys; print(repr(sys.path))rc�surrogateescape)�stdoutre�errorsrz*.pthzfound z .pth files in: z-vz#import sys; print(set(sys.modules)))rKr�rerLr>�
re._parser�re._compiler�
re._constantsrx�_sre�locale�copyreg>
�heapq�types�keyword�reprlib�weakref�operator�	functools�	itertools�collections�_collections)r��Popenrr��PIPE�communicater:�
returncode�repr�ast�literal_eval�globrr
r8ry�skipTestr�rFrN�intersectionr��
difference�builtin_module_names)
r/�popenrK�isolated_pathsr
�	pth_filesr�rL�re_mods�collection_modss
          r�test_startup_importsz'StartupImportTests.test_startup_importss���� � �#�.�.�$���"&�(K�"M�(2���*1�(9�	;��
�"�"�$�Q�'������)�)�1�d�6�l�;��)�)�&�1��
#�D��	�	�"�'�'�,�,�t�{�{�4�/@�'�"J�K�I���
�
��s�9�~�&6�6F�t�f�M�N�#�� � �#�.�.�$���d�"&�(M�"O�(2���(2���*1�(9�;���*�*�,��������)�)�1�v�v�.>�?��"�"�6�*���
�
�f�g�&�P������-�-�g�6��?�	
����7�F�3�	
����G�V�4��'�J�s�'?�'?�@�	�	
����-�-�o�>��Grc��tjtjddg�j	�}|j|d�y)Nr��9import sys; sys.exit(hasattr(sys, "__interactivehook__"))z''__interactivehook__' not added by site�r�r]rr��waitr��r/�rs  r�test_startup_interactivehookz/StartupImportTests.test_startup_interactivehookEs=�����c�n�n�d�G�I�
J�JN�$�&�	
�����D�Erc��tjtjdddg�j	�}|j|d�y)NrIr�rpz,'__interactivehook__' added in isolated mode)r�r]rr�rrrNrss  r�%test_startup_interactivehook_isolatedz8StartupImportTests.test_startup_interactivehook_isolatedKsC��
���c�n�n�d�D�G�I�
J�JN�$�&�	
�����J�Krc��tjtjdddg�j	�}|j|d�y)NrIr�zYimport site, sys; site.enablerlcompleter(); sys.exit(hasattr(sys, "__interactivehook__"))z6'__interactivehook__' not added by enablerlcompleter()rqrss  r�.test_startup_interactivehook_isolated_explicitzAStartupImportTests.test_startup_interactivehook_isolated_explicitRsC��
���c�n�n�d�D�g�i�
j�jn�jn�jp�	
�����S�TrN)	r�r�r�rr�rnrurwryrrrrErEs��� �W� � �"�0H�#�0H�d!�W� � �"�F�#�F�
!�W� � �"�L�#�L�!�W� � �"�U�#�UrrEc�
�eZdZejdk(rd
d�Znd
d�Zd�Zdedefd�Z	e
j�d��Ze
j�d	��Z
e
j�d
��Ze
j�d��Zy)�
_pthFileTestsr�c
��ddl}tj�}|jtj
|�tjj|tjjtj�d�}|jtj�}tjj|tjj|�d�}tjtj|�tj||�t!j tjjtjj|�dd��D]V}tj|tjj|tjj|�d���X|r&tjj#|�ddz}	n%tjj#|�ddz}	t%|	dd��5}
|D]}t'||
���	ddd�|S#1swY|SxYw)	NrrCzvcruntime*.dll�._pthrbrHrdr�)�_winapi�tempfile�mkdtemprkr�rmtreerr
r8r1rr��GetModuleFileName�	dllhandle�shutilr
rd�splitextrjr�)r/�lines�exe_pthr~�temp_dir�exe_file�dll_src_file�dll_file�fn�	_pth_file�f�lines            r�_create_underpth_exez"_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��h�/��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�!�!�D��$�Q�'�"�7��O�7��O�s�'I�Ic��|stjd��tj�}|j	t
j|�tjj|tjjtj�d�}tjtj|�|dz}t|d�5}|D]}t||���	ddd�|S#1swY|SxYw)Nz1library ._pth file not supported on this platformrCr}rbr�)rrrr�rkrr�rr
r8r1rr��symlinkrjr�)r/r�r�r�r�r�r�r�s        rr�z"_pthFileTests._create_underpth_exeps�����'�'�([�\�\��'�'�)�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��$�Q�'�"�&��O�&��O�s�C/�/C9c���g}|D][}|r|ddk(r�tjjtjj||��}|j	|��]|S)Nr�#)rr
r;r8�append)r/�
sys_prefixr�r$r��abs_paths      r�"_calc_sys_path_for_underpth_nositez0_pthFileTests._calc_sys_path_for_underpth_nosite}sU�����D��4��7�c�>���w�w���r�w�w�|�|�J��'E�F�H��O�O�H�%�	�
�r�libpath�import_sitec�(��dg}t�jd��}tdd|z�}|dkr|jd|d�d��|j	�fd	�t|�D��|j	d
dg�|r|j
d�|S)
N�fake-path-namercr.i0ur�z Python stdlib path is too long (�,z bytes)c3�"�K�|]}����y�wrr)�.0�_r�s  �r�	<genexpr>z/_pthFileTests._get_pth_lines.<locals>.<genexpr>�s�����=�*<�Q��*<�s�r�z	# commentzimport site)r��encode�minre�extend�ranger�)r/r�r��	pth_lines�encoded_libpath_length�repetitionss `    r�_get_pth_linesz_pthFileTests._get_pth_lines�s����%�&�	�"%�W�^�^�G�%<�!=���#�u�(>�>�?���!���M�M�2�3I�!�2L�G�T�
V����=�%��*<�=�=����"�k�*�+�����]�+��rc�v�ddgtj�d�d�}|j|�}|jtjj|�|�}t
j|ddddgd	d
��}|j�jd�}|j|d
�|j||d�y)Nz#.z# ..r_z..rGrHr��Cimport sys; print("\n".join(sys.path) if sys.flags.no_site else "")rcrJ)rerLr��sys.flags.no_site was False�sys.path is incorrect)rr
r�r�r�dirnamer��check_output�rstripr1r�r:)r/r�r�r$�output�actual_sys_paths      r�test_underpth_basicz!_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������#�	
rc��tjj}tjjtj�}|j|d��}|j|�}|jtjj|�|�}tjj�}d|d<dj|tjtjd��|d<t!j"|ddg|d	d
��}|j%�j'd�}|j)|d
�|j+||d�y)NF�r��from-env�
PYTHONPATHz{}{}{}�PATHr�r�rcrJ)r�rerLr�r�r�)r
r�
STDLIB_DIRrr
r�rr�r�r�r�r�r
�format�pathsep�getenvr�r�r�r1r�r:)	r/r��
exe_prefixr�r�r$r�r�r�s	         r�test_underpth_nosite_filez'_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������#�	
rc
��tjj}tjjtj�}|j|j|d���}tjj|�}tjj�}d|d<dj|tjd��|d<tj|ddtjj!|d	��d
|�d
tjj!|d��d�g|��}|j#|d
�y)NTr�r�r��{};{}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�rr
r�rr�r�r�r�r
r�r�r�r�r8r��r/r�r�r�r�r�r�s       r�test_underpth_filez _pthFileTests.test_underpth_file�s����,�,�)�)���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�4rc
��tjj}tjjtj�}|j|j|d��d��}tjj|�}tjj�}d|d<dj|tjd��|d<tj|d	d
tjj!|d��d|�dtjj!|d��d
�g|��}|j#|d�y)NTr�F)r�r�r�r�r�r�r�r�r�r�r�r�r�r�s       r�test_underpth_dll_filez$_pthFileTests.test_underpth_dll_file�s����,�,�)�)���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�4rN)T)r�r�r�rr�r�r�r��boolr�rr�r�r�r�r�rrrr{r{Ys���
�|�|�w��	�(	���c��4�� !�W� � �"�
�#�
�$!�W� � �"�
�#�
�.!�W� � �"�5�#�5�&!�W� � �"�5�#�5rr{�__main__)-r�test.supportr
rrrr�test.support.os_helperrrrbrrdr�rrxr�r�r�rr*r�urllib.errorr2�urllib.requestr	r
�flags�no_siterrrr�rrr �TestCaser"r�rWrrEr{r��mainrrr�<module>r�s������"�&�(�>�
���	�	�	�
���
�������
�9�9���
�(�
�
�8�
9�9�����t�+�
���=��D=�8�,�,�D=�N
5(�f�5(�nP=�H�-�-�P=�fGU��*�*�GU�RN5�H�%�%�N5�b�z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists