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:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_site.cpython-313.pyc
�

��i�����SrSSKrSSKrSSKJr SSKJr SSKJr SSKJr SSKJ	r	 SSK
JrJr SS	KJ
r
Jr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSS
KJr SSKrSSKrSSKJ r  SSK!J!r! \RDRF(a\RH"S
5eSSK%r%\%RLSLr'Sq(Sr)Sr*"SS\RV5r,"SS\-5r."SS\RV5r/"SS\RV5r0"SS\RV5r1"SS\RV5r2\3S:Xa\Rh"5 gg)zTests for 'site'.

Tests assume the initial paths in sys.path once the interpreter has begun
executing have not been removed.

�N)�support)�assert_python_ok)�	os_helper)�
socket_helper)�captured_stderr)�TESTFN�EnvironmentVarGuard)�spawn_python�kill_python)�dedent)�mock)�copyzPython was invoked with -Sc���[RSSq[R(a}[
RR
[R5(dJ[
R"[R5 [R"[R5 ggg![a1n[R"S[R<SU<35eSnAff=f)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 �#C:\Python313\\Lib\test\test_site.py�setUpModuler/s����8�8�A�;�L����R�W�W�]�]�4�>�>�%B�%B�	=��K�K����'��O�O�D�N�N�+�&C����	=��#�#�'+�~�~�s�%<�=�
=��	=�s�AB'�'
C"�1,C�C"c�2�[[RSS&g�N)rrr��r�tearDownModuler$>s���C�H�H�Q�Kr#c�p�\rSrSrSrSrSrSrSrSr	Sr
S	\4S
jrSr
SrS
rSrSrSr\R("\"\S5S5S5r\R("\R2S:HS5\R6"5S55rSr\R("\S5S5r\R("\ RBS5\R6"5S55r"\R("\S5S5r#\R("\S5S5r$Sr%\R("\S5S5r&S r'S!r(S"r)g#)$�HelperFunctionsTests�Bz Tests for helper functions.
    c��[RSSUl[RUl[RUl[RUl	[RUl[[R5Ulg)zSave a copy of sys.pathN)rr�sys_pathr�	USER_BASE�old_baser�old_site�PREFIXES�old_prefixes�	sysconfig�_CONFIG_VARS�
original_varsr�old_vars��selfs r�setUp�HelperFunctionsTests.setUpFsS��������
�����
�����
� �M�M���&�3�3����Y�3�3�4��
r#c��UR[RSS&UR[lUR[lUR[l	UR[l[RbH[RR5 [RRUR5 gg�zRestore sys.pathN)r)rrr+rr*r,rr.r-r1r/r0�clear�updater2r3s r�tearDown�HelperFunctionsTests.tearDownOs���m�m�����������������)�)��
�!%�!3�!3�	���!�!�-��"�"�(�(�*��"�"�)�)�$�-�-�8�.r#c��Sn[RR"U6n[R"U6up4UR[RR
U5U5 U[RRU5:XaURX45 gUR[RRU5U5 g)N)�	Beginning�End)rr�joinr�makepath�assertEqual�abspath�normcase)r4�
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�F�[R"5n[RVs/sHKnU(dM[RRU5(dM2[R"U5SPMM snHnURX1U<SU<35 M gs snf)N�z> from sys.path not found in set returned by _init_pathinfo(): )r�_init_pathinforrr�existsrA�assertIn)r4�dir_setr�entrys    r�test_init_pathinfo�'HelperFunctionsTests.test_init_pathinfohs{���%�%�'��9<���:����-�$&�G�G�N�N�4�$8�-�d�m�m�D�)�!�,��:�E��M�M�%�7<�g�G�
H�:��:s�B�"B�Bc�f�URUR[RSUR-5 UR[R
"UR5S[R5 UR[RRUR55 g)z>Contain common code for testing results of reading a .pth filez%s not in sys.modulesrN)rO�importedr�modulesrrA�
good_dir_pathr�assertFalserrN�bad_dir_path�r4�pth_files  r�pth_file_tests�#HelperFunctionsTests.pth_file_testspsr���
�
�h�'�'����-��0A�0A�A�	C��
�
�d�m�m�H�$:�$:�;�A�>����I����������(=�(=�>�?r#c�,�[5nURSS9 UR5 [R"UR
UR[55 URU5 UR5 g!UR5 f=f�NT��prep)	�PthFile�cleanup�creater�
addpackage�base_dir�filename�setr\rZs  r�test_addpackage�$HelperFunctionsTests.test_addpackagewsp��
�9�����d��#�	��O�O���O�O�H�-�-�x�/@�/@�#�%�H�����)������H����s�AB�B�.c�*^�[RRU5nUS-n[RRX$5m[	TSSS9nURU4Sj5 UR
U5 SSS5 X$4$!,(df   X$4$=f)N�.pth�w�utf-8��encodingc�0>�[R"T5$r!)r�remove)�pth_fns�r�<lambda>�/HelperFunctionsTests.make_pth.<locals>.<lambda>�s���B�I�I�f�$5r#)rrrCr@�open�
addCleanup�write)r4�contents�pth_dir�pth_name�pth_basenamer[rts      @r�make_pth�HelperFunctionsTests.make_pth�s|����'�'�/�/�'�*���&�(�������g�4��
�&�#��
0�H��O�O�5�6��N�N�8�$�1��$�$�1�
0��$�$�s�'B�
Bc	�R�URS5up[5n[R"X[	55 SSS5 URWR
5S5 URUR
5[R"[RRX555 URUR
5S5 URUR
5S5 URUR
5S5 g!,(df   N�=f)Nzimport bad-syntax
zline 1�	Tracebackzimport bad-syntax�SyntaxError�r~rrrerh�assertRegex�getvalue�re�escaperrr@�r4r{rt�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�
D&c	��URS5up[5n[R"X[	55 SSS5 URWR
5S5 URUR
5[R"[RRX555 URUR
5S5 URUR
5S5 g!,(df   N�=f)Nzrandompath
import nosuchmodule
zline 2r��ModuleNotFoundErrorr�r�s    r�test_addpackage_import_bad_exec�4HelperFunctionsTests.test_addpackage_import_bad_exec�s����-�-�(K�L���
�
�'��O�O�G�S�U�3������)�)�+�X�6�����)�)�+��I�I�b�g�g�l�l�7�3�4�	6�	
����)�)�+�[�9�����)�)�+�-B�C��
�s� C8�8
Dc��URS5up[R"X[55nUR	U[55 g)Nz

  

)r~rrerhrB)r4r{rt�known_pathss    r�test_addpackage_empty_lines�0HelperFunctionsTests.test_addpackage_empty_lines�s6���-�-��5����o�o�g�s�u�=������c�e�,r#c	��URS5up[5nUR[R"X[555 SSS5 SUlURWR5S5 [RH,n[U[5(dMURSU5 M. g!,(df   Nv=f)Nzabcdef
�zabcdef)r~rrXrrerh�maxDiffrBr�rr�
isinstance�str�assertNotIn)r4r{rtr�rs     r�#test_addpackage_import_bad_pth_file�8HelperFunctionsTests.test_addpackage_import_bad_pth_file�s����-�-��7���
�
�'����T�_�_�W�c�e�D�E���������)�)�+�R�0��H�H�D��$��$�$�� � ��t�4��	�
�s�/B=�=
Cc��[5nURSS9 UR5 [R"UR
[
55 URU5 UR5 g!UR5 f=fr_)rbrcrdrrrfrhr\rZs  r�test_addsitedir�$HelperFunctionsTests.test_addsitedir�sh���9�����d��#�	��O�O���O�O�H�-�-�s�u�5�����)������H����s�A
A6�6Bc���[S5nURSS9 UR5 [R"UR
[
55 UR[R"UR5S[R5 URUR
[R5 UR5 g!UR5 f=f)Nz.dotfileTr`r)
rbrcrdrrrfrhr�rArWrrrOrZs  r�test_addsitedir_dotfile�,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��[5nURSS9 UR5 [R"UR
5n[R"UR
UR[R-5 [R"UR[55 UR[R"UR5S[ R"5 UR%UR[ R"5 UR5 g!UR5 f=f)NTr`r)rbrcrdr�stat�	file_pathr��st_flags�	UF_HIDDENrrrfrhr�rArWrrrO)r4r[�sts   r�test_addsitedir_hidden_flags�1HelperFunctionsTests.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�DD,�,D>�win32ztest needs Windowsc��[5nURSS9 UR5 [R"SSUR
/5 [R"UR[55 UR[R"UR5S[R5 URUR[R5 UR5 g!UR5 f=f)NTr`�attribz+Hr)rbrcrd�
subprocess�
check_callr�rrrfrhr�rArWrrrOrZs  r�%test_addsitedir_hidden_file_attribute�: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�t�UR[R"5[R"55 gr!)rBr�_getuserbaser/r3s r�test__getuserbase�&HelperFunctionsTests.test__getuserbase�s$������*�*�,�i�.D�.D�.F�Gr#zneed user sitec�X�[RS:Xa[R(aSnO[RS-nUR[RR[R"[R"555[R"SU55 g)N�darwin�osx_framework_user�_user�purelib)
r�platform�
_frameworkr�namerBr�normpathr�	_get_pathr�r/�get_path)r4�schemes  r�
test_get_path�"HelperFunctionsTests.test_get_path�si���<�<�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�8�[RR[R5nURU[R5 [RR5n[R"[RSSU-/US9nURUS5 [RR5n[R"[RSSSU-/US9nU[R"5S:XaURUS5 OURUSS5 [RR5nSUS	'[R"[RSSU-/US9nU[R"5S:XaURUS5 OURUSS
5 [RR5nSUS'[R"[RSS
/US9nURUSS5 g)N�-cz$import sys; sys.exit(%r in sys.path)��envrL�-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)rrr�rrrOr�environrr��call�
executablerB�getsitepackages)r4�usersiter��rcs    r�
test_s_option�"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�=�	?r#c��S[l[R"5nUR[RU5 S[lSSKnSUl[
5nSUS'UR[R"5RS5[R"55 SSS5 g!,(df   g=f)Nr�xoxor�)	rr*�getuserbaserBr/r0r	�
assertTrue�
startswith)r4�	user_baser/r�s    r�test_getuserbase�%HelperFunctionsTests.test_getuserbase(s�������$�$�&�	�	
�������3�����!%�	��
 �
"�g�(.�G�$�%��O�O�D�,�,�.�9�9�&�A� �,�,�.�
0�#�
"�
"�s
�!A
B7�7
Cc�^�S[lS[l[R"5nUR	[RU5 URUR
[R5U5 UR	[R[R"55 gr!)rrr*�getusersitepackagesrBr�r�r�)r4�	user_sites  r�test_getusersitepackages�-HelperFunctionsTests.test_getusersitepackages:sn���������,�,�.�	�	
�������3����	�,�,�T�^�^�<�i�H��������)9�)9�);�<r#c��S/[l[R"5n[RS:Xa�[
RS:wawUR[U5S5 [RRS[
RS[R"53S5nURUSU5 OUR[U5S5 [RRSSS[R"53S5nURUS	U5 gUR[U5S5 URUSS5 [RRSSS5nUR[RRUS5[RRU55 g)
Nr��/�lib��pythonz
site-packagesrrL���)rr-r�r�sepr�
platlibdirrB�lenrr@r/�_get_python_version_abirD)r4�dirs�wanteds   r�test_getsitepackages�)HelperFunctionsTests.test_getsitepackagesEsW�����
��#�#�%��
�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���S[lS[l[5n[R
"SS5 UR
SS5 [R"5nURURS[R-5U5 [R"5nURURU5U5 SSS5 SSS5 [R
"SSS9n[R
R	5n[R"[S
S5 [!5n[R""U5 UR%W5 UR'5 UR)U5 SSS5 SSS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   NA=f!,(df   NJ=f!,(df   g=f)Nzos.path.expanduserc��U$r!r")rs rru�=HelperFunctionsTests.test_no_home_directory.<locals>.<lambda>gs��4r#r��APPDATA�~z
os.path.isdirF)�return_valuerrT)rrr*r	r
�patch�unsetr�r�r�rr�r��objectr�	swap_attrrh�addusersitepackages�assert_called_once_with�assert_not_calledrX)r4r�r�r��
mock_isdir�mock_addsitedirr�s       r�test_no_home_directory�+HelperFunctionsTests.test_no_home_directory^sY��
������
 �
"�g�
�Z�Z�,�.?�
@��M�M�*�I�6��(�(�*�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.�/%G!�G�1AF?�G�G!�
F+	�'F.�.
F<�?
G
�	G�
G	�G!�!
G/c��Sn[SSUS3US9up#nURUS5 [SSSUS3US9up#nURUS5 g)	N�filer�z.import site; assert site.gethistoryfile() == "�")�PYTHON_HISTORYr�-Iz.import site; assert site.gethistoryfile() != ")rrB)r4rgr��out�errs     r�test_gethistoryfile�(HelperFunctionsTests.test_gethistoryfile~sm����'��<�X�J�a�H�#�%����	
����Q��(��d�<�X�J�a�H�#�%����	
����Q�r#c���SnSUS-4S4H�up#[R"S[R"US95 [R"S[R"55 [
R"U5 UR[RR5U5 SSS5 SSS5 M� g!,(df   N=f!,(df   M�=f)Nzbla-bla-blaT�
)Fr�z	sys.flags)�verbosez
sys.stderr)r
r��Mock�io�StringIOr�_tracerBr�stderrr�)r4�messagerrs    r�
test_trace�HelperFunctionsTests.test_trace�s�����!�7�T�>�2�K�?�L�G����K����7�)C�D��J�J�|�R�[�[�]�;����G�$�� � ����!4�!4�!6��<�<�E�D�@�;�;��E�D�s$�+C�%AB?�*C�?
C
�	C�
C	)r�r+r.r,r2r1r)N)*�__name__�
__module__�__qualname__�__firstlineno__�__doc__r5r;rIrRr\rirr~r�r�r�r�r�r�r�
skipUnless�hasattrrr�rr�r�requires_subprocessr�r��
HAS_USER_SITEr�rrr�r�r�r�r�rr�__static_attributes__r"r#rr&r&Bs����5�
9�B�H�@�
�*-�v�%�
<�
D�-�	5��	������Y�/�1J�K��L���������0�2F�G�� � �"�
�#�H�
�H�����(8�9�@�:�@�����.�.�1>�?�� � �"�%?�#�?�%?�N����(8�9�0�:�0�"����(8�9�=�:�=�7�2����(8�9�*�:�*�> �=r#r&c�:�\rSrSrSr\SSS4SjrSrSSjrS	r	g
)rbi�z/Helper class for handling testing of .pth files�time�__testdir__�__badc���US-Ul[RRS5Ul[RRURUR5UlX lX0lX@l	[RRURUR5Ul
[RRURUR5Ulg)zInitialize instance variablesrmr�N)rgrrrCrfr@r�rU�good_dirname�bad_dirnamerWrY)r4�
filename_baserUr#r$s     r�__init__�PthFile.__init__�s���&��.��
�������+��
������d�m�m�T�]�]�C��� �
�(��&���W�W�\�\�$�-�-��9J�9J�K����G�G�L�L�����8H�8H�I��r#c�b�[URS5n[SUS9 [SUS9 [SUR-US9 [URUS9 [UR
US9 UR
5 [R"UR5 g!UR
5 f=f)a?Create a .pth file with a comment, blank lines, an ``import
<self.imported>``, a line with self.good_dirname, and a line with
self.bad_dirname.

Creation of the directory for self.good_dir_path (based off of
self.good_dirname) is also performed.

Make sure to call self.cleanup() to undo anything done by this method.

rnz#import @bad module name�rr
z	import %sN)
rwr��printrUr#r$�closer�mkdirrW)r4�FILEs  rrd�PthFile.create�s����D�N�N�C�(��	��,�4�8��$�T�"��+��
�
�-�D�9��$�#�#�$�/��$�"�"��.��J�J�L�
����#�#�$��
�J�J�L�s�AB�B.c��[RRUR5(a [R"UR5 U(a[[
RRUR5Ul	UR(a[
RUR	O8UR(a'UR[
RUR'[RRUR5(a [R"UR5 [RRUR5(a![R"UR5 gg)z�Make sure that the .pth file is deleted, self.imported is not in
sys.modules, and that both self.good_dirname and self.bad_dirname are
not existing directories.N)
rrrNr�rsrrV�getrU�imported_modulerW�rmdirrY)r4ras  rrc�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#)	rYr$rfr�rgrWr#rUr1N)F)
rrrrrrr&rdrcrr"r#rrbrb�s��9�%+�f�!.�G�
J�%�,(r#rbc�h�\rSrSrSrSrSrSrSr\	R"S5S5rS	rS
r
SrSr\R""5S
5r\	R&"\"\R,S5S5\R R1S5\R R2S555rSrg)�ImportSideEffectTestsi�z(Test side-effects from importing 'site'.c�4�[RSSUlg)zMake a copy of sys.pathN)rrr)r3s rr5�ImportSideEffectTests.setUp�s��������
r#c�>�UR[RSS&gr8)r)rrr3s rr;�ImportSideEffectTests.tearDown�s���m�m�����r#c��S[RSl[R"5 UR[RSR5 g)z{Test for __cached__ is None.

Regarding to PEP 3147, __cached__ can be None.

See also: https://bugs.python.org/issue30167
N�test)rrV�
__cached__r�	abs_paths�assertIsNoner3s r�test_abs_paths_cached_None�0ImportSideEffectTests.test_abs_paths_cached_None�s<��*.����F��&��������#�+�+�f�-�8�8�9r#c��[R"5 [5n[RH%nURX!5 UR
U5 M' gr!)r�removeduppathsrhrrr��add)r4�
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��gr!r"r3s r�test_add_build_dir�(ImportSideEffectTests.test_add_build_dir�s��
	
r#c��UR[[S55 UR[[S55 g)N�quit�exit�r�r�builtinsr3s r�test_setting_quit�'ImportSideEffectTests.test_setting_quit�s(�������&�1�2������&�1�2r#c��UR[[S55 UR[[S55 UR[[S55 g)N�	copyright�credits�licenserMr3s r�test_setting_copyright�,ImportSideEffectTests.test_setting_copyright�s;�������+�6�7������)�4�5������)�4�5r#c�B�UR[[S55 g)N�helprMr3s r�test_setting_help�'ImportSideEffectTests.test_setting_help�s�������&�1�2r#c�z�S[R;aSSKnURS5 gg![a gf=f)N�
sitecustomizerz(sitecustomize not imported automatically)rrVr\�fail�ImportError)r4r\s  r�test_sitecustomize_executed�1ImportSideEffectTests.test_sitecustomize_executeds?���#�+�+�-�
F�$��	�	�D�E�
.���
��
�s�-�
:�:c��S/n[R(aURS5 [R"5nUR[RU5 [5nX#S'UGHan[R"U5 [R"U5 [RRX$S35nSU3n[US5nURSUS35 SSS5 [R "["R$S	S
/5nUR'XhR)S55 [R "["R$SS	S
/5nUR+XhR)S55 SU:XdGM[R "["R$S
S	S
/5nUR+XhR)S55 GMd SSS5 g!,(df   N�=f!,(df   g=f)Nr\�
usercustomize�
PYTHONPATHz.py�	EXECUTED_rnzprint("z")r�z""roz-Sr�)rr�append�tempfile�mkdtemprxr�rmtreer	rr,rr@rwryr��check_outputrr�rO�decoder�)	r4�	mod_names�temp_dirr��module_name�customize_path�
eyecatcher�f�outputs	         r�%test_customization_modules_on_startup�;ImportSideEffectTests.test_customization_modules_on_startup
s���
�
�	�� � ����_�-��#�#�%�����	�(�(�(�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�) )�#�
"�/�.��#�
"�s-�)A*G0�G�)BG0�	A
G0�
G-�)G0�0
G>�HTTPSHandlerz$need SSL support to download license�networkc�^�[RR5Sn[RRUSS9nUR
[RR5 [R"U5 [RRU5nUR5nSSS5 SSS5 URWSSU-S9 g!,(df   N+=f!,(df   N4=f![RRanURnSnANfSnAff=f)NrL�HEAD)�method��zCan't find )�msg)rT�_Printer__data�split�urllib�request�Requestrx�
urlcleanupr�transient_internet�urlopen�getcode�error�	HTTPError�coderB)r4�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��^�^�+�+�C�0�D��<�<�>�D�1�7�
	
����s�
��(;��<�	1�0��7�6���|�|�%�%�	��6�6�D��	�sN�*C8� C'� C�1C'�9C8�
C$	� C'�'
C5�1C8�5C8�8D,�D'�'D,)r)N)rrrrrr5r;r?rEr�skiprHrOrUrYr_rrrrrrr}r~r;�requires_resource�system_must_validate_certr�rr"r#rr5r5�s���2�$�$�	:�!��]�]�)�*�
�+�
�3�
6�3�F�
� � �"�"I�#�"I�J��������@�?�A�	�\�\�#�#�I�.�	�\�\�+�+�
=�,�/�A�
=r#r5c���\rSrSr\R
"5S5r\R
"5S5r\R
"5S5r\R
"5S5r	Sr
g)�StartupImportTestsiDc	�`�[R"[RSSSSS/[RSSS9nUR5S	nUR
URS	[U55 [R"U5nUHtn[R"[RR[R"U5S
55nU(dMTUR!S[#U5SU35 Mv [R"[RSSSS
SS/[R[RSSS9nUR5up&UR
URS	X&45 [R"U5nUR%SU5 1SknUR'UR)U5U5 UR+SXv5 UR+SXv5 1SkR-[R.5n	UR'UR)U	5U5 g)N�-X�utf8rr�z!import sys; print(repr(sys.path))ro�surrogateescape)�stdoutrq�errorsrz*.pthzfound z .pth files in: z-vz#import sys; print(set(sys.modules)))r�rrqr�r>r��_sre�
re._parser�re._compiler�
re._constants�locale�copyreg>
�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)
r4�popenr��isolated_pathsr�	pth_filesrrV�re_mods�collection_modss
          r�test_startup_imports�'StartupImportTests.test_startup_importsFs���� � �#�.�.�$���"&�(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��[R"[RSS/5R	5nURUS5 g)Nr��9import sys; sys.exit(hasattr(sys, "__interactivehook__"))z''__interactivehook__' not added by site�r�r�rr��waitr��r4�rs  r�test_startup_interactivehook�/StartupImportTests.test_startup_interactivehookys=�����c�n�n�d�G�I�
J�JN�$�&�	
�����D�Er#c��[R"[RSSS/5R	5nURUS5 g)Nrr�r�z,'__interactivehook__' added in isolated mode)r�r�rr�r�rXr�s  r�%test_startup_interactivehook_isolated�8StartupImportTests.test_startup_interactivehook_isolatedsC��
���c�n�n�d�D�G�I�
J�JN�$�&�	
�����J�Kr#c��[R"[RSSS/5R	5nURUS5 g)Nrr�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"N)rrrrrrr�r�r�r�rr"r#rr�r�Ds}��� � �"�0H�#�0H�d
� � �"�F�#�F�

� � �"�L�#�L�
� � �"�U�#�Ur#r�c��\rSrSr\R
S:XaSSjrOSSjrSrS\S\	4Sjr
\R"5S	5r
\R"5S
5r\R"5S5r\R"5S5rS
rg)�
_pthFileTestsi�r�c
��SSKn[R"5nUR[R
U5 [RRU[RR[R5S5nUR[R5n[RRU[RRU5S5n[R"[RU5 [R"Xg5 [ R "[RR[RRU5SS55HXn[R"U[RRU[RRU5S55 MZ U(a&[RR#U5SS-n	O%[RR#U5SS-n	[%U	SSS9n
UHn['X�S9 M SSS5 U$!,(df   U$=f)	NrrLzvcruntime*.dll�._pthrnr�rpr))�_winapirfrgrxrrhrrr@r|rr��GetModuleFileName�	dllhandle�shutilrr��splitextrwr*)r4�lines�exe_pthr�rl�exe_file�dll_src_file�dll_file�fn�	_pth_filerp�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�!�!�D��$�'�"�7��O�7�6��O�s�/I�
Ic��U(d[R"S5e[R"5nUR	[
RU5 [RRU[RR[R5S5n[R"[RU5 US-n[US5nUHn[XvS9 M SSS5 U$!,(df   U$=f)Nz1library ._pth file not supported on this platformrLr�rnr))rrrfrgrxrrhrrr@r|rr��symlinkrwr*)r4r�r�rlr�r�rpr�s        rr�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�C4�4
Dc���/nUHbnU(a	USS:XaM[RR[RRX55nUR	U5 Md U$)Nr�#)rrrCr@re)r4�
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#�libpath�import_sitec�6^�S/n[TRS55n[SSU-5nUS::aURSUSS35 UR	U4S	j[U555 UR	S
S/5 U(aUR
S5 U$)
N�fake-path-nameroryi0ur�z Python stdlib path is too long (�,z bytes)c3�(># �UHnTv� M	 g7fr!r")�.0�_r�s  �r�	<genexpr>�/_pthFileTests._get_pth_lines.<locals>.<genexpr>�s����=�*<�Q��*<�s�r�z	# commentzimport site)r��encode�minr��extend�rangere)r4r�r��	pth_lines�encoded_libpath_length�repetitionss `    r�_get_pth_lines�_pthFileTests._get_pth_lines�s����%�&�	�"%�W�^�^�G�%<�!=���#�u�(>�>�?���!���M�M�2�3I�!�2L�G�T�
V����=�%��*<�=�=����"�k�*�+�����]�+��r#c�r�SS/[RQSPSPnURU5nUR[RRU5U5n[R"USSSS/S	S
S9nUR5RS5nURUS
5 URUUS5 g)Nz#.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�ri�rstripr|r�rB)r4r�r�r)rq�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��[RRn[RR[R5nURUSS9nURU5nUR[RRU5U5n[RR5nSUS'SRU[R[R"S55US'[ R""USS/US	S
S9nUR%5R'S5nUR)US
5 UR+UUS5 g)NF�r��from-envrcz{}{}{}�PATHr�r�ror�)r�rqr�r
r�r�)r;r�
STDLIB_DIRrrr�rr�r�r�r�r�r�format�pathsep�getenvr�rir�r|r�rB)	r4r��
exe_prefixr�r�r)r�rqr�s	         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
��[RRn[RR[R5nURURUSS95n[RRU5n[RR5nSUS'SRU[R"S55US'[R"USS[RR!US	5<S
U<S
[RR!US5<S3/US9nUR#US
5 g)NTrrrc�{};{}rr��/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;rrrrr�rr�r�r�r�rrrr�r�r@r��r4r�rr�r�r�r�s       r�test_underpth_file� _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�4r#c
��[RRn[RR[R5nURURUSS9SS9n[RRU5n[RR5nSUS'SRU[R"S55US'[R"US	S
[RR!US5<SU<S[RR!US5<S
3/US9nUR#US5 g)NTrF)r�rrcrrr�r
r�rrr�r�rrs       r�test_underpth_dll_file�$_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�4r#r"N)T)rrrrrr�r�r�r��boolr�rrr�r	rrrr"r#rr�r��s���
�|�|�w��	�(	���c��4�� 
� � �"�
�#�
�$
� � �"�
�#�
�.
� � �"�5�#�5�&
� � �"�5�#�5r#r�c��\rSrSrSrSrSr\R"5S5r	\R"5S5r
\R"5S5r\R"5S5r\R"5S	5r
S
rg)�CommandLineTestsic�T�Ub%[RRU5(agg)NrNz
doesn't exist)rrr)r4rs  rrN�CommandLineTests.existss �������
�
�d� 3� 3��"r#c�b�[U5S:XGa([R"5n[R"5n[R
"5nUR
S5 [RHnUR
SU<S35 M UR
S5 UR
SUSURU5S35 UR
S	USURU5S35 UR
S
[RS35 S[UR55R54$/nSU;a$UR[R"55 S
U;a$UR[R"55 U(a�Sn[R(aSnO)[RSLaSnO[RcSn[R R#U5nU[RR%[U5R554$g)Nrz
sys.path = [
z    z,
z]
zUSER_BASE: � (z)
zUSER_SITE: �ENABLE_USER_SITE: r
�--user-base�--user-site�FrLr�)�
N)r�rr�r�r
rryrrrNrrr��striprerrr@r�)r4�argsr�r�rq�dir�buffer�return_codes        r�get_excepted_output�$CommandLineTests.get_excepted_output%s����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�r#c	��/n[RR(aURS5 UR	SS/UQ5 [5nSUS'SUS'[
USUSS	S
.6nSSS5 [W5nURnU[RR[U5R554$!,(df   N]=f)Nr�z-mrr��
PYTHONUTF8ro�PYTHONIOENCODINGT�replace)�textr�rqr�)r�flags�no_user_siterer�r	r
rr�rrr�rr#)r4r$�cmd_argsr��procrqr's       r�invoke_command_line�$CommandLineTests.invoke_command_lineFs������9�9�!�!��O�O�D�!�����v�-��-�.�
 �
"�c� #�C���&-�C�"�#����#�)0��D�D�#��T�"���o�o���B�G�G�,�,�V�F�^�-A�-A�-C�D�D�D�#�
"�s�C�
Cc��UR5upUR5up4URX5 UR5nURUSS5 URUSS5 S[R
"5S3SUR
[R
"55S3-nURUS	U5 S
[R"5S3SUR
[R"55S3-nURUSU5 URUSS
[R35 g)Nrzsys.path = [����]zUSER_BASE: '�'r�)���zUSER_SITE: '���r�r)	r3r(rB�
splitlinesrr�rNr�r)r4r'rq�excepted_return_coder�r��
excepted_base�
excepted_sites        r�test_no_args�CommandLineTests.test_no_argsVs,��"�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��URS5upURS5up4URX5 URSU5 g)Nz
--unknown-argz[--user-base] [--user-site])r3r(rBrO)r4r'rqr=r�s     r�test_unknown_args�"CommandLineTests.test_unknown_argsfsF��"�6�6��G���"&�":�":�?�"K�������;��
�
�3�V�<r#c��URS5upURS5nUupEURX5 URX%5 g)Nr�r3r(rB�r4r'rq�exceptedr=�excepted_outputs      r�
test_base_arg�CommandLineTests.test_base_argm�J��"�6�6�}�E����+�+�M�:��08�-������;�����1r#c��URS5upURS5nUupEURX5 URX%5 g)Nr rFrGs      r�
test_site_arg�CommandLineTests.test_site_argurLr#c��URSS5upURSS5nUupEURX5 URX%5 g)Nrr rFrGs      r�test_both_args�CommandLineTests.test_both_args}sR��"�6�6�}�7D�F����+�+�M�=�I��08�-������;�����1r#r"N)rrrrrNr(r3rrr@rCrJrNrQrr"r#rrrs���#��BE� 
� � �"�
R�#�
R�
� � �"�=�#�=�
� � �"�2�#�2�
� � �"�2�#�2�
� � �"�2�#�2r#r�__main__)5rr�test.supportr;r�test.support.script_helperrrrr�test.support.os_helperrr	r
rr�rNr�r
rr�r�r�r�rr/rf�textwrapr�urllib.errorr}�urllib.requestr
rr/�no_siterrrrrrr$�TestCaser&r�rbr5r�r�rr�mainr"r#r�<module>r]s-������7�"�&�(�>�@�
���	�	�	�
���
��������
�9�9���
�
�
�8�
9�9�����t�+�
���=��O=�8�,�,�O=�d
5(�f�5(�nv=�H�-�-�v=�rGU��*�*�GU�RN5�H�%�%�N5�bf2�x�(�(�f2�R�z���M�M�O�r#

Youez - 2016 - github.com/yon3zu
LinuXploit