HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: //proc/276314/root/usr/lib/python3.9/test/libregrtest/__pycache__/save_env.cpython-39.pyc
a

kx�g(.�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z
ddlZddlm
Z
ddlmZzddlZddlZWney�dZYn0Gdd�d�ZdS)�N)�support)�
print_warningc@seZdZdZdZd}dd�dd�ZdZdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�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;�Z d<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[�Z0d\d]�Z1d^d_�Z2d`da�Z3dbdc�Z4ddde�Z5dfdg�Z6dhdi�Z7djdk�Z8dldm�e9e:�D�Z;dndo�Z<dpdq�Z=drds�Z>dtdu�Z?dvdw�Z@dxdy�ZAdzd{�ZBd|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 attribute 'changed'
    is initially False, but 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.
    Fr)�pgocCs||_||_||_||_dS�N)�testname�verbose�quietr)�selfrrr	r�r�//usr/lib/python3.9/test/libregrtest/save_env.py�__init__,szsaved_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ttjj�Sr)�list�urllib�requestZ_url_tempfiles�r
rrr�"get_urllib_requests__url_tempfilesKsz9saved_test_environment.get_urllib_requests__url_tempfilescCs|D]}t�|�qdSr)r�unlink)r
Z	tempfiles�filenamerrr�&restore_urllib_requests__url_tempfilesMsz=saved_test_environment.restore_urllib_requests__url_tempfilescCstjjSr�rrZ_openerrrrr�get_urllib_requests__openerQsz2saved_test_environment.get_urllib_requests__openercCs|tj_dSrr)r
Zopenerrrr�restore_urllib_requests__openerSsz6saved_test_environment.restore_urllib_requests__openercCst��Sr)rZmaybe_get_event_loop_policyrrrr�%get_asyncio_events__event_loop_policyVsz<saved_test_environment.get_asyncio_events__event_loop_policycCst�|�dSr)�asyncioZset_event_loop_policy)r
Zpolicyrrr�)restore_asyncio_events__event_loop_policyXsz@saved_test_environment.restore_asyncio_events__event_loop_policycCsttj�tjtjdd�fSr)�id�sys�argvrrrr�get_sys_argv[sz#saved_test_environment.get_sys_argvcCs |dt_|dtjdd�<dS�N��)r!r")r
Z
saved_argvrrr�restore_sys_argv]s
z'saved_test_environment.restore_sys_argvcCst��Sr)�os�getcwdrrrr�get_cwdaszsaved_test_environment.get_cwdcCst�|�dSr)r(�chdir)r
Z	saved_cwdrrr�restore_cwdcsz"saved_test_environment.restore_cwdcCstjSr�r!�stdoutrrrr�get_sys_stdoutfsz%saved_test_environment.get_sys_stdoutcCs
|t_dSrr-)r
Zsaved_stdoutrrr�restore_sys_stdouthsz)saved_test_environment.restore_sys_stdoutcCstjSr�r!�stderrrrrr�get_sys_stderrksz%saved_test_environment.get_sys_stderrcCs
|t_dSrr1)r
Zsaved_stderrrrr�restore_sys_stderrmsz)saved_test_environment.restore_sys_stderrcCstjSr�r!�stdinrrrr�
get_sys_stdinpsz$saved_test_environment.get_sys_stdincCs
|t_dSrr5)r
Zsaved_stdinrrr�restore_sys_stdinrsz(saved_test_environment.restore_sys_stdincCsttj�tjttj�fSr)r r(�environ�dictrrrr�get_os_environusz%saved_test_environment.get_os_environcCs(|dt_tj��tj�|d�dSr$)r(r9�clear�update)r
Z
saved_environrrr�restore_os_environws

z)saved_test_environment.restore_os_environcCsttj�tjtjdd�fSr)r r!�pathrrrr�get_sys_path|sz#saved_test_environment.get_sys_pathcCs |dt_|dtjdd�<dSr$)r!r?)r
Z
saved_pathrrr�restore_sys_path~s
z'saved_test_environment.restore_sys_pathcCsttj�tjtjdd�fSr)r r!�
path_hooksrrrr�get_sys_path_hooks�sz)saved_test_environment.get_sys_path_hookscCs |dt_|dtjdd�<dSr$)r!rB)r
Zsaved_hooksrrr�restore_sys_path_hooks�s
z-saved_test_environment.restore_sys_path_hookscCst��Sr)r!�gettracerrrr�get_sys_gettrace�sz'saved_test_environment.get_sys_gettracecCst�|�dSr)r!�settrace)r
Z	trace_fxnrrr�restore_sys_gettrace�sz+saved_test_environment.restore_sys_gettracecCstjSr��builtinsrrrrr�get___import__�sz%saved_test_environment.get___import__cCs
|t_dSrrI)r
�import_rrr�restore___import__�sz)saved_test_environment.restore___import__cCsttj�tjtjdd�fSr)r �warnings�filtersrrrr�get_warnings_filters�sz+saved_test_environment.get_warnings_filterscCs |dt_|dtjdd�<dSr$)rNrO)r
Z
saved_filtersrrr�restore_warnings_filters�s
z/saved_test_environment.restore_warnings_filterscCstj�d�}|r|j��piS)N�asyncore)r!�modules�get�
socket_map�copy)r
rRrrr�get_asyncore_socket_map�sz.saved_test_environment.get_asyncore_socket_mapcCs0tj�d�}|dur,|jdd�|j�|�dS)NrRT)Z
ignore_all)r!rSrTZ	close_allrUr=)r
Z	saved_maprRrrr�restore_asyncore_socket_map�sz2saved_test_environment.restore_asyncore_socket_mapcCstjtj��fSr)�shutil�_ARCHIVE_FORMATSrVrrrr�get_shutil_archive_formats�sz1saved_test_environment.get_shutil_archive_formatscCs(|dt_tj��tj�|d�dS�Nrr%)rYrZr<r=�r
�savedrrr�restore_shutil_archive_formats�s

z5saved_test_environment.restore_shutil_archive_formatscCstjtj��fSr)rY�_UNPACK_FORMATSrVrrrr�get_shutil_unpack_formats�sz0saved_test_environment.get_shutil_unpack_formatscCs(|dt_tj��tj�|d�dSr\)rYr`r<r=r]rrr�restore_shutil_unpack_formats�s

