HEX
Server: LiteSpeed
System: Linux atali.colombiahosting.com.co 5.14.0-570.12.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 13 06:11:55 EDT 2025 x86_64
User: coopserp (1713)
PHP: 8.2.29
Disabled: dl,exec,passthru,proc_open,proc_close,shell_exec,memory_limit,system,popen,curl_multi_exec,show_source,symlink,link,leak,listen,diskfreespace,tmpfile,ignore_user_abord,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setid,posix_times,posix_ttyname,posix_uname,proc_get_status,proc_nice,proc_terminate
Upload Files
File: //usr/local/lib64/python3.9/site-packages/psutil/tests/__pycache__/test_testutils.cpython-39.pyc
a

��?h�H�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Z
ddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*ddlm+Z+dd lm,Z,dd!lm-Z-dd"lm.Z.dd#lm/Z/dd$lm0Z0dd%lm1Z1dd&lm2Z2dd'lm3Z3dd(lm4Z4Gd)d*�d*e�Z5Gd+d,�d,e�Z6Gd-d.�d.e�Z7Gd/d0�d0e�Z8Gd1d2�d2e�Z9e)j:j;d3d4�Gd5d6�d6e��Z<Gd7d8�d8e�Z=Gd9d:�d:e�Z>Gd;d<�d<e�Z?dS)=z1Tests for testing utils (psutil.tests namespace).�N)�FREEBSD)�NETBSD)�POSIX)�open_binary)�	open_text)�
supports_ipv6)�PY3)�
CI_TESTING)�COVERAGE)�HAS_NET_CONNECTIONS_UNIX)�HERE)�
PYTHON_EXE)�PYTHON_EXE_ENV)�PsutilTestCase)�TestMemoryLeak)�bind_socket)�bind_unix_socket��
call_until)�chdir)�create_sockets)�fake_pytest)�filter_proc_net_connections)�
get_free_port)�
is_namedtuple)�mock)�process_namespace)�pytest)�
reap_children)�retry)�retry_on_failure)�
safe_mkdir)�safe_rmpath)�system_namespace)�tcp_socketpair)�	terminate)�unix_socketpair)�
wait_for_file)�wait_for_pidc@sxeZdZe�d�dd��Ze�d�dd��Ze�d�dd��Ze�d�dd	��Ze�d�d
d��Z	e�d�dd
��Z
dS)�TestRetryDecoratorz
time.sleepcsFtdddd��fdd��}ttd���|�dks4J�|jdksBJ�dS)N����retries�intervalZlogfuncs�r���ddqdS�Nr+r��pop���queuer2�G/usr/local/lib64/python3.9/site-packages/psutil/tests/test_testutils.py�fooIs
z2TestRetryDecorator.test_retry_success.<locals>.foo�)r�list�range�
call_count��self�sleepr6r2r3r5�test_retry_successEs
z%TestRetryDecorator.test_retry_successcshtdddd��fdd��}ttd���t�t��|�Wd�n1sL0Y|jdksdJ�dS)Nr*r+r,cs�r���ddqdSr/r0r2r3r2r5r6Ws
z2TestRetryDecorator.test_retry_failure.<locals>.foo�)rr8r9r�raises�ZeroDivisionErrorr:r;r2r3r5�test_retry_failureTs$z%TestRetryDecorator.test_retry_failurecCsVttdd�dd��}t�t��|�Wd�n1s:0Y|jdksRJ�dS)Nr+)�	exceptionr.cSst�dS�N)�	TypeErrorr2r2r2r5r6esz2TestRetryDecorator.test_exception_arg.<locals>.foor)r�
ValueErrorrr@rEr:r;r2r2r5�test_exception_argcs


$z%TestRetryDecorator.test_exception_argcCsXtdddd�dd��}t�t��|�Wd�n1s<0Y|jdksTJ�dS)Nr*r,cSsdddSr/r2r2r2r2r5r6qsz4TestRetryDecorator.test_no_interval_arg.<locals>.foor�rrr@rAr:r;r2r2r5�test_no_interval_argms

$z'TestRetryDecorator.test_no_interval_argcCsXtdddd�dd��}t�t��|�Wd�n1s<0Y|jdksTJ�dS)Nr*r+r,cSsdddSr/r2r2r2r2r5r6{sz0TestRetryDecorator.test_retries_arg.<locals>.foorHr;r2r2r5�test_retries_argys

