Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.224.52.109
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_site.cpython-310.pyc
o

abfh�@s�dZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	m
Z
mZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZdd	lmZejjrue�d
��ddlZej duZ!da"dd�Z#d
d�Z$Gdd�dej%�Z&Gdd�de'�Z(Gdd�dej%�Z)Gdd�dej%�Z*e�+ej,dkd�Gdd�dej%��Z-e.dkr�e�/�dSdS)zTests for 'site'.

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

�N)�support)�	os_helper)�
socket_helper)�captured_stderr)�TESTFN�EnvironmentVarGuard�
change_cwd)�mock)�copyzPython was invoked with -Sc
Csvtjdd�atjr7tj�tj�s9zt�tj�t�	tj�WdSt
y6}z
t�dtj|f��d}~wwdSdS)Nz-unable to create user site directory (%r): %s)
�sys�path�OLD_SYS_PATH�site�ENABLE_USER_SITE�os�isdir�	USER_SITE�makedirs�
addsitedir�PermissionError�unittest�SkipTest)�exc�r�7/usr/local/python-3.10/lib/python3.10/test/test_site.py�setUpModule+s����rcCsttjdd�<dS�N)r
rrrrrr�tearDownModule:src@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	de
fdd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Ze�ed�dd��Ze�ejd �d!d"��Ze�ed�d#d$��Ze�ed�d%d&��Zd'd(�Ze�ed�d)d*��Zd+d,�Zd-S).�HelperFunctionsTestsz Tests for helper functions.
    cCs@tjdd�|_tj|_tj|_tj|_	t
j|_t
t
j�|_dS)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��selfrrr�setUpBszHelperFunctionsTests.setUpcCsZ|jtjdd�<|jt_|jt_|jt_	|j
t_tjdur+tj�
�tj�|j�dSdS�zRestore sys.pathN)rrrr!rr r"rr$r#r'r%r&�clear�updater(r)rrr�tearDownKs