z4saved_test_environment.restore_shutil_unpack_formatscCsttj�tjtj��fSr)r �loggingZ	_handlersrVrrrr�get_logging__handlers�sz,saved_test_environment.get_logging__handlerscCsdSrr)r
Zsaved_handlersrrr�restore_logging__handlers�sz0saved_test_environment.restore_logging__handlerscCsttj�tjtjdd�fSr)r rcZ_handlerListrrrr�get_logging__handlerList�sz/saved_test_environment.get_logging__handlerListcCsdSrr)r
Zsaved_handlerListrrr�restore_logging__handlerList�sz3saved_test_environment.restore_logging__handlerListcCsttj�tjtjdd�fSr)r r!�warnoptionsrrrr�get_sys_warnoptions�sz*saved_test_environment.get_sys_warnoptionscCs |dt_|dtjdd�<dSr$)r!rh)r
Z
saved_optionsrrr�restore_sys_warnoptions�s
z.saved_test_environment.restore_sys_warnoptionscCs
tj��Sr)�	threading�	_danglingrVrrrr�get_threading__dangling�sz.saved_test_environment.get_threading__danglingcCstj��tj�|�dSr)rkrlr<r=r]rrr�restore_threading__dangling�s
z2saved_test_environment.restore_threading__danglingcCstsdStj��tjj��Sr)�multiprocessing�processZ_cleanuprlrVrrrr�%get_multiprocessing_process__dangling�s
z<saved_test_environment.get_multiprocessing_process__danglingcCs&tsdStjj��tjj�|�dSr)rorprlr<r=r]rrr�)restore_multiprocessing_process__dangling�sz@saved_test_environment.restore_multiprocessing_process__danglingcCs"t�d�ttj�tjttj�fS)N�prefix)�	sysconfigZget_config_varr �_CONFIG_VARSr:rrrr�get_sysconfig__CONFIG_VARS�s
�z1saved_test_environment.get_sysconfig__CONFIG_VARScCs(|dt_tj��tj�|d�dSr$)rtrur<r=r]rrr�restore_sysconfig__CONFIG_VARS�s