$z#TestRetryDecorator.test_retries_argcCs:t�t��tddd�Wd�n1s,0YdS)Nr*r+)r-�timeout)rr@rFr)r<r=r2r2r5�test_retries_and_timeout_args�sz0TestRetryDecorator.test_retries_and_timeout_argsN)�__name__�
__module__�__qualname__r�patchr>rBrGrIrJrLr2r2r2r5r)Ds


	

	r)c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestSyncTestUtilsc	Cs�tt���tt���d}tjdtdg�d��Dt	�
tj��t|�Wd�n1s\0YWd�n1sz0YdS)Ni���psutil.tests.retry.__iter__r�Zreturn_value)r(�os�getpid�max�psutilZpidsrrP�iterrr@Z
NoSuchProcess)r<Znopidr2r2r5�test_wait_for_pid�s
z#TestSyncTestUtils.test_wait_for_pidcCsX|��}t|d��}|�d�Wd�n1s20Yt|�tj�|�rTJ�dS)N�wr6��
get_testfn�open�writer'rT�path�exists�r<�testfn�fr2r2r5�test_wait_for_file�s
(z$TestSyncTestUtils.test_wait_for_filecCsR|��}t|d��Wd�n1s(0Yt|dd�tj�|�rNJ�dS)NrZT)�empty)r\r]r'rTr_r`�r<rbr2r2r5�test_wait_for_file_empty�s
z*TestSyncTestUtils.test_wait_for_file_emptyc	Csr|��}tjdtdg�d��Bt�t��t|�Wd�n1sF0YWd�n1sd0YdS)NrRrrS)r\rrPrXrr@�IOErrorr'rfr2r2r5�test_wait_for_file_no_file�sz,TestSyncTestUtils.test_wait_for_file_no_filecCs\|��}t|d��}|�d�Wd�n1s20Yt|dd�tj�|�sXJ�dS)NrZr6F)�deleter[rar2r2r5�test_wait_for_file_no_delete�s
(z.TestSyncTestUtils.test_wait_for_file_no_deletecCstdd��dS)NcSsdS�Nr+r2r2r2r2r5�<lambda>��z3TestSyncTestUtils.test_call_until.<locals>.<lambda>r�r<r2r2r5�test_call_until�sz!TestSyncTestUtils.test_call_untilN)	rMrNrOrYrdrgrirkrpr2r2r2r5rQ�srQc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestFSTestUtilscCs:tt��}|jdksJ�Wd�n1s,0YdS)N�r)r�__file__�mode�r<rcr2r2r5�test_open_text�s
zTestFSTestUtils.test_open_textcCs:tt��}|jdksJ�Wd�n1s,0YdS)N�rb)rrsrtrur2r2r5�test_open_binary�s
z TestFSTestUtils.test_open_binarycCs<|��}t|�tj�|�s J�t|�tj�|�s8J�dSrD)r\r!rTr_�isdirrfr2r2r5�test_safe_mkdir�s
zTestFSTestUtils.test_safe_mkdirc	Cs�|��}t|d���t|�tj�|�r.J�t|�t�|�t|�tj�|�rXJ�tj	dt
tjd�d��L}t
�t
��t|�Wd�n1s�0Y|js�J�Wd�n1s�0YdS)NrZzpsutil.tests.os.stat�)Zside_effect)r\r]�closer"rTr_r`�mkdirrrP�OSError�errno�EINVALrr@�called)r<rb�mr2r2r5�test_safe_rmpath�s
�&z TestFSTestUtils.test_safe_rmpathcCsp|��}t��}t�|�t|��*t��tj�||�ks>J�Wd�n1sR0Yt��|kslJ�dSrD)r\rT�getcwdr}rr_�join)r<rb�baser2r2r5�
test_chdir�s