�zHelperFunctionsTests.tearDowncCsjd}tjj|�}tj|�\}}|�tj�|�|�|tj�|�kr)|�||�dS|�tj�|�|�dS)N)Z	BeginningZEnd)rr�joinr�makepath�assertEqual�abspath�normcase)r*�
path_partsZoriginal_dirZabs_dirZnorm_dirrrr�
test_makepathWsz"HelperFunctionsTests.test_makepathcCs8t��}dd�tjD�D]
}|�||d||f�qdS)NcSs*g|]}|rtj�|�rt�|�d�qS)�)rr�existsrr1)�.0rrrr�
<listcomp>fs
�
�z;HelperFunctionsTests.test_init_pathinfo.<locals>.<listcomp>zB%s from sys.path not found in set returned by _init_pathinfo(): %s)r�_init_pathinforr�assertIn)r*Zdir_set�entryrrr�test_init_pathinfods���z'HelperFunctionsTests.test_init_pathinfocCsJ|�|jtjd|j�|�t�|j�dtj�|�t	j�
|j��dS)z>Contain common code for testing results of reading a .pth filez%s not in sys.modulesrN)r<�importedr�modulesrr1�
good_dir_pathr�assertFalserr8�bad_dir_path�r*�pth_filerrr�pth_file_testsls
�z#HelperFunctionsTests.pth_file_testscCsRt�}|jdd�z|��t�|j|jt��|�|�W|��dS|��w�NT)�prep)	�PthFile�cleanup�creater�
addpackage�base_dir�filename�setrFrDrrr�test_addpackagessz$HelperFunctionsTests.test_addpackage�.csztj�|�}|d}tj�||��t�ddd��}|��fdd��|�|�Wd�||fS1s4wY||fS)N�.pth�w�utf-8)�encodingcs
t���Sr)r�remover��pth_fnrr�<lambda>�s
z/HelperFunctionsTests.make_pth.<locals>.<lambda>)rrr3r0�open�
addCleanup�write)r*�contents�pth_dirZpth_nameZpth_basenamerErrWr�make_pth�s
��zHelperFunctionsTests.make_pthc	Cs�|�d�\}}t��}t�||t��Wd�n1swY|�|��d�|�|��t�t	j
�||���|�|��d�|�|��d�|�|��d�dS)Nzimport bad-syntax
zline 1�	Tracebackzimport bad-syntax�SyntaxError�r_rrrLrOZassertRegex�getvalue�re�escaperrr0�r*r^rX�err_outrrr�!test_addpackage_import_bad_syntax�s�
�z6HelperFunctionsTests.test_addpackage_import_bad_syntaxc	Cs�|�d�\}}t��}t�||t��Wd�n1swY|�|��d�|�|��t�t	j
�||���|�|��d�|�|��d�dS)Nzrandompath
import nosuchmodule
zline 2r`�ModuleNotFoundErrorrbrfrrr�test_addpackage_import_bad_exec�s�
�z4HelperFunctionsTests.test_addpackage_import_bad_execcCs0|�d�\}}t�||t��}|�|t��dS)Nz

  

)r_rrLrOr2)r*r^rX�known_pathsrrr�test_addpackage_empty_lines�sz0HelperFunctionsTests.test_addpackage_empty_linescCs�|�d�\}}t��}|�t�||t���Wd�n1s wYd|_|�|��d�t	j
D]
}t|t�r@|�
d|�q3dS)Nzabcdef
�zabcdef)r_rrBrrLrOZmaxDiffr2rcrr�
isinstance�str�assertNotIn)r*r^rXrgrrrr�#test_addpackage_import_bad_pth_file�s�

��z8HelperFunctionsTests.test_addpackage_import_bad_pth_filecCsNt�}|jdd�z|��t�|jt��|�|�W|��dS|��wrG)rIrJrKrrrMrOrFrDrrr�test_addsitedir�sz$HelperFunctionsTests.test_addsitedircCs|�t��t���dSr)r2r�_getuserbaser%r)rrr�test__getuserbase�sz&HelperFunctionsTests.test__getuserbasezneed user sitecCsBtjdkrtjrd}ntjd}|�t�t���t	�
d|��dS)N�darwinZosx_framework_user�_userZpurelib)r�platform�
_frameworkr�namer2r�	_get_pathrsr%Zget_path)r*�schemerrr�
test_get_path�s

�z"HelperFunctionsTests.test_get_pathz<requires access to PEP 370 user-site (site.ENABLE_USER_SITE)cCs(tj}|�|tj�tj��}tj	tj
dd|g|d�}|�|d�tj��}tj	tj
ddd|g|d�}|t��dkrD|�|d�n|�|dd�tj��}d|d	<tj	tj
dd|g|d�}|t��dkrp|�|d�n|�|dd
�tj��}d|d<tj	tj
dd
g|d�}|�|dd�dS)N�-cz$import sys; sys.exit(%r in sys.path)��envr7z-srz%User site still added to path with -s�1ZPYTHONNOUSERSITEz3User 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<rrr�environr
�
subprocess�call�
executabler2�getsitepackages)r*Zusersiter�rcrrr�
test_s_option�sP

��
��

���

���z"HelperFunctionsTests.test_s_optioncCs~dt_t��}|�tj|�dt_ddl}d|_t��}d|d<|�t���d�t���Wd�dS1s8wYdS)Nr�xoxor�)	rr �getuserbaser2r%r&r�
assertTrue�
startswith)r*�	user_baser%r�rrr�test_getuserbase�s�"�z%HelperFunctionsTests.test_getuserbasecCsLdt_dt_t��}|�tj|�|�|�tj�|�|�tjt���dSr)rrr �getusersitepackagesr2r�r�r�)r*�	user_siterrr�test_getusersitepackagessz-HelperFunctionsTests.test_getusersitepackagescCs�dgt_t��}tjdkrVtjdkr4|�t|�d�tj	�
dtjdtjdd�d�}|�|d|�n|�t|�d�tj	�
dddtjdd�d�}|�|d	|�dS|�t|�d�|�|dd�tj	�
ddd�}|�|d|�dS)
Nr��/�lib�zpython%d.%dz
site-packagesrr7���)rr#r�r�sepr�
platlibdirr2�lenrr0�version_info)r*�dirsZwantedrrr�test_getsitepackagess(

�
�z)HelperFunctionsTests.test_getsitepackagesc
Cstdt_dt_t��C}t�ddd���+|d=|d=t��}|�|�dt	j
�|�t��}|�|�|�|�Wd�n1s@wYWd�n1sOwYtjddd	��U}tj�td
��5}t
�tdd��t�}t�|�|�|�|��|�|�Wd�n1s�wYWd�n1s�wYWd�dSWd�dS1s�wYdS)
Nzos.path.expandusercSs|Srr)rrrrrY:sz=HelperFunctionsTests.test_no_home_directory.<locals>.<lambda>r��APPDATA�~z
os.path.isdirF)Zreturn_valuerrT)rrr rr	�patchr�r�r�rr�r��objectrZ	swap_attrrO�addusersitepackagesZassert_called_once_withZassert_not_calledrB)r*r�r�r�Z
mock_isdirZmock_addsitedirrkrrr�test_no_home_directory1s<����
��

��Pz+HelperFunctionsTests.test_no_home_directoryc
Cs�d}d|dfdfD]D\}}t�dtj|d���.t�dt����t�|�|�tj	�
�|�Wd�n1s:wYWd�n1sIwYq
dS)Nzbla-bla-blaT�
)Frmz	sys.flags)�verbosez
sys.stderr)r	r�ZMock�io�StringIOr�_tracer2r�stderrrc)r*�messager��outrrr�
test_traceSs�
����zHelperFunctionsTests.test_traceN)�__name__�
__module__�__qualname__�__doc__r+r/r6r>rFrPrr_rhrjrlrqrrrtr�
skipUnless�
HAS_USER_SITEr|rrr�r�r�r�r�r�rrrrr>s6	





'





!rc@s4eZdZdZedddfdd�Zdd�Zd
d
d�ZdS)rIz/Helper class for handling testing of .pth files�timeZ__testdir__Z__badcCsj|d|_tj�d�|_tj�|j|j�|_||_||_||_	tj�|j|j�|_
tj�|j|j	�|_dS)zInitialize instance variablesrRrmN)rNrrr3rMr0�	file_pathr?�good_dirname�bad_dirnamerArC)r*�
filename_baser?r�r�rrr�__init___s
zPthFile.__init__cCszt|jd�}z)td|d�td|d�td|j|d�t|j|d�t|j|d�W|��n|��wt�|j	�dS)aoCreate 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.

        rSz#import @bad module name��filer�z	import %sN)
rZr��printr?r�r��closer�mkdirrA)r*�FILErrrrKkszPthFile.createFcCs�tj�|j�r
t�|j�|r tj�|j�|_	|j	rtj|j=n
|j	r*|j	tj|j<tj�|j
�r7t�|j
�tj�|j�rFt�|j�dSdS)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)
rrr8r�rVrr@�getr?Zimported_modulerA�rmdirrC)r*rHrrrrJ�s
��zPthFile.cleanupN)F)r�r�r�r�rr�rKrJrrrrrI\s
�rIc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Ze�	d
�dd��Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zej�d�ejje�eejd�d�dd����ZdS)�ImportSideEffectTestsz(Test side-effects from importing 'site'.cCstjdd�|_dS)zMake a copy of sys.pathN)rrrr)rrrr+��zImportSideEffectTests.setUpcCs|jtjdd�<dSr,)rrrr)rrrr/�r�zImportSideEffectTests.tearDowncCs*dtjd_t��|�tjdj�dS)z�Test for __cached__ is None.

        Regarding to PEP 3147, __cached__ can be None.

        See also: https://bugs.python.org/issue30167
        N�test)rr@�
__cached__r�	abs_pathsZassertIsNoner)rrr�test_abs_paths_cached_None�sz0ImportSideEffectTests.test_abs_paths_cached_NonecCs4t��t�}tjD]
}|�||�|�|�q
dSr)r�removeduppathsrOrrrp�add)r*Z
seen_pathsrrrr�test_no_duplicate_paths�s
�z-ImportSideEffectTests.test_no_duplicate_pathsztest not implementedcCsdSrrr)rrr�test_add_build_dir�sz(ImportSideEffectTests.test_add_build_dircCs$|�ttd��|�ttd��dS)N�quit�exit�r��hasattr�builtinsr)rrr�test_setting_quit�sz'ImportSideEffectTests.test_setting_quitcCs4|�ttd��|�ttd��|�ttd��dS)N�	copyright�credits�licenser�r)rrr�test_setting_copyright�sz,ImportSideEffectTests.test_setting_copyrightcCs|�ttd��dS)N�helpr�r)rrr�test_setting_help�r�z'ImportSideEffectTests.test_setting_helpcCsZtjdkr)ddl}|��d�d�r+tjj��D]	}|dkr!dSq|�d�dSdSdS)N�win32rr7Zcp�mbcszdid not alias mbcs)	rrw�locale�getdefaultlocaler��	encodings�aliases�values�fail)r*r��valuerrr�test_aliasing_mbcs�s
��z(ImportSideEffectTests.test_aliasing_mbcscCs>dtjvrzddl}Wn
tyYdSw|�d�dSdS)N�
sitecustomizerz(sitecustomize not imported automatically)rr@r��ImportErrorr�)r*r�rrr�test_sitecustomize_executed�s
��z1ImportSideEffectTests.test_sitecustomize_executedZnetworkZHTTPSHandlerz$need SSL support to download licensec
Cs�tj��d}tjj|dd�}|�tjj�z1t�	|��"tj�
|��}|��}Wd�n1s2wYWd�n1sAwYWntjj
y^}z	|j}WYd}~nd}~ww|j|dd|d�dS)Nr7ZHEAD)�method��zCan't find )�msg)r��_Printer__data�split�urllib�requestZRequestr[�
urlcleanuprZtransient_internet�urlopenZgetcode�error�	HTTPError�coder2)r*�urlZreq�datar��errr�test_license_exists_at_url�s 
������z0ImportSideEffectTests.test_license_exists_at_urlN)r�r�r�r�r+r/r�r�r�skipr�r�r�r�r�r�r�rZrequires_resourceZsystem_must_validate_certr�r�r�r�r�rrrrr��s&	



�r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�StartupImportTestsc
Cs8tjtjdddgtjdd�}|��d}|�|jdt|��t	|�}|D]}t
�
tj�
t
�|�d��}|rB|�dt|��d	|���q$tjtjdd
ddgtjtjdd�}|��\}}|�|jd||f�t	|�}|�d
|�hd�}|�|�|�|�|�d||�|�d||�hd��tj�}	|�|�|	�|�dS)N�-Ir}z!import sys; print(repr(sys.path))rT)�stdoutrUrz*.pthzfound z .pth files in: z-vz#import sys; print(set(sys.modules)))r�r�rUr>�_sre�	sre_parse�
sre_constantsrd�sre_compiler��copyreg>
�reprlib�	functools�collections�	itertools�keyword�weakref�heapq�types�_collections�operator)r��Popenrr��PIPE�communicater2�
returncode�repr�eval�globrrr0reZskipTestr�r<rB�intersectionrp�
difference�builtin_module_names)
r*�popenr�Zisolated_pathsrZ	pth_filesr�r@Zre_modsZcollection_modsrrr�test_startup_imports�sB������z'StartupImportTests.test_startup_importscCs&t�tjddg���}|�|d�dS)Nr}�9import sys; sys.exit(hasattr(sys, "__interactivehook__"))z''__interactivehook__' not added by site�r�rrr��waitr��r*�rrrr�test_startup_interactivehook"s
��z/StartupImportTests.test_startup_interactivehookcC�(t�tjdddg���}|�|d�dS)Nr�r}rz,'__interactivehook__' added in isolated mode)r�rrr�rrBrrrr�%test_startup_interactivehook_isolated'���z8StartupImportTests.test_startup_interactivehook_isolatedcCr)Nr�r}zYimport site, sys; site.enablerlcompleter(); sys.exit(hasattr(sys, "__interactivehook__"))z6'__interactivehook__' not added by enablerlcompleter()rrrrr�.test_startup_interactivehook_isolated_explicit-rzAStartupImportTests.test_startup_interactivehook_isolated_explicitN)r�r�r�rrrrrrrrr��s
0r�r�zonly supported on Windowsc@s6eZdZd
dd�Zdd�Zdd�Zdd	�Zd
d�ZdS)�
_pthFileTestsTcCs�ddl}t��}|�tj|�tj�|tj�	t
j�d�}|�t
j
�}tj�|tj�	|�d�}t�t
j|�t�||�|rJtj�|�dd}n
tj�|�dd}t|d��}	|D]}
t|
|	d�q\Wd�|S1spwY|S)Nrr7z._pthrSr�)�_winapi�tempfile�mkdtempr[r�rmtreerrr0r�rr�ZGetModuleFileNameZ	dllhandle�shutilr
�splitextrZr�)r*�lines�exe_pthrZtemp_dir�exe_fileZdll_src_fileZdll_fileZ	_pth_file�f�linerrr�_create_underpth_exe6s&�
��z"_pthFileTests._create_underpth_execCsDg}|D]}|r|ddkrqtj�tj�||��}|�|�q|S)Nr�#)rrr3r0�append)r*�
sys_prefixr"rr&Zabs_pathrrr�"_calc_sys_path_for_underpth_nositeHsz0_pthFileTests._calc_sys_path_for_underpth_nositecs�tj�tj�tj���tj�tj�}dg�fdd�td�D��d�d�}|�|�}|�	tj�|�|�}tj
��}d|d<d	�|t�
d
��|d
<tj|ddg|d
d�}|���d�}|�|d�|�||d�dS)N�fake-path-namec�g|]}��qSrr�r9�_�Zlibpathrrr:V�z;_pthFileTests.test_underpth_nosite_file.<locals>.<listcomp>r�rm�	# comment�from-env�
PYTHONPATH�{};{}�PATHr}zCimport sys; print("\n".join(sys.path) if sys.flags.no_site else "")�ansi)rrUr�zsys.flags.no_site was False�sys.path is incorrect)rr�dirnamer��__file__rr��ranger'r+r�r
�format�getenvr��check_output�rstripr�r�r2)r*�
exe_prefixZ	pth_linesr$rr�outputZactual_sys_pathrr0r�test_underpth_nosite_fileQs<����

�
���z'_pthFileTests.test_underpth_nosite_filec
s�tj�tj�tj���tj�tj�}|�dg�fdd�td�D��d�d�d��}tj�|�}tj	�
�}d|d	<d
�|t�d��|d<t
j|dd
tj�|d��tj�|d�fg|d�}|�|d�dS)Nr,cr-rrr.r0rrr:rr1z4_pthFileTests.test_underpth_file.<locals>.<listcomp>r�rmr2�import siter3r4r5r6r}��import sys; sys.exit(not sys.flags.no_site and %r in sys.path and %r in sys.path and %r not in sys.path and all("\r" not in p and "\n" not in p for p in sys.path))r~r8�rrr9r�r:rr�r'r;r�r
r<r=r�r�r0r��r*r@r$r*rr�rr0r�test_underpth_filems8�����
����z _pthFileTests.test_underpth_filec
s�tj�tj�tj���tj�tj�}|jdg�fdd�td�D��d�d�d�dd	�}tj�|�}tj	�
�}d
|d<d�|t�d
��|d
<t
j|ddtj�|d��tj�|d
�fg|d�}|�|d�dS)Nr,cr-rrr.r0rrr:�r1z8_pthFileTests.test_underpth_dll_file.<locals>.<listcomp>r�rmr2rCF)r#r3r4r5r6r}rDr~r8rErFrr0r�test_underpth_dll_file�s<������
����z$_pthFileTests.test_underpth_dll_fileN)T)r�r�r�r'r+rBrGrHrrrrr3s
	r�__main__)0r�rZtest.supportr�rrrrZtest.support.os_helperrrrr�r�rr�rrdr r�rr%rZurllib.errorr�Zurllib.requestr	r
�flags�no_siterrrr�r
rrZTestCaserr�rIr�r�r�rwrr��mainrrrr�<module>sR

 7]Ck�
© 2025 GrazzMean