z5saved_test_environment.restore_sysconfig__CONFIG_VARScCsttj�tjtj��fSr)r rt�_INSTALL_SCHEMESrVrrrr�get_sysconfig__INSTALL_SCHEMES�s�z5saved_test_environment.get_sysconfig__INSTALL_SCHEMEScCs(|dt_tj��tj�|d�dSr$)rtrxr<r=r]rrr�"restore_sysconfig__INSTALL_SCHEMES�s

z9saved_test_environment.restore_sysconfig__INSTALL_SCHEMEScCstdd�t��D��S)Ncss&|]}|tj�|�rdndVqdS)�/�N)r(r?�isdir)�.0�fnrrr�	<genexpr>�s�z3saved_test_environment.get_files.<locals>.<genexpr>)�sortedr(�listdirrrrr�	get_files�s�z saved_test_environment.get_filescCsLtj}||vrH|d|vrHtj�|�r2t�|�ntj�|�rHt�|�dS)Nr{)rZTESTFNr(r?�isfilerr}Zrmtree)r
Zsaved_valuerrrr�
restore_files�sz$saved_test_environment.restore_filescCs g|]}|�d�rtt|��qS)ZLC_)�
startswith�getattrr)r~�lcrrr�
<listcomp>�s
�z!saved_test_environment.<listcomp>c
CsJg}|jD]:}z|�|t�|d�f�Wq
ttfyBYq
Yq
0q
|Sr)�_lc�appendr�	setlocale�	TypeError�
ValueError)r
Zpairingsr�rrr�
get_locale�s
z!saved_test_environment.get_localecCs|D]\}}t�||�qdSr)rr�)r
r^r�Zsettingrrr�restore_localesz%saved_test_environment.restore_localecCstjSr�rN�showwarningrrrr�get_warnings_showwarning	sz/saved_test_environment.get_warnings_showwarningcCs
|t_dSrr�)r
�fxnrrr�restore_warnings_showwarningsz3saved_test_environment.restore_warnings_showwarningccsD|jD]8}|�dd�}d|}d|}|t||�t||�fVqdS)N�.�_Zget_Zrestore_)�	resources�replacer�)r
�nameZ
method_suffixZget_nameZrestore_namerrr�
resource_infos

z$saved_test_environment.resource_infocCstdd�|��D��|_|S)Ncss|]\}}}||�fVqdSrr)r~r�rT�restorerrrr��z3saved_test_environment.__enter__.<locals>.<genexpr>)r:r��saved_valuesrrrr�	__enter__s�
z saved_test_environment.__enter__c
Cs�|j}|`t��|jtjO_|��D]n\}}}|�}|�|�}	||	kr*d|_||	�|js*|js*t	|�d|j
���td|	�d|�d�tj
dd�q*dS)NTz was modified by z
  Before: z
  After:  � )�file�flushF)r�rZ
gc_collect�changedZenvironment_alteredr��popr	rrr�printr!r2)
r
�exc_typeZexc_valZexc_tbr�r�rTr�ZcurrentZoriginalrrr�__exit__s 
�zsaved_test_environment.__exit__N)rF)C�__name__�
__module__�__qualname__�__doc__r�r
r�rrrrrrr#r'r*r,r/r0r3r4r7r8r;r>r@rArCrDrFrHrKrMrPrQrWrXr[r_rarbrdrerfrgrirjrmrnrqrrrvrwryrzr�r��dirrr�r�r�r�r�r�r�r�rrrrrs|
r)rrJrrcr(rYr!rtrkZurllib.requestrrN�testrZtest.libregrtest.utilsrZ_multiprocessingZmultiprocessing.processro�ImportErrorrrrrr�<module>s"