8zTestFSTestUtils.test_chdirN)rMrNrOrvrxrzr�r�r2r2r2r5rq�s
rqc@s>eZdZdd�Zdd�Zejjedd�dd��Z	d	d
�Z
dS)�TestProcessUtilscCsN|��}t�|j�}|��s J�t�|��r2J�tjjr>J�tjjrJJ�dSrD)	�spawn_testprocrW�Process�pid�
is_runningr�testsZ
_pids_startedZ_subprocesses_started)r<Zsubp�pr2r2r5�test_reap_children�sz#TestProcessUtils.test_reap_childrencCs�|��\}}|j|jksJ�|��s(J�|��s4J�t����}||gksNJ�t��jdd�}t|�dksnJ�||vszJ�||vs�J�|��t�	�ks�J�|��|jks�J�t
|�|��r�J�|��s�J�t
|�|��r�J�dS)NT)�	recursive�)Zspawn_children_pairr�r�rWr��children�len�ppidrTrUr%)r<�childZ
grandchildr�r2r2r5�test_spawn_children_pair�s"z)TestProcessUtils.test_spawn_children_pair�
POSIX only��reasoncCs"|��\}}|��tjksJ�dSrD)�spawn_zombie�statusrWZ
STATUS_ZOMBIE)r<�_parent�zombier2r2r5�test_spawn_zombie�sz"TestProcessUtils.test_spawn_zombiecCs�|��}t|�|�|j�t|�t�|��j�}t|�|�|j�t|�tddg}tj|tj	tj	t
d�}t|�|�|j�t|�|��j}t|�|�|j�t|�tr�|��\}}t|�t|�|�|j�|�|j�dS)Nz-cz3import time; [time.sleep(0.1) for x in range(100)];)�stdout�stderr�env)
r�r%Z
assertPidGoner�rWr�r
�Popen�
subprocess�PIPErrr�)r<r��cmdr��parentr�r2r2r5�test_terminates>��
zTestProcessUtils.test_terminateN)rMrNrOr�r�r�mark�skipifrr�r�r2r2r2r5r��s
	
r�c@sleZdZdd�Zejjedd�dd��Zdd�Z	ejjedd�ejje
pNed	d�d
d���Zdd
�Z
dS)�TestNetUtilscCsRt�}t�td|fd���$}|��d|ks0J�Wd�n1sD0YdS)Nr{��addrr+)r�
contextlib�closingr�getsockname)r<�port�sr2r2r5r+szTestNetUtils.bind_socketr�r�cCs�|��}t|�}t�|��f|jtjks,J�|jtjks<J�|�	�|ksLJ�t
j�|�s\J�t
�t
�
|�j�srJ�Wd�n1s�0Y|��}t|tjd�}t�|�� |jtjks�J�Wd�n1s�0YdS)N)�type)r\rr�r��family�socket�AF_UNIXr��SOCK_STREAMr�rTr_r`�stat�S_ISSOCK�st_mode�
SOCK_DGRAM)r<�name�sockr2r2r5�test_bind_unix_socket0s4z"TestNetUtils.test_bind_unix_socketc	Cs�dt�f}ttj|d�\}}t�|��jt�|��@|��|ksDJ�|��|ksTJ�|��|ksdJ�Wd�n1sx0YWd�n1s�0YdS)Nz	127.0.0.1r�)rr$r��AF_INETr�r�r��getpeername)r<r��server�clientr2r2r5�tcp_tcp_socketpair@s
zTestNetUtils.tcp_tcp_socketpairz*/var/run/log UNIX socket opened by defaultcCs�t��}|��}t|jdd��gks(J�|��}t|�\}}z�tj�	|�sNJ�t
�t�
|�j�sdJ�|��|dksxJ�t
t|jdd���dks�J�|��|ks�J�|��|ks�J�W|��|��n|��|��0dS)N�unix)�kindr�)rWr��num_fdsrZnet_connectionsr\r&rTr_r`r�r�r�r�r�r�r|)r<r�r�r�r�r�r2r2r5�test_unix_socketpairKs,����
�z!TestNetUtils.test_unix_socketpaircCs�t���}t�t�}t�t�}|D]2}||jd7<||�tjtj�d7<q |tj	dksfJ�t
�r~|tjdks~J�tr�t
r�|tjdks�J�|tjdks�J�|tjdks�J�Wd�n1s�0YdS)Nr+r�)r�collections�defaultdict�intr��
getsockoptr��
SOL_SOCKET�SO_TYPEr�r�AF_INET6rrr�r�r�)r<�socksZfams�typesr�r2r2r5�test_create_socketsgs

