HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/libregrtest/__pycache__/save_env.cpython-310.opt-1.pyc
o

�i�2�@snddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
Gdd�de�ZGdd�d�Z
dS)	�N)�support)�	os_helper)�
print_warningc@seZdZdS)�SkipTestEnvironmentN)�__name__�
__module__�__qualname__�r	r	�6/usr/local/lib/python3.10/test/libregrtest/save_env.pyrsrc@seZdZdZd�dd�dd�ZdZdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%dHdI�Z&dJdK�Z'dLdM�Z(dNdO�Z)dPdQ�Z*dRdS�Z+dTdU�Z,dVdW�Z-dXdY�Z.dZd[�Z/d\d]�Z0d^d_�Z1d`da�Z2dbdc�Z3ddde�Z4dfdg�Z5dhdi�Z6djdk�Z7dldm�Z8dndo�Z9dpdq�e:e;�D�Z<drds�Z=dtdu�Z>dvdw�Z?dxdy�Z@dzd{�ZAd|d}�ZBd~d�ZCd�S)��saved_test_environmenta�Save bits of the test environment and restore them at block exit.

        with saved_test_environment(testname, verbose, quiet):
            #stuff

    Unless quiet is True, a warning is printed to stderr if any of
    the saved items was changed by the test. The support.environment_altered
    attribute is set to True if a change is detected.

    If verbose is more than 1, the before and after state of changed
    items is also printed.
    rF)�pgocCs||_||_||_||_dS�N)�testname�verbose�quietr)�selfrrrrr	r	r
�__init__%s
zsaved_test_environment.__init__)zsys.argv�cwdz	sys.stdinz
sys.stdoutz
sys.stderrz
os.environzsys.pathzsys.path_hooks�
__import__zwarnings.filterszasyncore.socket_mapzlogging._handlerszlogging._handlerListzsys.gettracezsys.warnoptionsz!multiprocessing.process._danglingzthreading._danglingzsysconfig._CONFIG_VARSzsysconfig._INSTALL_SCHEMES�files�localezwarnings.showwarningZshutil_archive_formatsZshutil_unpack_formatsz!asyncio.events._event_loop_policyzurllib.requests._url_tempfileszurllib.requests._openercCs
tj|Sr
)�sys�modules�r�namer	r	r
�
get_moduleD�
z!saved_test_environment.get_modulecCs z|�|�WStyt�wr
)r�KeyErrorrrr	r	r
�try_get_moduleHs
�z%saved_test_environment.try_get_modulecCs|�d�}t|j�S�Nzurllib.request)r�listZ_url_tempfiles�r�urllib_requestr	r	r
�"get_urllib_requests__url_tempfilesO�

z9saved_test_environment.get_urllib_requests__url_tempfilescCs|D]}t�|�qdSr
)r�unlink)rZ	tempfiles�filenamer	r	r
�&restore_urllib_requests__url_tempfilesRs�z=saved_test_environment.restore_urllib_requests__url_tempfilescC�|�d�}|jSr)r�_openerr!r	r	r
�get_urllib_requests__openerV�
z2saved_test_environment.get_urllib_requests__openercC�|�d�}||_dSr)rr))r�openerr"r	r	r
�restore_urllib_requests__openerYr$z6saved_test_environment.restore_urllib_requests__openercCs|�d�t��S�N�asyncio)rrZmaybe_get_event_loop_policy�rr	r	r
�%get_asyncio_events__event_loop_policy]s
z<saved_test_environment.get_asyncio_events__event_loop_policycCs|�d�}|�|�dSr/)rZset_event_loop_policy)rZpolicyr0r	r	r
�)restore_asyncio_events__event_loop_policy`s
z@saved_test_environment.restore_asyncio_events__event_loop_policycC�ttj�tjtjdd�fSr
)�idr�argvr1r	r	r
�get_sys_argvd�z#saved_test_environment.get_sys_argvcC� |dt_|dtjdd�<dS�N��)rr6)rZ
saved_argvr	r	r
�restore_sys_argvf�
z'saved_test_environment.restore_sys_argvcC�t��Sr
)�os�getcwdr1r	r	r
�get_cwdj�zsaved_test_environment.get_cwdcC�t�|�dSr
)r@�chdir)rZ	saved_cwdr	r	r
�restore_cwdl�z"saved_test_environment.restore_cwdcC�tjSr
�r�stdoutr1r	r	r
�get_sys_stdouto�z%saved_test_environment.get_sys_stdoutcC�
|t_dSr
rI)rZsaved_stdoutr	r	r
�restore_sys_stdoutq�
z)saved_test_environment.restore_sys_stdoutcCrHr
�r�stderrr1r	r	r
�get_sys_stderrtrLz%saved_test_environment.get_sys_stderrcCrMr
rP)rZsaved_stderrr	r	r
�restore_sys_stderrvrOz)saved_test_environment.restore_sys_stderrcCrHr
�r�stdinr1r	r	r
�
get_sys_stdinyrLz$saved_test_environment.get_sys_stdincCrMr
rT)rZsaved_stdinr	r	r
�restore_sys_stdin{rOz(saved_test_environment.restore_sys_stdincCsttj�tjttj�fSr
)r5r@�environ�dictr1r	r	r
�get_os_environ~sz%saved_test_environment.get_os_environcCs(|dt_tj��tj�|d�dSr:)r@rX�clear�update)rZ
saved_environr	r	r
�restore_os_environ�s

z)saved_test_environment.restore_os_environcCr4r
)r5r�pathr1r	r	r
�get_sys_path�r8z#saved_test_environment.get_sys_pathcCr9r:)rr^)rZ
saved_pathr	r	r
�restore_sys_path�r>z'saved_test_environment.restore_sys_pathcCr4r
)r5r�
path_hooksr1r	r	r
�get_sys_path_hooks�r8z)saved_test_environment.get_sys_path_hookscCr9r:)rra)rZsaved_hooksr	r	r
�restore_sys_path_hooks�r>z-saved_test_environment.restore_sys_path_hookscCr?r
)r�gettracer1r	r	r
�get_sys_gettrace�rCz'saved_test_environment.get_sys_gettracecCrDr
)r�settrace)rZ	trace_fxnr	r	r
�restore_sys_gettrace�rGz+saved_test_environment.restore_sys_gettracecCrHr
��builtinsrr1r	r	r
�get___import__�rLz%saved_test_environment.get___import__cCrMr
rh)r�import_r	r	r
�restore___import__�rOz)saved_test_environment.restore___import__cC�&|�d�}t|j�|j|jdd�fS�N�warnings)rr5�filters�rror	r	r
�get_warnings_filters�s
z+saved_test_environment.get_warnings_filterscCs*|�d�}|d|_|d|jdd�<dS)Nror;r<)rrp)rZ
saved_filtersror	r	r
�restore_warnings_filters�s

z/saved_test_environment.restore_warnings_filterscCstj�d�}|r
|j��piS)N�asyncore)rr�get�
socket_map�copy)rrtr	r	r
�get_asyncore_socket_map�sz.saved_test_environment.get_asyncore_socket_mapcCs4tj�d�}|dur|jdd�|j�|�dSdS)NrtT)Z
ignore_all)rrruZ	close_allrvr\)rZ	saved_maprtr	r	r
�restore_asyncore_socket_map�s
�z2saved_test_environment.restore_asyncore_socket_mapcC�|�d�}|j|j��fS�N�shutil)r�_ARCHIVE_FORMATSrw�rr|r	r	r
�get_shutil_archive_formats�s
z1saved_test_environment.get_shutil_archive_formatscC�2|�d�}|d|_|j��|j�|d�dS�Nr|rr;)rr}r[r\�r�savedr|r	r	r
�restore_shutil_archive_formats��


z5saved_test_environment.restore_shutil_archive_formatscCrzr{)r�_UNPACK_FORMATSrwr~r	r	r
�get_shutil_unpack_formats��
z0saved_test_environment.get_shutil_unpack_formatscCr�r�)rr�r[r\r�r	r	r
�restore_shutil_unpack_formats�r�z4saved_test_environment.restore_shutil_unpack_formatscC�"|�d�}t|j�|j|j��fS�N�logging)rr5�	_handlersrw�rr�r	r	r
�get_logging__handlers�s
z,saved_test_environment.get_logging__handlerscC�dSr
r	)rZsaved_handlersr	r	r
�restore_logging__handlers��z0saved_test_environment.restore_logging__handlerscCrmr�)rr5�_handlerListr�r	r	r
�get_logging__handlerList�s
z/saved_test_environment.get_logging__handlerListcCr�r
r	)rZsaved_handlerListr	r	r
�restore_logging__handlerList�r�z3saved_test_environment.restore_logging__handlerListcCr4r
)r5r�warnoptionsr1r	r	r
�get_sys_warnoptions�r8z*saved_test_environment.get_sys_warnoptionscCr9r:)rr�)rZ
saved_optionsr	r	r
�restore_sys_warnoptions�r>z.saved_test_environment.restore_sys_warnoptionscCs
tj��Sr
)�	threading�	_danglingrwr1r	r	r
�get_threading__dangling�rz.saved_test_environment.get_threading__danglingcCstj��tj�|�dSr
)r�r�r[r\)rr�r	r	r
�restore_threading__dangling�r�z2saved_test_environment.restore_threading__danglingcCs|�d�}|��|j��S�Nzmultiprocessing.process)r�_cleanupr�rw)r�multiprocessing_processr	r	r
�%get_multiprocessing_process__dangling�s

z<saved_test_environment.get_multiprocessing_process__danglingcCs$|�d�}|j��|j�|�dSr�)rr�r[r\)rr�r�r	r	r
�)restore_multiprocessing_process__dangling�s

z@saved_test_environment.restore_multiprocessing_process__danglingcCs,|�d�}|�d�t|j�|jt|j�fS)N�	sysconfig�prefix)rZget_config_varr5�_CONFIG_VARSrY�rr�r	r	r
�get_sysconfig__CONFIG_VARS�s


�z1saved_test_environment.get_sysconfig__CONFIG_VARScCr��Nr�r;r<)rr�r[r\�rr�r�r	r	r
�restore_sysconfig__CONFIG_VARS�r�z5saved_test_environment.restore_sysconfig__CONFIG_VARScCr�)Nr�)rr5�_INSTALL_SCHEMESrwr�r	r	r
�get_sysconfig__INSTALL_SCHEMES�s
�z5saved_test_environment.get_sysconfig__INSTALL_SCHEMEScCr�r�)rr�r[r\r�r	r	r
�"restore_sysconfig__INSTALL_SCHEMES�r�z9saved_test_environment.restore_sysconfig__INSTALL_SCHEMEScCstdd�t��D��S)Ncss(�|]}|tj�|�r
dndVqdS)�/�N)r@r^�isdir)�.0�fnr	r	r
�	<genexpr>s� �z3saved_test_environment.get_files.<locals>.<genexpr>)�sortedr@�listdirr1r	r	r
�	get_filess�z saved_test_environment.get_filescCsZtj}||vr'|d|vr)tj�|�rt�|�dStj�|�r+t�|�dSdSdSdS)Nr�)rZTESTFNr@r^�isfiler%r��rmtree)rZsaved_valuer�r	r	r
�
restore_filess�z$saved_test_environment.restore_filescCs g|]}|�d�rtt|��qS)�LC_)�
startswith�getattrr)r��lcr	r	r
�
<listcomp>s�z!saved_test_environment.<listcomp>c
CsDg}|jD]}z
|�|t�|d�f�WqttfyYqw|Sr
)�_lc�appendr�	setlocale�	TypeError�
ValueError)rZpairingsr�r	r	r
�
get_locales
�z!saved_test_environment.get_localecCs|D]
\}}t�||�qdSr
)rr�)rr�r�Zsettingr	r	r
�restore_locales�z%saved_test_environment.restore_localecCr(rn)r�showwarningrqr	r	r
�get_warnings_showwarningr+z/saved_test_environment.get_warnings_showwarningcCr,rn)rr�)r�fxnror	r	r
�restore_warnings_showwarningr$z3saved_test_environment.restore_warnings_showwarningccsF�|jD]}|�dd�}d|}d|}|t||�t||�fVqdS)N�.�_Zget_Zrestore_)�	resources�replacer�)rrZ
method_suffix�get_nameZrestore_namer	r	r
�
resource_info#s�
�z$saved_test_environment.resource_infoc	CsPg|_|��D]\}}}z|�}Wn	tyYqw|j�||||f�q|Sr
)�saved_valuesr�rr�)rrru�restore�originalr	r	r
�	__enter__*s
�z saved_test_environment.__enter__c
Cs�|j}d|_t��|D]3\}}}}|�}	|	|kr?dt_||�|js?|js?t|�d|j���td|�d|	�d�t	j
dd�qdS)NTz was modified by z
  Before: z
  After:  � )�file�flushF)r�r�
gc_collectZenvironment_alteredrrrr�printrrQ)
r�exc_type�exc_val�exc_tbr�rrur�r��currentr	r	r
�__exit__5s��zsaved_test_environment.__exit__N)rF)Drrr�__doc__rr�rrr#r'r*r.r2r3r7r=rBrFrKrNrRrSrVrWrZr]r_r`rbrcrergrjrlrrrsrxryrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��dirrr�r�r�r�r�r�r�r�r	r	r	r
rs�
r)rirr@rr��testrZtest.supportrZtest.libregrtest.utilsr�	Exceptionrrr	r	r	r
�<module>s