z TestNetUtils.test_create_socketsN)rMrNrOrrr�r�rr�r�rrr�r�r2r2r2r5r�*s
�r��serial�r�c@sheZdZe�dd��Zdd�Ze�ejje	dd�ejje
dd�dd	����Zd
d�Zdd
�Z
dd�ZdS)�TestMemLeakClasscs8�fdd�}ddi�|j|ddd��ddks4J�dS)	Ncs�dd7<dS)N�cntr+r2r2�r�r2r5�fun|sz(TestMemLeakClass.test_times.<locals>.funr�r�
�)�times�warmup_times�)�execute)r<r�r2r�r5�
test_timeszszTestMemLeakClass.test_timescCs2t�t��"|jdd�dd�Wd�n1s20Yt�t��"|jdd�dd�Wd�n1sn0Yt�t��"|jdd�dd�Wd�n1s�0Yt�t��"|jd	d�dd
�Wd�n1s�0Yt�t��"|jdd�dd�Wd�n1�s$0YdS)
NcSsdS�Nrr2r2r2r2r5rm�rnz1TestMemLeakClass.test_param_err.<locals>.<lambda>r�r�cSsdSr�r2r2r2r2r5rm�rn���cSsdSr�r2r2r2r2r5rm�rn)r�cSsdSr�r2r2r2r2r5rm�rn)�	tolerancecSsdSr�r2r2r2r2r5rm�rn)r-)rr@rFr�ror2r2r5�test_param_err�s0000zTestMemLeakClass.test_param_errz
skipped on CIr�zskipped during test coveragecCs\g}|fdd�}zBtjtdd��|j|dd�Wd�n1sD0YW~n~0dS)NcSs|�dd�dS)NZ�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���append��lsr2r2r5r��sz+TestMemLeakClass.test_leak_mem.<locals>.funz	extra-mem��match�dr�)rr@�AssertionErrorr�)r<r�r�r2r2r5�
test_leak_mem�s.zTestMemLeakClass.test_leak_memcs^��fdd�}g�trdnd}tjtd|d����|�Wd�n1sP0YdS)Ncs"tt�}��|j���|�dSrD)r]rsZ
addCleanupr|r�)rc�Zboxr<r2r5r��sz1TestMemLeakClass.test_unclosed_files.<locals>.fun�fd�handlez	unclosed r�)rrr@r�r�)r<r�r�r2r�r5�test_unclosed_files�s
z$TestMemLeakClass.test_unclosed_filescs>�fdd�}g�d}|j||ddd�t��|dks:J�dS)Ncs��dd�dS)NZxxxxxxxxxxxxxxxxxxxxxxxxr�r�r2r�r2r5r��sz,TestMemLeakClass.test_tolerance.<locals>.funr�ri�)r�r�r�r+)r�r�)r<r�r�r2r�r5�test_tolerance�s�zTestMemLeakClass.test_tolerancecCs�dd�}|�t|�t�t��|�t|�Wd�n1s@0Ydd�}t�t��|�t|�Wd�n1s~0YdS)NcSsdddSr/r2r2r2r2r5�fun_1�sz2TestMemLeakClass.test_execute_w_exc.<locals>.fun_1cSsdSrDr2r2r2r2r5�fun_2�sz2TestMemLeakClass.test_execute_w_exc.<locals>.fun_2)Z
execute_w_excrArr@r~r�)r<r�r�r2r2r5�test_execute_w_exc�s*z#TestMemLeakClass.test_execute_w_excN)rMrNrOr r�r�rr�r�r	r
r�r�r�r�r2r2r2r5r�xs

r�c@sVeZdZdd�Zdd�Zdd�Zdd�Zejj	e
d	d
�dd��Zd
d�Zdd�Z
dS)�TestFakePytestcCs(t��}|�|�t��}|�|�}|SrD)�unittestZ	TestSuiteZaddTestZTextTestRunner�run)r<�klass�suite�runner�resultr2r2r5�run_test_class�s


zTestFakePytest.run_test_classc
Cs�t�t��}ddWd�n1s(0Yt|jt�sBJ�tjtdd��}td��Wd�n1sn0Yz:tjtdd��}td��Wd�n1s�0YWn4ty�}zt|�dks�J�WYd}~nd}~00|�d��dS)Nr+rr6r��barz"foo" does not match "bar"�exception not raised)	rr@rA�
isinstance�valuerFr��str�fail)r<�cm�errr2r2r5�test_raises�s&&*&zTestFakePytest.test_raisescCsVtjjdd�dd��}|�dks$J�tjjdd�Gdd�d��}|���dksRJ�dS)Nr�r�cSsdSrlr2r2r2r2r5r6�sz%TestFakePytest.test_mark.<locals>.foor+c@seZdZdd�ZdS)z%TestFakePytest.test_mark.<locals>.FoocSsdSrlr2ror2r2r5r��sz)TestFakePytest.test_mark.<locals>.Foo.barN)rMrNrOr�r2r2r2r5�Foo�sr)rr��xdist_groupr�)r<r6rr2r2r5�	test_mark�s
zTestFakePytest.test_markcCs�Gdd�dtj�}|�|d��}|��s,J�t|j�dks>J�|jdddksTJ�Gdd�dtj�}|�|d��}|��s�J�t|j�dks�J�dS)Nc@s$eZdZejjddd�dd��ZdS)�,TestFakePytest.test_skipif.<locals>.TestCaseTr�r�cSsddksJ�dSrlr2ror2r2r5r6�s�0TestFakePytest.test_skipif.<locals>.TestCase.fooN�rMrNrOrr�r�r6r2r2r2r5�TestCase�srr6r+rr�c@s$eZdZejjddd�dd��ZdS)r	Fr�r�cSsddksJ�dSrlr2ror2r2r5r6�sr
Nrr2r2r2r5r�s�r�rr�Z
wasSuccessfulr��skipped�r<rr�r2r2r5�test_skipif�szTestFakePytest.test_skipifznot PY3r�cCsXGdd�dtj�}|�|d��}|��s,J�t|j�dks>J�|jdddksTJ�dS)Nc@seZdZdd�ZdS)z*TestFakePytest.test_skip.<locals>.TestCasecSst�d�ddksJ�dS)Nr�r+r)r�skipror2r2r5r6s
z.TestFakePytest.test_skip.<locals>.TestCase.fooN)rMrNrOr6r2r2r2r5rsrr6r+rr�r
rr2r2r5�	test_skip�s
zTestFakePytest.test_skipc	Cs|jtd�}t�|�ttj�|d�d��Wd�n1s@0Yttj�|d�d��$}|�t�	d��
��Wd�n1s�0Ytj�
tjd|��T|�td��(t��}|��dks�J�Wd�n1s�0YWd�n1s�0YdS)	N)�dirz__init__.pyrZztest_file.pyz�                import unittest

                class TestCase(unittest.TestCase):
                    def test_passed(self):
                        pass
                rzFake pytest module was usedr+)r\rrTr}r]r_r�r^�textwrap�dedent�lstriprrP�objectrWr�ZassertWarnsRegex�UserWarningr�mainZcountTestCases)r<Ztmpdirrcr�r2r2r5�	test_main
s
2�zTestFakePytest.test_maincCs<t�t�� tjdtdd�Wd�n1s00Yz>t�t�� tjdtdd�Wd�n1sl0YWnty�Yn0|�d��tjtdd�� tjdtdd�Wd�n1s�0YzDtjtdd�� tjdtdd�Wd�n1�s0YWnt�y,Yn0|�d��dS)Nr6r+)�
stacklevelr�r�r�)rZwarnsr�warnings�warn�DeprecationWarningr�rror2r2r5�
test_warnss .2
.4zTestFakePytest.test_warnsN)rMrNrOr�rrrrr�r�rrrrr2r2r2r5r��s
r�c@seZdZdd�Zdd�ZdS)�TestTestingUtilscCsLt��}t|�}|��dd�|�|j�D�dd}|�|��ksHJ�dS)NcSsg|]}|ddkr|�qS)r+r�r2��.0�xr2r2r5�
<listcomp>?rnz;TestTestingUtils.test_process_namespace.<locals>.<listcomp>r)rWr�r�testrX�gettersr�)r<r��nsr�r2r2r5�test_process_namespace;s
z'TestTestingUtils.test_process_namespacecCs:t�}dd�|�|j�D�dd}|�t��ks6J�dS)NcSsg|]}|ddkr|�qS)r+�net_if_addrsr2r!r2r2r5r$Drnz:TestTestingUtils.test_system_namespace.<locals>.<listcomp>r)r#rXr&rWr))r<r'r�r2r2r5�test_system_namespaceBsz&TestTestingUtils.test_system_namespaceN)rMrNrOr(r*r2r2r2r5r :sr c@seZdZdd�ZdS)�TestOtherUtilscCs.tt�dd�ddd��sJ�tt��r*J�dS)Nr6za b cr+r�r7)rr��
namedtuple�tupleror2r2r5�test_is_namedtupleIsz!TestOtherUtils.test_is_namedtupleN)rMrNrOr.r2r2r2r5r+Hsr+)@�__doc__r�r�rrTr�r�r�rr�rrWZpsutil.testsrrrZpsutil._commonrrrZpsutil._compatrr	r
rrr
rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)rQrqr�r�r�rr�r�r r+r2r2r2r5�<module>sxE(-LNKv